summaryrefslogtreecommitdiffstats
path: root/devtools/shared/specs/targets/browsing-context.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/shared/specs/targets/browsing-context.js')
-rw-r--r--devtools/shared/specs/targets/browsing-context.js166
1 files changed, 166 insertions, 0 deletions
diff --git a/devtools/shared/specs/targets/browsing-context.js b/devtools/shared/specs/targets/browsing-context.js
new file mode 100644
index 0000000000..f40dfff471
--- /dev/null
+++ b/devtools/shared/specs/targets/browsing-context.js
@@ -0,0 +1,166 @@
+/* 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/. */
+"use strict";
+
+const {
+ types,
+ generateActorSpec,
+ RetVal,
+ Option,
+ Arg,
+} = require("devtools/shared/protocol");
+
+types.addDictType("browsingContextTarget.attach", {
+ threadActor: "number",
+ cacheDisabled: "boolean",
+ javascriptEnabled: "boolean",
+ traits: "json",
+});
+
+types.addDictType("browsingContextTarget.switchtoframe", {
+ message: "string",
+});
+
+types.addDictType("browsingContextTarget.listframes", {
+ frames: "array:browsingContextTarget.window",
+});
+
+types.addDictType("browsingContextTarget.window", {
+ id: "string",
+ parentID: "nullable:string",
+ url: "nullable:string", // should be present if not destroying
+ title: "nullable:string", // should be present if not destroying
+ destroy: "nullable:boolean", // not present if not destroying
+});
+
+types.addDictType("browsingContextTarget.workers", {
+ workers: "array:workerDescriptor",
+});
+
+types.addDictType("browsingContextTarget.reload", {
+ force: "boolean",
+});
+
+types.addDictType("browsingContextTarget.reconfigure", {
+ javascriptEnabled: "nullable:boolean",
+ cacheDisabled: "nullable:boolean",
+ serviceWorkersTestingEnabled: "nullable:boolean",
+ performReload: "nullable:boolean",
+});
+
+const browsingContextTargetSpecPrototype = {
+ typeName: "browsingContextTarget",
+
+ methods: {
+ attach: {
+ request: {},
+ response: RetVal("browsingContextTarget.attach"),
+ },
+ detach: {
+ request: {},
+ response: {},
+ },
+ ensureCSSErrorReportingEnabled: {
+ request: {},
+ response: {},
+ },
+ focus: {
+ request: {},
+ response: {},
+ },
+ goForward: {
+ request: {},
+ response: {},
+ },
+ goBack: {
+ request: {},
+ response: {},
+ },
+ reload: {
+ request: {
+ options: Option(0, "browsingContextTarget.reload"),
+ },
+ response: {},
+ },
+ navigateTo: {
+ request: {
+ url: Option(0, "string"),
+ },
+ response: {},
+ },
+ reconfigure: {
+ request: {
+ options: Option(0, "browsingContextTarget.reconfigure"),
+ },
+ response: {},
+ },
+ switchToFrame: {
+ request: {
+ windowId: Option(0, "string"),
+ },
+ response: RetVal("browsingContextTarget.switchtoframe"),
+ },
+ listFrames: {
+ request: {},
+ response: RetVal("browsingContextTarget.listframes"),
+ },
+ listWorkers: {
+ request: {},
+ response: RetVal("browsingContextTarget.workers"),
+ },
+ logInPage: {
+ request: {
+ text: Option(0, "string"),
+ category: Option(0, "string"),
+ flags: Option(0, "string"),
+ },
+ response: {},
+ },
+ },
+ events: {
+ tabNavigated: {
+ type: "tabNavigated",
+ url: Option(0, "string"),
+ title: Option(0, "string"),
+ nativeConsoleAPI: Option(0, "boolean"),
+ state: Option(0, "string"),
+ isFrameSwitching: Option(0, "boolean"),
+ },
+ frameUpdate: {
+ type: "frameUpdate",
+ frames: Option(0, "nullable:array:browsingContextTarget.window"),
+ selected: Option(0, "nullable:number"),
+ destroyAll: Option(0, "nullable:boolean"),
+ },
+ tabDetached: {
+ type: "tabDetached",
+ // This is to make browser_dbg_navigation.js to work as it expect to
+ // see a packet object when listening for tabDetached
+ from: Option(0, "string"),
+ },
+ workerListChanged: {
+ type: "workerListChanged",
+ },
+
+ "resource-available-form": {
+ type: "resource-available-form",
+ resources: Arg(0, "array:json"),
+ },
+ "resource-destroyed-form": {
+ type: "resource-destroyed-form",
+ resources: Arg(0, "array:json"),
+ },
+ "resource-updated-form": {
+ type: "resource-updated-form",
+ resources: Arg(0, "array:json"),
+ },
+ },
+};
+
+const browsingContextTargetSpec = generateActorSpec(
+ browsingContextTargetSpecPrototype
+);
+
+exports.browsingContextTargetSpecPrototype = browsingContextTargetSpecPrototype;
+exports.browsingContextTargetSpec = browsingContextTargetSpec;