Bug 1439875: Fix extension windows. r?kmag
Now we're loading the sizemode attribute earlier, doing this on load stops
working.
MozReview-Commit-ID: ToiJiYrvFw
--- a/browser/components/extensions/ext-windows.js
+++ b/browser/components/extensions/ext-windows.js
@@ -172,24 +172,20 @@ this.windows = class extends ExtensionAP
let win = windowManager.getWrapper(window);
win.updateGeometry(createData);
// TODO: focused, type
return new Promise(resolve => {
window.addEventListener("load", function() {
- if (["maximized", "normal"].includes(createData.state)) {
- window.document.documentElement.setAttribute("sizemode", createData.state);
- }
resolve(promiseObserved("browser-delayed-startup-finished", win => win == window));
}, {once: true});
}).then(() => {
- // Some states only work after delayed-startup-finished
- if (["minimized", "fullscreen", "docked"].includes(createData.state)) {
+ if (["minimized", "fullscreen", "docked", "normal", "maximized"].includes(createData.state)) {
win.state = createData.state;
}
if (allowScriptsToClose) {
for (let {linkedBrowser} of window.gBrowser.tabs) {
onXULFrameLoaderCreated({target: linkedBrowser});
// eslint-disable-next-line mozilla/balanced-listeners
linkedBrowser.addEventListener("XULFrameLoaderCreated", onXULFrameLoaderCreated);
}
--- a/browser/components/extensions/test/browser/browser_ext_windows_create.js
+++ b/browser/components/extensions/test/browser/browser_ext_windows_create.js
@@ -98,17 +98,17 @@ add_task(async function testWindowCreate
extension.onMessage("check-window", expected => {
if (expected.state != null) {
let {windowState} = latestWindow;
if (latestWindow.fullScreen) {
windowState = latestWindow.STATE_FULLSCREEN;
}
- if (expected.state == "STATE_NORMAL" && AppConstants.platform == "macosx") {
+ if (expected.state == "STATE_NORMAL") {
ok(windowState == window.STATE_NORMAL || windowState == window.STATE_MAXIMIZED,
`Expected windowState (currently ${windowState}) to be STATE_NORMAL but will accept STATE_MAXIMIZED`);
} else {
is(windowState, window[expected.state],
`Expected window state to be ${expected.state}`);
}
}
if (expected.hiddenChrome) {