[tor-commits] [tor-browser] 01/06: Revert "Bug 32220: Improve the letterboxing experience"
gitolite role
git at cupani.torproject.org
Tue Nov 15 20:52:54 UTC 2022
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 at 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);
}
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the tor-commits
mailing list