mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
38a9d0a9f0
--HG-- rename : browser/devtools/commandline/gcliblank.xhtml => browser/devtools/commandline/gclitooltip.xhtml
134 lines
3.5 KiB
JavaScript
134 lines
3.5 KiB
JavaScript
/* 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/. */
|
|
|
|
let console = (function() {
|
|
let tempScope = {};
|
|
Components.utils.import("resource:///modules/devtools/Console.jsm", tempScope);
|
|
return tempScope.console;
|
|
})();
|
|
|
|
/**
|
|
* Open a new tab at a URL and call a callback on load
|
|
*/
|
|
function addTab(aURL, aCallback)
|
|
{
|
|
waitForExplicitFinish();
|
|
|
|
gBrowser.selectedTab = gBrowser.addTab();
|
|
content.location = aURL;
|
|
|
|
let tab = gBrowser.selectedTab;
|
|
let browser = gBrowser.getBrowserForTab(tab);
|
|
|
|
function onTabLoad() {
|
|
browser.removeEventListener("load", onTabLoad, true);
|
|
aCallback(browser, tab, browser.contentDocument);
|
|
}
|
|
|
|
browser.addEventListener("load", onTabLoad, true);
|
|
}
|
|
|
|
registerCleanupFunction(function tearDown() {
|
|
while (gBrowser.tabs.length > 1) {
|
|
gBrowser.removeCurrentTab();
|
|
}
|
|
|
|
console = undefined;
|
|
});
|
|
|
|
/**
|
|
* Various functions for testing DeveloperToolbar.
|
|
* Parts of this code exist in:
|
|
* - browser/devtools/commandline/test/head.js
|
|
* - browser/devtools/shared/test/head.js
|
|
*/
|
|
let DeveloperToolbarTest = {
|
|
/**
|
|
* Paranoid DeveloperToolbar.show();
|
|
*/
|
|
show: function DTT_show(aCallback) {
|
|
if (DeveloperToolbar.visible) {
|
|
ok(false, "DeveloperToolbar.visible at start of openDeveloperToolbar");
|
|
}
|
|
else {
|
|
DeveloperToolbar.show(aCallback);
|
|
}
|
|
},
|
|
|
|
/**
|
|
* Paranoid DeveloperToolbar.hide();
|
|
*/
|
|
hide: function DTT_hide() {
|
|
if (!DeveloperToolbar.visible) {
|
|
ok(false, "!DeveloperToolbar.visible at start of closeDeveloperToolbar");
|
|
}
|
|
else {
|
|
DeveloperToolbar.display.inputter.setInput("");
|
|
DeveloperToolbar.hide();
|
|
}
|
|
},
|
|
|
|
/**
|
|
* Quick wrapper around the things you need to do to run DeveloperToolbar
|
|
* command tests:
|
|
* - Set the pref 'devtools.toolbar.enabled' to true
|
|
* - Add a tab pointing at |uri|
|
|
* - Open the DeveloperToolbar
|
|
* - Register a cleanup function to undo the above
|
|
* - Run the tests
|
|
*
|
|
* @param uri The uri of a page to load. Can be 'about:blank' or 'data:...'
|
|
* @param testFunc A function containing the tests to run. This should
|
|
* arrange for 'finish()' to be called on completion.
|
|
*/
|
|
test: function DTT_test(uri, testFunc) {
|
|
let menuItem = document.getElementById("menu_devToolbar");
|
|
let command = document.getElementById("Tools:DevToolbar");
|
|
let appMenuItem = document.getElementById("appmenu_devToolbar");
|
|
|
|
registerCleanupFunction(function() {
|
|
DeveloperToolbarTest.hide();
|
|
|
|
// a.k.a Services.prefs.clearUserPref("devtools.toolbar.enabled");
|
|
if (menuItem) menuItem.hidden = true;
|
|
if (command) command.setAttribute("disabled", "true");
|
|
if (appMenuItem) appMenuItem.hidden = true;
|
|
});
|
|
|
|
// a.k.a: Services.prefs.setBoolPref("devtools.toolbar.enabled", true);
|
|
if (menuItem) menuItem.hidden = false;
|
|
if (command) command.removeAttribute("disabled");
|
|
if (appMenuItem) appMenuItem.hidden = false;
|
|
|
|
addTab(uri, function(browser, tab) {
|
|
DeveloperToolbarTest.show(function() {
|
|
|
|
try {
|
|
testFunc(browser, tab);
|
|
}
|
|
catch (ex) {
|
|
ok(false, "" + ex);
|
|
console.error(ex);
|
|
finish();
|
|
throw ex;
|
|
}
|
|
});
|
|
});
|
|
},
|
|
};
|
|
|
|
function catchFail(func) {
|
|
return function() {
|
|
try {
|
|
return func.apply(null, arguments);
|
|
}
|
|
catch (ex) {
|
|
ok(false, ex);
|
|
console.error(ex);
|
|
finish();
|
|
throw ex;
|
|
}
|
|
};
|
|
}
|