summaryrefslogtreecommitdiffstats
path: root/devtools/startup/AboutDevToolsToolboxRegistration.sys.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/startup/AboutDevToolsToolboxRegistration.sys.mjs')
-rw-r--r--devtools/startup/AboutDevToolsToolboxRegistration.sys.mjs37
1 files changed, 37 insertions, 0 deletions
diff --git a/devtools/startup/AboutDevToolsToolboxRegistration.sys.mjs b/devtools/startup/AboutDevToolsToolboxRegistration.sys.mjs
new file mode 100644
index 0000000000..f94b866bd2
--- /dev/null
+++ b/devtools/startup/AboutDevToolsToolboxRegistration.sys.mjs
@@ -0,0 +1,37 @@
+/* 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/. */
+
+// Register about:devtools-toolbox which allows to open a devtools toolbox
+// in a Firefox tab or a custom html iframe in browser.html
+
+const { nsIAboutModule } = Ci;
+
+export function AboutDevtoolsToolbox() {}
+
+AboutDevtoolsToolbox.prototype = {
+ uri: Services.io.newURI("chrome://devtools/content/framework/toolbox.xhtml"),
+ classDescription: "about:devtools-toolbox",
+ classID: Components.ID("11342911-3135-45a8-8d71-737a2b0ad469"),
+ contractID: "@mozilla.org/network/protocol/about;1?what=devtools-toolbox",
+
+ QueryInterface: ChromeUtils.generateQI([nsIAboutModule]),
+
+ newChannel(uri, loadInfo) {
+ const chan = Services.io.newChannelFromURIWithLoadInfo(this.uri, loadInfo);
+ chan.owner = Services.scriptSecurityManager.getSystemPrincipal();
+ return chan;
+ },
+
+ getURIFlags(uri) {
+ return (
+ nsIAboutModule.ALLOW_SCRIPT |
+ nsIAboutModule.ENABLE_INDEXED_DB |
+ nsIAboutModule.HIDE_FROM_ABOUTABOUT
+ );
+ },
+
+ getChromeURI(_uri) {
+ return this.uri;
+ },
+};