ma1 pushed to branch mullvad-browser-115.9.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser
Commits: bec1f691 by hackademix at 2024-03-13T20:37:37+01:00 Bug 42443: Shrink window to match letterboxing size when the emtpy area is clicked.
- - - - -
1 changed file:
- toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
Changes:
===================================== toolkit/components/resistfingerprinting/RFPHelper.sys.mjs ===================================== @@ -750,8 +750,27 @@ class _RFPHelper { }); }
+ // We will attach this method to each browser window. When called + // it will instantly resize the window to exactly fit the selected + // (possibly letterboxed) browser. + shrinkToLetterbox() { + let { selectedBrowser } = this.gBrowser; + let stack = selectedBrowser.closest(".browserStack"); + const outer = stack.getBoundingClientRect(); + const inner = selectedBrowser.getBoundingClientRect(); + this.resizeBy(inner.width - outer.width, inner.height - outer.height); + } + + _onWindowDoubleClick(e) { + if (e.target.classList.contains("browserStack")) { + e.currentTarget.shrinkToLetterbox(); + } + } + _attachWindow(aWindow) { aWindow.addEventListener("sizemodechange", windowResizeHandler); + aWindow.shrinkToLetterbox = this.shrinkToLetterbox; + aWindow.addEventListener("dblclick", this._onWindowDoubleClick); aWindow.gBrowser.addTabsProgressListener(this); aWindow.addEventListener("TabOpen", this); const resizeObserver = (aWindow._rfpResizeObserver = @@ -783,9 +802,12 @@ class _RFPHelper { let browser = tab.linkedBrowser; this._resetContentSize(browser); } + aWindow.removeEventListener("dblclick", this._onWindowDoubleClick); + delete aWindow.shrinkToLetterbox; aWindow.removeEventListener("sizemodechange", windowResizeHandler); }
+ _handleDOMWindowOpened(win) { let self = this;
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/bec1...
tbb-commits@lists.torproject.org