mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
82 lines
2.0 KiB
JavaScript
82 lines
2.0 KiB
JavaScript
|
/* Any copyright is dedicated to the Public Domain.
|
||
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||
|
|
||
|
|
||
|
function test()
|
||
|
{
|
||
|
waitForExplicitFinish();
|
||
|
|
||
|
let doc;
|
||
|
let node;
|
||
|
|
||
|
gBrowser.selectedTab = gBrowser.addTab();
|
||
|
gBrowser.selectedBrowser.addEventListener("load", function onload() {
|
||
|
gBrowser.selectedBrowser.removeEventListener("load", onload, true);
|
||
|
doc = content.document;
|
||
|
waitForFocus(setupKeyBindingsTest, content);
|
||
|
}, true);
|
||
|
|
||
|
content.location = "data:text/html,<h1>foobar</h1>";
|
||
|
|
||
|
function setupKeyBindingsTest()
|
||
|
{
|
||
|
node = doc.querySelector("h1");
|
||
|
Services.obs.addObserver(highlightNode,
|
||
|
InspectorUI.INSPECTOR_NOTIFICATIONS.OPENED, false);
|
||
|
InspectorUI.toggleInspectorUI();
|
||
|
}
|
||
|
|
||
|
function highlightNode()
|
||
|
{
|
||
|
Services.obs.removeObserver(highlightNode,
|
||
|
InspectorUI.INSPECTOR_NOTIFICATIONS.OPENED);
|
||
|
|
||
|
executeSoon(function() {
|
||
|
Services.obs.addObserver(lockNode,
|
||
|
InspectorUI.INSPECTOR_NOTIFICATIONS.HIGHLIGHTING, false);
|
||
|
|
||
|
InspectorUI.inspectNode(node);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function lockNode()
|
||
|
{
|
||
|
Services.obs.removeObserver(lockNode,
|
||
|
InspectorUI.INSPECTOR_NOTIFICATIONS.HIGHLIGHTING);
|
||
|
|
||
|
EventUtils.synthesizeKey("VK_ESCAPE", { });
|
||
|
|
||
|
executeSoon(isTheNodeLocked);
|
||
|
}
|
||
|
|
||
|
function isTheNodeLocked()
|
||
|
{
|
||
|
is(InspectorUI.selection, node, "selection matches node");
|
||
|
ok(!InspectorUI.inspecting, "the node is locked");
|
||
|
unlockNode();
|
||
|
}
|
||
|
|
||
|
function unlockNode() {
|
||
|
EventUtils.synthesizeKey("VK_ESCAPE", { });
|
||
|
|
||
|
executeSoon(isTheNodeUnlocked);
|
||
|
}
|
||
|
|
||
|
function isTheNodeUnlocked()
|
||
|
{
|
||
|
ok(InspectorUI.inspecting, "the node is unlocked");
|
||
|
|
||
|
Services.obs.addObserver(finishUp,
|
||
|
InspectorUI.INSPECTOR_NOTIFICATIONS.CLOSED, false);
|
||
|
InspectorUI.closeInspectorUI();
|
||
|
}
|
||
|
|
||
|
function finishUp() {
|
||
|
Services.obs.removeObserver(finishUp,
|
||
|
InspectorUI.INSPECTOR_NOTIFICATIONS.CLOSED);
|
||
|
doc = node = null;
|
||
|
gBrowser.removeCurrentTab();
|
||
|
finish();
|
||
|
}
|
||
|
}
|