diff -r 061d3ab4cc54 chrome/content/bindings.xml --- a/chrome/content/bindings.xml Thu Nov 05 17:02:22 2009 -0500 +++ b/chrome/content/bindings.xml Fri Nov 06 20:05:03 2009 +0100 @@ -46,17 +46,17 @@ - + @@ -636,17 +636,17 @@ - + @@ -870,16 +870,128 @@ func.call(this, event); } ]]> + + + + + + + + + + + + + + + + false + document.getAnonymousElementByAttribute(this, "anonid", "hscroller"); + document.getAnonymousElementByAttribute(this, "anonid", "vscroller"); + + 0 + + 0) ? window.innerWidth - (rect.width - rect.left) : 0; + this._hscroller.left = rect.width - offset - 8; + this._vscroller.top = rect.height - 8; + + this._hscroller.height = Math.max(50 * ((rect.height / h.value) * 8), 20); + this._vscroller.width = Math.max(50 * ((rect.width / w.value) * 8), 20); + + this._hscroller.hidden = (rect.height == h.value); + this._vscroller.hidden = (rect.width == w.value); + + this._hRatio = Math.round((rect.height - this._hscroller.height) / (h.value - rect.height) * 1000) / 1000; + this._wRatio = Math.round((rect.width - this._vscroller.width) / (w.value - rect.width) * 1000) / 1000; + + + let scrollbox = this._scrollbox; + let hscroller = this._hscroller; + let vscroller = this._vscroller; + let hRatio = this._hRatio; + let wRatio = this._wRatio; + + if (this._vscroller.hidden) { + this._update = function() hscroller.top = (scrollbox.scrollTop * hRatio); + } + else if(this._hscroller.hidden) { + this._update = function() vscroller.left = (scrollbox.scrollLeft * wRatio); + } + else { + this._update = function() { + hscroller.top = (scrollbox.scrollTop * hRatio); + vscroller.left = (scrollbox.scrollLeft * wRatio); + } + } + + let self = this; + this._interval = setInterval(function() { + if (Date.now() > self._timestamp) + self.hideScrollers(); + }, 2000); + this.visible = true; + ]]> + + + + + + + + + document.getAnonymousElementByAttribute(this, "anonid", "scrollbox"); + + + + + + + null + + + + + + + diff -r 061d3ab4cc54 chrome/content/browser.css --- a/chrome/content/browser.css Thu Nov 05 17:02:22 2009 -0500 +++ b/chrome/content/browser.css Fri Nov 06 20:05:03 2009 +0100 @@ -89,16 +89,21 @@ menulist { -moz-binding: url("chrome://browser/content/bindings.xml#menulist"); } #select-list > option { -moz-binding: url("chrome://browser/content/bindings.xml#chrome-select-option"); } /* richlist defaults ------------------------------------------------------- */ +[pannable="true"] > scrollbox, +scrollbox[pannable="true"] { + -moz-binding: url("chrome://browser/content/bindings.xml#scrollbox"); +} + richlistitem { -moz-binding: url("chrome://browser/content/bindings.xml#richlistitem"); } richlistitem[typeName="local"] { -moz-binding: url("chrome://browser/content/bindings/extensions.xml#extension-local"); } diff -r 061d3ab4cc54 chrome/content/browser.xul --- a/chrome/content/browser.xul Thu Nov 05 17:02:22 2009 -0500 +++ b/chrome/content/browser.xul Fri Nov 06 20:05:03 2009 +0100 @@ -231,17 +231,17 @@ - + - +