fune/browser/base/content/test/fullscreen/browser_bug1557041.js
Marco Bonardo 70fdad6676 Bug 1852963 - Rename BrowserTestUtils.loadURIString() to .startLoadingURIString(). r=dao
This should make a bit clearer that it is only starting the load, not waiting
for its completion.

Differential Revision: https://phabricator.services.mozilla.com/D188213
2023-09-15 09:16:34 +00:00

47 lines
1.5 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// This test tends to trigger a race in the fullscreen time telemetry,
// where the fullscreen enter and fullscreen exit events (which use the
// same histogram ID) overlap. That causes TelemetryStopwatch to log an
// error.
SimpleTest.ignoreAllUncaughtExceptions(true);
add_task(async function test_identityPopupCausesFSExit() {
let url = "https://example.com/";
await BrowserTestUtils.withNewTab("about:blank", async browser => {
let loaded = BrowserTestUtils.browserLoaded(browser, false, url);
BrowserTestUtils.startLoadingURIString(browser, url);
await loaded;
let identityPermissionBox = document.getElementById(
"identity-permission-box"
);
info("Entering DOM fullscreen");
await changeFullscreen(browser, true);
let popupShown = BrowserTestUtils.waitForEvent(
window,
"popupshown",
true,
event => event.target == document.getElementById("permission-popup")
);
let fsExit = waitForFullScreenState(browser, false);
identityPermissionBox.click();
info("Waiting for fullscreen exit and permission popup to show");
await Promise.all([fsExit, popupShown]);
let identityPopup = document.getElementById("permission-popup");
ok(
identityPopup.hasAttribute("panelopen"),
"Identity popup should be open"
);
ok(!window.fullScreen, "Should not be in full-screen");
});
});