mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-12 14:20:14 +02:00
Differential Revision: https://phabricator.services.mozilla.com/D25547 --HG-- extra : moz-landing-system : lando
48 lines
2 KiB
JavaScript
48 lines
2 KiB
JavaScript
"use strict";
|
|
|
|
/**
|
|
* Check that customize mode doesn't break when its tab is reloaded.
|
|
*/
|
|
add_task(async function reload_tab() {
|
|
let customizationContainer = document.getElementById("customization-container");
|
|
let initialTab = gBrowser.selectedTab;
|
|
let customizeTab = BrowserTestUtils.addTab(gBrowser, "about:blank");
|
|
gCustomizeMode.setTab(customizeTab);
|
|
|
|
is(customizationContainer.clientWidth, 0, "Customization container shouldn't be visible (X)");
|
|
is(customizationContainer.clientHeight, 0, "Customization container shouldn't be visible (Y)");
|
|
|
|
let customizePromise = BrowserTestUtils.waitForEvent(gNavToolbox, "customizationready");
|
|
gCustomizeMode.enter();
|
|
await customizePromise;
|
|
|
|
let tabReloaded = new Promise((resolve) => {
|
|
gBrowser.addTabsProgressListener({async onLocationChange(aBrowser) {
|
|
if (customizeTab.linkedBrowser == aBrowser) {
|
|
gBrowser.removeTabsProgressListener(this);
|
|
await Promise.resolve();
|
|
resolve();
|
|
}
|
|
}});
|
|
});
|
|
gBrowser.reloadTab(customizeTab);
|
|
await tabReloaded;
|
|
|
|
is(customizeTab.getAttribute("customizemode"), "true", "Tab should be in customize mode");
|
|
ok(customizationContainer.clientWidth > 0, "Customization container should be visible (X)");
|
|
ok(customizationContainer.clientHeight > 0, "Customization container should be visible (Y)");
|
|
|
|
customizePromise = BrowserTestUtils.waitForEvent(gNavToolbox, "aftercustomization");
|
|
await BrowserTestUtils.switchTab(gBrowser, initialTab);
|
|
await customizePromise;
|
|
|
|
customizePromise = BrowserTestUtils.waitForEvent(gNavToolbox, "customizationready");
|
|
await BrowserTestUtils.switchTab(gBrowser, customizeTab);
|
|
await customizePromise;
|
|
|
|
is(customizeTab.getAttribute("customizemode"), "true", "Tab should still be in customize mode");
|
|
ok(customizationContainer.clientWidth > 0, "Customization container should still be visible (X)");
|
|
ok(customizationContainer.clientHeight > 0, "Customization container should still be visible (Y)");
|
|
|
|
await endCustomizing();
|
|
});
|