summaryrefslogtreecommitdiffstats
path: root/dom/security/test/cors/head.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/security/test/cors/head.js')
-rw-r--r--dom/security/test/cors/head.js66
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;
+}