46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
var { Toolbox } = require("resource://devtools/client/framework/toolbox.js");
|
|
|
|
// Test that a fullscreen page allows DevTools to be seen.
|
|
|
|
const URL = "data:text/html;charset=utf-8,Fullscreen me";
|
|
|
|
add_task(async function test_fullscreen_docked_toolbox() {
|
|
const tab = await addTab(URL);
|
|
|
|
ok(!window.fullScreen, "Should not be fullscreen");
|
|
|
|
await new Promise(r => {
|
|
window.addEventListener("fullscreenchange", r, { once: true });
|
|
SpecialPowers.spawn(tab.linkedBrowser, [], () => {
|
|
content.document.documentElement.requestFullscreen();
|
|
});
|
|
});
|
|
|
|
ok(window.fullScreen, "Should be fullscreen");
|
|
|
|
const toolbox = await gDevTools.showToolboxForTab(tab);
|
|
isnot(
|
|
toolbox.hostType,
|
|
Toolbox.HostType.WINDOW,
|
|
"Toolbox is docked in the main window"
|
|
);
|
|
|
|
const tabRect = tab.linkedBrowser.getBoundingClientRect();
|
|
const devToolsRect =
|
|
toolbox.win.browsingContext.embedderElement.getBoundingClientRect();
|
|
|
|
Assert.lessOrEqual(
|
|
tabRect.bottom,
|
|
devToolsRect.top,
|
|
"DevTools shouldn't intersect the browser"
|
|
);
|
|
|
|
await toolbox.destroy();
|
|
|
|
gBrowser.removeCurrentTab();
|
|
});
|