summaryrefslogtreecommitdiffstats
path: root/devtools/shared/specs/websocket.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/shared/specs/websocket.js')
-rw-r--r--devtools/shared/specs/websocket.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/devtools/shared/specs/websocket.js b/devtools/shared/specs/websocket.js
new file mode 100644
index 0000000000..a17a1b46d1
--- /dev/null
+++ b/devtools/shared/specs/websocket.js
@@ -0,0 +1,57 @@
+/* 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 {
+ Arg,
+ generateActorSpec,
+} = require("resource://devtools/shared/protocol.js");
+
+const webSocketSpec = generateActorSpec({
+ typeName: "webSocket",
+
+ /**
+ * The set of events the WebSocketActor emits over RDP.
+ */
+ events: {
+ // In order to avoid a naming collision, we rename the server event.
+ serverWebSocketOpened: {
+ type: "webSocketOpened",
+ httpChannelId: Arg(0, "number"),
+ effectiveURI: Arg(1, "string"),
+ protocols: Arg(2, "string"),
+ extensions: Arg(3, "string"),
+ },
+ serverWebSocketClosed: {
+ type: "webSocketClosed",
+ httpChannelId: Arg(0, "number"),
+ wasClean: Arg(1, "boolean"),
+ code: Arg(2, "number"),
+ reason: Arg(3, "string"),
+ },
+ serverFrameReceived: {
+ type: "frameReceived",
+ httpChannelId: Arg(0, "number"),
+ data: Arg(1, "json"),
+ },
+ serverFrameSent: {
+ type: "frameSent",
+ httpChannelId: Arg(0, "number"),
+ data: Arg(1, "json"),
+ },
+ },
+
+ methods: {
+ startListening: {
+ request: {},
+ oneway: true,
+ },
+ stopListening: {
+ request: {},
+ oneway: true,
+ },
+ },
+});
+
+exports.webSocketSpec = webSocketSpec;