[tor-commits] [Git][tpo/applications/tor-browser][base-browser-115.9.0esr-13.5-1] Bug 42443: Shrink window to match letterboxing size when the emtpy area is clicked.

ma1 (@ma1) git at gitlab.torproject.org
Wed Mar 13 19:36:22 UTC 2024



ma1 pushed to branch base-browser-115.9.0esr-13.5-1 at The Tor Project / Applications / Tor Browser


Commits:
aefa5f37 by hackademix at 2024-03-13T20:35:54+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/tor-browser/-/commit/aefa5f37615c1ec1b271b135dd75b7ffc113ddd3

-- 
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/aefa5f37615c1ec1b271b135dd75b7ffc113ddd3
You're receiving this email because of your account on gitlab.torproject.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-commits/attachments/20240313/ea3815e0/attachment-0001.htm>


More information about the tor-commits mailing list