blob: 7e4545af3953c484be903c7a1e37788d3fed274b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
/* 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");
});
});
|