Skip to content
Snippets Groups Projects
Commit 963afba9 authored by ma1's avatar ma1 Committed by Beatriz Rizental
Browse files

fixup! BB 41919: Letterboxing, add temporarily visible web content-size...

fixup! BB 41919: Letterboxing, add temporarily visible web content-size indicator on window resizing.

BB 43632: Letterboxing, always show the correct size for the active tab on resizing.
BB 43642: New tab shows letterboxing size indicator.
parent 49546dc3
Branches
Tags
1 merge request!1507Rebase Tor Browser onto 136.0a1
......@@ -176,6 +176,7 @@
direction: ltr;
}
.browserStack:not(.letterboxingStatus) &[type=letterboxingStatus],
.exclude-letterboxing &[type=letterboxingStatus],
&[inactive],
:root[inDOMFullscreen] &:not([type=overLink]) {
......
......@@ -691,13 +691,7 @@ class _RFPHelper {
borderRadius === 0 ? "hidden" : "",
"--letterboxing-border-radius": borderRadius,
});
if (
isResize &&
this.letterboxingEnabled &&
(parentWidth > lastRoundedSize.width ||
parentHeight > lastRoundedSize.height)
) {
if (win.gBrowser.selectedBrowser == aBrowser) {
const updateStatus = async args => {
win.XULBrowserWindow.letterboxingStatus = args
? await win.document.l10n.formatValue(
......@@ -707,9 +701,24 @@ class _RFPHelper {
: "";
win.StatusPanel.update();
};
if (
isResize &&
this.letterboxingEnabled &&
(parentWidth > lastRoundedSize.width ||
parentHeight > lastRoundedSize.height)
) {
const clazz = "letterboxingStatus";
const currentParent = win.document.getElementsByClassName(clazz)[0];
if (currentParent != browserParent) {
currentParent?.classList.remove(clazz);
browserParent.classList.add(clazz);
}
updateStatus(lastRoundedSize);
win.clearTimeout(win._letterboxingStatusTimeout);
win._letterboxingStatusTimeout = win.setTimeout(updateStatus, 1000);
} else {
updateStatus("");
}
}
}
......@@ -814,9 +823,23 @@ class _RFPHelper {
const resizeObserver = (aWindow._rfpResizeObserver =
new aWindow.ResizeObserver(entries => {
const context = { isResize: true };
for (let { target } of entries) {
if (entries.length == 1) {
const { target } = entries[0];
if (!("_letterboxingNew" in target)) {
target._letterboxingNew = !entries[0].contentRect.width;
if (target._letterboxingNew) {
return;
}
context.isResize = false;
} else if (target._letterboxingNew) {
target._letterboxingNew = false;
context.isResize = false;
}
}
for (const { target } of entries) {
this._roundOrResetContentSize(
target.querySelector("browser"),
target.getElementsByTagName("browser")[0],
context
);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment