File: scrollbar.xml

package info (click to toggle)
iceweasel 2.0.0.19-0etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 298,784 kB
  • ctags: 317,912
  • sloc: cpp: 1,796,902; ansic: 987,677; xml: 109,036; makefile: 47,777; asm: 35,201; perl: 26,983; sh: 20,879; cs: 6,232; java: 5,513; python: 3,249; pascal: 459; lex: 306; php: 244; csh: 132; objc: 97; yacc: 79; ada: 49; awk: 14; sql: 4; sed: 4
file content (82 lines) | stat: -rw-r--r-- 3,768 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?xml version="1.0"?>

<bindings id="scrollbarBindings"
   xmlns="http://www.mozilla.org/xbl"
   xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
   xmlns:xbl="http://www.mozilla.org/xbl">
  
  <binding id="thumb" extends="xul:button">
    <content>
      <xul:gripper/>
    </content>
  </binding>

  <binding id="scrollbar-base">
    <handlers>
      <handler event="contextmenu" preventdefault="true" action="event.stopPropagation();"/>
      <handler event="click" preventdefault="true" action="event.stopPropagation();"/>
      <handler event="dblclick" action="event.stopPropagation();"/>
      <handler event="command" action="event.stopPropagation();"/>
    </handlers>
  </binding>
  
  <binding id="scrollbar" extends="chrome://global/content/bindings/scrollbar.xml#scrollbar-base">
    <content>
      <xul:scrollbarbutton sbattr="scrollbar-up-top" type="decrement" xbl:inherits="disabled,sborient=orient"/>
      <xul:scrollbarbutton sbattr="scrollbar-down-top" type="increment" hidden="true" xbl:inherits="disabled,sborient=orient"/>
      <xul:slider flex="1" xbl:inherits="disabled,curpos,maxpos,pageincrement,increment,orient,sborient=orient">
        <xul:thumb sbattr="scrollbar-thumb" xbl:inherits="orient,sborient=orient,collapsed=disabled" 
                   align="center" pack="center" flex="1"/>
      </xul:slider>
      <xul:scrollbarbutton sbattr="scrollbar-up-bottom" type="decrement" hidden="true" xbl:inherits="disabled,sborient=orient"/>
      <xul:scrollbarbutton sbattr="scrollbar-down-bottom" type="increment" xbl:inherits="disabled,sborient=orient"/>
    </content>
    
    <implementation>
      <constructor>
        if (navigator.platform.indexOf("Mac") != -1)
          this.initScrollbar();
      </constructor>

      <method name="initScrollbar">
        <body>
          <![CDATA[
            try {
              var scrollbarStyle = this.boxObject.getLookAndFeelMetric("scrollbarStyle");
              var thumbStyle = this.boxObject.getLookAndFeelMetric("thumbStyle");
              var downTop;
              var upBottom;
              if ( scrollbarStyle == "double" ) {
                downTop = document.getAnonymousElementByAttribute(this, "sbattr", "scrollbar-down-top");
                upBottom = document.getAnonymousElementByAttribute(this, "sbattr", "scrollbar-up-bottom");
                downTop.removeAttribute("hidden");
                upBottom.removeAttribute("hidden");
              }
              else if ( scrollbarStyle == "doubletop" ) {
                downTop = document.getAnonymousElementByAttribute(this, "sbattr", "scrollbar-down-top");
                var downBottom = document.getAnonymousElementByAttribute(this, "sbattr", "scrollbar-down-bottom");
                downTop.removeAttribute("hidden");
                downBottom.setAttribute("hidden","true");
              }
              else if ( scrollbarStyle == "doublebottom" ) {
                var upTop = document.getAnonymousElementByAttribute(this, "sbattr", "scrollbar-up-top");
                upBottom = document.getAnonymousElementByAttribute(this, "sbattr", "scrollbar-up-bottom");
                upTop.setAttribute("hidden","true");
                upBottom.removeAttribute("hidden");
              }
              if ( thumbStyle == "fixed" ) {
                var thumb = document.getAnonymousElementByAttribute(this, "sbattr","scrollbar-thumb");
                if ( thumb )
                  thumb.removeAttribute("flex");
              }
            }
            catch ( x ) {
              //throw "Scrollbars in this skin are not properly supporting mac smart-scrolling prefs!";
            }
          ]]>
        </body>
      </method>
    </implementation>
  </binding>
</bindings>