diff options
Diffstat (limited to 'browser/components/customizableui/ScrollbarSampler.jsm')
-rw-r--r-- | browser/components/customizableui/ScrollbarSampler.jsm | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/browser/components/customizableui/ScrollbarSampler.jsm b/browser/components/customizableui/ScrollbarSampler.jsm deleted file mode 100644 index 44736e4c4..000000000 --- a/browser/components/customizableui/ScrollbarSampler.jsm +++ /dev/null @@ -1,65 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -"use strict"; - -this.EXPORTED_SYMBOLS = ["ScrollbarSampler"]; - -const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; - -Cu.import("resource://gre/modules/Services.jsm"); -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); - -var gSystemScrollbarWidth = null; - -this.ScrollbarSampler = { - getSystemScrollbarWidth: function() { - if (gSystemScrollbarWidth !== null) { - return Promise.resolve(gSystemScrollbarWidth); - } - - return new Promise(resolve => { - this._sampleSystemScrollbarWidth().then(function(systemScrollbarWidth) { - gSystemScrollbarWidth = systemScrollbarWidth; - resolve(gSystemScrollbarWidth); - }); - }); - }, - - resetSystemScrollbarWidth: function() { - gSystemScrollbarWidth = null; - }, - - _sampleSystemScrollbarWidth: function() { - let hwin = Services.appShell.hiddenDOMWindow; - let hdoc = hwin.document.documentElement; - let iframe = hwin.document.createElementNS("http://www.w3.org/1999/xhtml", - "html:iframe"); - iframe.setAttribute("srcdoc", '<body style="overflow-y: scroll"></body>'); - hdoc.appendChild(iframe); - - let cwindow = iframe.contentWindow; - let utils = cwindow.QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIDOMWindowUtils); - - return new Promise(resolve => { - cwindow.addEventListener("load", function onLoad(aEvent) { - cwindow.removeEventListener("load", onLoad); - let sbWidth = {}; - try { - utils.getScrollbarSize(true, sbWidth, {}); - } catch (e) { - Cu.reportError("Could not sample scrollbar size: " + e + " -- " + - e.stack); - sbWidth.value = 0; - } - // Minimum width of 10 so that we have enough padding: - sbWidth.value = Math.max(sbWidth.value, 10); - resolve(sbWidth.value); - iframe.remove(); - }); - }); - } -}; -Object.freeze(this.ScrollbarSampler); |