зеркало из https://github.com/mozilla/gecko-dev.git
49 строки
1.4 KiB
JavaScript
49 строки
1.4 KiB
JavaScript
"use strict";
|
|
|
|
function scopedCuImport(path) {
|
|
const scope = {};
|
|
ChromeUtils.import(path, scope);
|
|
return scope;
|
|
}
|
|
const { require } = scopedCuImport(
|
|
"resource://devtools/shared/loader/Loader.jsm"
|
|
);
|
|
let { gDevTools } = require("devtools/client/framework/devtools");
|
|
|
|
/**
|
|
* Open the toolbox in a given tab.
|
|
* @param {XULNode} tab The tab the toolbox should be opened in.
|
|
* @param {String} toolId Optional. The ID of the tool to be selected.
|
|
* @param {String} hostType Optional. The type of toolbox host to be used.
|
|
* @return {Promise} Resolves with the toolbox, when it has been opened.
|
|
*/
|
|
var openToolboxForTab = async function(tab, toolId, hostType) {
|
|
info("Opening the toolbox");
|
|
const toolbox = await gDevTools.showToolboxForTab(tab, { toolId, hostType });
|
|
|
|
// Make sure that the toolbox frame is focused.
|
|
await new Promise(resolve => waitForFocus(resolve, toolbox.win));
|
|
|
|
info("Toolbox opened and focused");
|
|
|
|
return toolbox;
|
|
};
|
|
|
|
/**
|
|
* Find multiple messages in the output.
|
|
*
|
|
* @param object hud
|
|
* The web console.
|
|
* @param string text
|
|
* A substring that can be found in the message.
|
|
* @param selector [optional]
|
|
* The selector to use in finding the message.
|
|
*/
|
|
function findMessages(hud, text, selector = ".message") {
|
|
const messages = hud.ui.experimentalOutputNode.querySelectorAll(selector);
|
|
const elements = Array.prototype.filter.call(messages, el =>
|
|
el.textContent.includes(text)
|
|
);
|
|
return elements;
|
|
}
|