diff options
Diffstat (limited to 'dom/security/test/cors/head.js')
-rw-r--r-- | dom/security/test/cors/head.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/dom/security/test/cors/head.js b/dom/security/test/cors/head.js new file mode 100644 index 0000000000..c4356ec465 --- /dev/null +++ b/dom/security/test/cors/head.js @@ -0,0 +1,66 @@ +"use strict"; + +function scopedCuImport(path) { + const scope = {}; + ChromeUtils.import(path, scope); + return scope; +} +const { loader, require } = scopedCuImport( + "resource://devtools/shared/Loader.jsm" +); +const { TargetFactory } = require("devtools/client/framework/target"); +const { Utils: WebConsoleUtils } = require("devtools/client/webconsole/utils"); +let { gDevTools } = require("devtools/client/framework/devtools"); +let promise = require("promise"); + +/** + * 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"); + + let toolbox; + let target = await TargetFactory.forTab(tab); + await target.attach(); + + // Check if the toolbox is already loaded. + toolbox = gDevTools.getToolbox(target); + if (toolbox) { + if (!toolId || (toolId && toolbox.getPanel(toolId))) { + info("Toolbox is already opened"); + return toolbox; + } + } + + // If not, load it now. + toolbox = await gDevTools.showToolbox(target, 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; +} |