diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js index e7a516dcd3b0..04e2fee2e460 100644 --- a/browser/components/extensions/parent/ext-browser.js +++ b/browser/components/extensions/parent/ext-browser.js @@ -996,7 +996,8 @@ class Window extends WindowBase { } get alwaysOnTop() { - return this.appWindow.zLevel >= Ci.nsIAppWindow.raisedZ; + // We never create alwaysOnTop browser windows. + return false; } get isLastFocused() { diff --git a/browser/components/extensions/test/browser/browser_ext_windows.js b/browser/components/extensions/test/browser/browser_ext_windows.js index 8d6cff25b4b0..1e9b0efff76b 100644 --- a/browser/components/extensions/test/browser/browser_ext_windows.js +++ b/browser/components/extensions/test/browser/browser_ext_windows.js @@ -11,33 +11,32 @@ async function verifyTitle(win, test, desc) { } add_task(async function testWindowGetAll() { - let raisedWin = Services.ww.openWindow( + let secondWin = Services.ww.openWindow( null, AppConstants.BROWSER_CHROME_URL, "_blank", - "chrome,dialog=no,all,alwaysRaised", + "chrome,dialog=no,all", null ); await TestUtils.topicObserved( "browser-delayed-startup-finished", - subject => subject == raisedWin + subject => subject == secondWin, ); let extension = ExtensionTestUtils.loadExtension({ background: async function () { let wins = await browser.windows.getAll(); browser.test.assertEq(2, wins.length, "Expect two windows"); - browser.test.assertEq( false, wins[0].alwaysOnTop, "Expect first window not to be always on top" ); browser.test.assertEq( - true, + false, wins[1].alwaysOnTop, - "Expect first window to be always on top" + "Expect second window not to be always on top" ); let win = await browser.windows.create({ @@ -70,7 +69,7 @@ add_task(async function testWindowGetAll() { await extension.awaitFinish("getAll"); await extension.unload(); - await BrowserTestUtils.closeWindow(raisedWin); + await BrowserTestUtils.closeWindow(secondWin); }); add_task(async function testWindowTitle() { diff --git a/browser/components/resistfingerprinting/test/browser/browser_timezone.js b/browser/components/resistfingerprinting/test/browser/browser_timezone.js index e724dd859572..3b700d76ef25 100644 --- a/browser/components/resistfingerprinting/test/browser/browser_timezone.js +++ b/browser/components/resistfingerprinting/test/browser/browser_timezone.js @@ -187,7 +187,7 @@ add_task(async function test_timezone_exmpt_browser() { null, AppConstants.BROWSER_CHROME_URL, "_blank", - "chrome,dialog=no,all,alwaysRaised", + "chrome,dialog=no,all", null ); diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs index 360f5af2d5b4..7f2d9b9d4b57 100644 --- a/browser/components/sessionstore/SessionStore.sys.mjs +++ b/browser/components/sessionstore/SessionStore.sys.mjs @@ -80,8 +80,6 @@ const CHROME_FLAGS_MAP = [ // Do not inherit remoteness and fissionness from the previous session. //[Ci.nsIWebBrowserChrome.CHROME_REMOTE_WINDOW, "remote", "non-remote"], //[Ci.nsIWebBrowserChrome.CHROME_FISSION_WINDOW, "fission", "non-fission"], - [Ci.nsIWebBrowserChrome.CHROME_WINDOW_LOWERED, "alwayslowered"], - [Ci.nsIWebBrowserChrome.CHROME_WINDOW_RAISED, "alwaysraised"], // "chrome" and "suppressanimation" are always set. //[Ci.nsIWebBrowserChrome.CHROME_SUPPRESS_ANIMATION, "suppressanimation"], [Ci.nsIWebBrowserChrome.CHROME_ALWAYS_ON_TOP, "alwaysontop"], diff --git a/browser/components/sessionstore/test/browser_restored_window_features.js b/browser/components/sessionstore/test/browser_restored_window_features.js index e3745df2a36e..20a1d71960e1 100644 --- a/browser/components/sessionstore/test/browser_restored_window_features.js +++ b/browser/components/sessionstore/test/browser_restored_window_features.js @@ -83,20 +83,16 @@ add_task(async function testRestoredWindowFeatures() { { chrome: true, url: "http://example.com/browser/" + DUMMY_PAGE, - features: "chrome,all,dialog=no,alwayslowered,centerscreen", + features: "chrome,all,dialog=no,centerscreen", barprops: ALL_BARPROPS, - chromeFlags: - Ci.nsIWebBrowserChrome.CHROME_WINDOW_LOWERED | - Ci.nsIWebBrowserChrome.CHROME_CENTER_SCREEN, + chromeFlags: Ci.nsIWebBrowserChrome.CHROME_CENTER_SCREEN, }, { chrome: true, url: "http://example.com/browser/" + DUMMY_PAGE, - features: "chrome,all,dialog=no,alwaysraised,dependent", + features: "chrome,all,dialog=no,dependent", barprops: ALL_BARPROPS, - chromeFlags: - Ci.nsIWebBrowserChrome.CHROME_WINDOW_RAISED | - Ci.nsIWebBrowserChrome.CHROME_DEPENDENT, + chromeFlags: Ci.nsIWebBrowserChrome.CHROME_DEPENDENT, }, ]; const TEST_URL_CHROME = "chrome://mochitests/content/browser/" + DUMMY_PAGE; diff --git a/toolkit/components/browser/nsIWebBrowserChrome.idl b/toolkit/components/browser/nsIWebBrowserChrome.idl index 217beda78edf..75555352b8a1 100644 --- a/toolkit/components/browser/nsIWebBrowserChrome.idl +++ b/toolkit/components/browser/nsIWebBrowserChrome.idl @@ -78,8 +78,8 @@ interface nsIWebBrowserChrome : nsISupports // ignored for Linux. const unsigned long CHROME_SUPPRESS_ANIMATION = 1 << 24; - const unsigned long CHROME_WINDOW_RAISED = 1 << 25; - const unsigned long CHROME_WINDOW_LOWERED = 1 << 26; + // Two bits are free here. + const unsigned long CHROME_CENTER_SCREEN = 1 << 27; // Make the new window dependent on the parent. This flag is only diff --git a/toolkit/components/windowwatcher/nsWindowWatcher.cpp b/toolkit/components/windowwatcher/nsWindowWatcher.cpp index 0767cb1539f9..17241eb1646d 100644 --- a/toolkit/components/windowwatcher/nsWindowWatcher.cpp +++ b/toolkit/components/windowwatcher/nsWindowWatcher.cpp @@ -1994,14 +1994,6 @@ uint32_t nsWindowWatcher::CalculateChromeFlagsForSystem( /* Finally, once all the above normal chrome has been divined, deal with the features that are more operating hints than appearance instructions. (Note modality implies dependence.) */ - - if (aFeatures.GetBoolWithDefault("alwayslowered", false) || - aFeatures.GetBoolWithDefault("z-lock", false)) { - chromeFlags |= nsIWebBrowserChrome::CHROME_WINDOW_LOWERED; - } else if (aFeatures.GetBoolWithDefault("alwaysraised", false)) { - chromeFlags |= nsIWebBrowserChrome::CHROME_WINDOW_RAISED; - } - if (aFeatures.GetBoolWithDefault("suppressanimation", false)) { chromeFlags |= nsIWebBrowserChrome::CHROME_SUPPRESS_ANIMATION; } diff --git a/toolkit/components/windowwatcher/test/browser_new_content_window_chromeflags.js b/toolkit/components/windowwatcher/test/browser_new_content_window_chromeflags.js index d14175c088ac..971c482ae4d7 100644 --- a/toolkit/components/windowwatcher/test/browser_new_content_window_chromeflags.js +++ b/toolkit/components/windowwatcher/test/browser_new_content_window_chromeflags.js @@ -37,18 +37,6 @@ const DISALLOWED = { // "remote": // checked manually, since its default value will // depend on whether or not e10s is enabled by default. - alwaysLowered: { - flag: Ci.nsIWebBrowserChrome.CHROME_WINDOW_LOWERED, - defaults_to: false, - }, - "z-lock": { - flag: Ci.nsIWebBrowserChrome.CHROME_WINDOW_LOWERED, // Renamed to alwaysLowered - defaults_to: false, - }, - alwaysRaised: { - flag: Ci.nsIWebBrowserChrome.CHROME_WINDOW_RAISED, - defaults_to: false, - }, alwaysOnTop: { flag: Ci.nsIWebBrowserChrome.CHROME_ALWAYS_ON_TOP, defaults_to: false,