/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ "use strict"; add_task(async function testScreenshotButtonDisabled() { info("Test the Screenshots button in the panel"); CustomizableUI.addWidgetToArea( "screenshot-button", CustomizableUI.AREA_NAVBAR ); let screenshotBtn = document.getElementById("screenshot-button"); Assert.ok(screenshotBtn, "The screenshots button was added to the nav bar"); await BrowserTestUtils.withNewTab("https://example.com/", () => { Assert.equal( screenshotBtn.disabled, false, "Screenshots button is enabled" ); }); await BrowserTestUtils.withNewTab("about:home", () => { Assert.equal( screenshotBtn.disabled, true, "Screenshots button is now disabled" ); }); }); add_task(async function test_disabledMultiWindow() { await BrowserTestUtils.withNewTab( { gBrowser, url: TEST_GREEN_PAGE, }, async browser => { let helper = new ScreenshotsHelper(browser); await helper.triggerUIFromToolbar(); let screenshotBtn = document.getElementById("screenshot-button"); Assert.ok( screenshotBtn, "The screenshots button was added to the nav bar" ); info("Waiting for the preselect UI"); await helper.waitForUIContent( helper.selector.preselectIframe, helper.selector.fullPageButton ); let newWin = await BrowserTestUtils.openNewBrowserWindow(); await BrowserTestUtils.closeWindow(newWin); let deactivatedPromise = helper.waitForToolbarButtonDeactivation(); await deactivatedPromise; info("Screenshots is deactivated"); await EventUtils.synthesizeAndWaitKey("VK_ESCAPE", {}); await BrowserTestUtils.waitForCondition(() => { return !screenshotBtn.disabled; }); Assert.equal( screenshotBtn.disabled, false, "Screenshots button is enabled" ); } ); });