This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-102.4.0esr-12.0-2 in repository tor-browser.
commit 2d9fb2cb57bcc268da06f451a9e13d17587169bc Author: hackademix giorgio@maone.net AuthorDate: Thu Nov 10 19:56:30 2022 +0100
Revert "Bug 32220: Improve the letterboxing experience"
This reverts commit 7d37c04b9efb676678cfa34eb11c3014c83012be. --- browser/base/content/browser.css | 7 -- browser/base/content/tabbrowser-tab.js | 9 -- browser/themes/shared/tabs.css | 6 -- .../components/resistfingerprinting/RFPHelper.jsm | 97 +++------------------- 4 files changed, 12 insertions(+), 107 deletions(-)
diff --git a/browser/base/content/browser.css b/browser/base/content/browser.css index 2f181244982d..03a778809dc8 100644 --- a/browser/base/content/browser.css +++ b/browser/base/content/browser.css @@ -98,13 +98,6 @@ body { -moz-window-dragging: drag; }
-.browserStack > browser.letterboxing { - border-color: var(--chrome-content-separator-color); - border-style: solid; - border-width : 1px; - border-top: none; -} - #toolbar-menubar[autohide="true"] { overflow: hidden; } diff --git a/browser/base/content/tabbrowser-tab.js b/browser/base/content/tabbrowser-tab.js index 4243079a84b9..abcabb98503e 100644 --- a/browser/base/content/tabbrowser-tab.js +++ b/browser/base/content/tabbrowser-tab.js @@ -239,15 +239,6 @@ return true; }
- get needsLetterbox() { - let browser = this.linkedBrowser; - if (isBlankPageURL(browser.currentURI.spec)) { - return false; - } - - return true; - } - get lastAccessed() { return this._lastAccessed == Infinity ? Date.now() : this._lastAccessed; } diff --git a/browser/themes/shared/tabs.css b/browser/themes/shared/tabs.css index 9597205f7606..2eb7405c78d5 100644 --- a/browser/themes/shared/tabs.css +++ b/browser/themes/shared/tabs.css @@ -56,12 +56,6 @@ background-color: var(--tabpanel-background-color); }
-/* extend down the toolbar's colors when letterboxing is enabled*/ -#tabbrowser-tabpanels.letterboxing { - background-color: var(--toolbar-bgcolor); - background-image: var(--toolbar-bgimage); -} - #tabbrowser-tabs, #tabbrowser-arrowscrollbox, #tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned] { diff --git a/toolkit/components/resistfingerprinting/RFPHelper.jsm b/toolkit/components/resistfingerprinting/RFPHelper.jsm index 146e4a86514e..d2191ee14aa5 100644 --- a/toolkit/components/resistfingerprinting/RFPHelper.jsm +++ b/toolkit/components/resistfingerprinting/RFPHelper.jsm @@ -40,7 +40,6 @@ class _RFPHelper { // ============================================================================ constructor() { this._initialized = false; - this._borderDimensions = null; }
init() { @@ -353,24 +352,6 @@ class _RFPHelper { }); }
- getBorderDimensions(aBrowser) { - if (this._borderDimensions) { - return this._borderDimensions; - } - - const win = aBrowser.ownerGlobal; - const browserStyle = win.getComputedStyle(aBrowser); - - this._borderDimensions = { - top: parseInt(browserStyle.borderTopWidth), - right: parseInt(browserStyle.borderRightWidth), - bottom: parseInt(browserStyle.borderBottomWidth), - left: parseInt(browserStyle.borderLeftWidth), - }; - - return this._borderDimensions; - } - _addOrClearContentMargin(aBrowser) { let tab = aBrowser.getTabBrowser().getTabForBrowser(aBrowser);
@@ -379,13 +360,9 @@ class _RFPHelper { return; }
- // we add the letterboxing class even if the content does not need letterboxing - // in which case margins are set such that the borders are hidden - aBrowser.classList.add("letterboxing"); - // We should apply no margin around an empty tab or a tab with system // principal. - if (!tab.needsLetterbox || aBrowser.contentPrincipal.isSystemPrincipal) { + if (tab.isEmpty || aBrowser.contentPrincipal.isSystemPrincipal) { this._clearContentViewMargin(aBrowser); } else { this._roundContentView(aBrowser); @@ -553,32 +530,10 @@ class _RFPHelper { // Calculating the margins around the browser element in order to round the // content viewport. We will use a 200x100 stepping if the dimension set // is not given. - - const borderDimensions = this.getBorderDimensions(aBrowser); - const marginDims = calcMargins( - containerWidth, - containerHeight - borderDimensions.top - ); - - let margins = { - top: 0, - right: 0, - bottom: 0, - left: 0, - }; - - // snap browser element to top - margins.top = 0; - // and leave 'double' margin at the bottom - margins.bottom = 2 * marginDims.height - borderDimensions.bottom; - // identical margins left and right - margins.right = marginDims.width - borderDimensions.right; - margins.left = marginDims.width - borderDimensions.left; - - const marginStyleString = `${margins.top}px ${margins.right}px ${margins.bottom}px ${margins.left}px`; + let margins = calcMargins(containerWidth, containerHeight);
// If the size of the content is already quantized, we do nothing. - if (aBrowser.style.margin === marginStyleString) { + if (aBrowser.style.margin == `${margins.height}px ${margins.width}px`) { log("_roundContentView[" + logId + "] is_rounded == true"); if (this._isLetterboxingTesting) { log( @@ -599,35 +554,19 @@ class _RFPHelper { "_roundContentView[" + logId + "] setting margins to " + - marginStyleString + margins.width + + " x " + + margins.height ); - - // The margin background color is determined by the background color of the - // window's tabpanels#tabbrowser-tabpanels element - aBrowser.style.margin = marginStyleString; + // One cannot (easily) control the color of a margin unfortunately. + // An initial attempt to use a border instead of a margin resulted + // in offset event dispatching; so for now we use a colorless margin. + aBrowser.style.margin = `${margins.height}px ${margins.width}px`; }); }
_clearContentViewMargin(aBrowser) { - const borderDimensions = this.getBorderDimensions(aBrowser); - // set the margins such that the browser elements border is visible up top, but - // are rendered off-screen on the remaining sides - let margins = { - top: 0, - right: -borderDimensions.right, - bottom: -borderDimensions.bottom, - left: -borderDimensions.left, - }; - const marginStyleString = `${margins.top}px ${margins.right}px ${margins.bottom}px ${margins.left}px`; - aBrowser.ownerGlobal.requestAnimationFrame(() => { - aBrowser.style.margin = marginStyleString; - }); - } - - _removeLetterboxing(aBrowser) { - aBrowser.ownerGlobal.requestAnimationFrame(() => { - aBrowser.classList.remove("letterboxing"); aBrowser.style.margin = ""; }); } @@ -645,11 +584,6 @@ class _RFPHelper { aWindow.gBrowser.addTabsProgressListener(this); aWindow.addEventListener("TabOpen", this);
- const tabPanel = aWindow.document.getElementById("tabbrowser-tabpanels"); - if (tabPanel) { - tabPanel.classList.add("letterboxing"); - } - // Rounding the content viewport. this._updateMarginsForTabsInWindow(aWindow); } @@ -673,17 +607,10 @@ class _RFPHelper { tabBrowser.removeTabsProgressListener(this); aWindow.removeEventListener("TabOpen", this);
- // revert tabpanel's background colors to default - const tabPanel = aWindow.document.getElementById("tabbrowser-tabpanels"); - if (tabPanel) { - tabPanel.classList.remove("letterboxing"); - } - - // and revert each browser element to default, - // restore default margins and remove letterboxing class + // Clear all margins and tooltip for all browsers. for (let tab of tabBrowser.tabs) { let browser = tab.linkedBrowser; - this._removeLetterboxing(browser); + this._clearContentViewMargin(browser); } }