summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/markup/test/actor_events_form.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/inspector/markup/test/actor_events_form.js')
-rw-r--r--devtools/client/inspector/markup/test/actor_events_form.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/actor_events_form.js b/devtools/client/inspector/markup/test/actor_events_form.js
new file mode 100644
index 000000000..bd1b1e91a
--- /dev/null
+++ b/devtools/client/inspector/markup/test/actor_events_form.js
@@ -0,0 +1,62 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+// This test actor is used for testing the addition of custom form data
+// on NodeActor. Custom form property is set when 'form' event is sent
+// by NodeActor actor (see 'onNodeActorForm' method).
+
+const Events = require("sdk/event/core");
+const {ActorClassWithSpec, Actor, FrontClassWithSpec, Front, generateActorSpec} =
+ require("devtools/shared/protocol");
+
+const {NodeActor} = require("devtools/server/actors/inspector");
+
+var eventsSpec = generateActorSpec({
+ typeName: "eventsFormActor",
+
+ methods: {
+ attach: {
+ request: {},
+ response: {}
+ },
+ detach: {
+ request: {},
+ response: {}
+ }
+ }
+});
+
+var EventsFormActor = ActorClassWithSpec(eventsSpec, {
+ initialize: function () {
+ Actor.prototype.initialize.apply(this, arguments);
+ },
+
+ attach: function () {
+ Events.on(NodeActor, "form", this.onNodeActorForm);
+ },
+
+ detach: function () {
+ Events.off(NodeActor, "form", this.onNodeActorForm);
+ },
+
+ onNodeActorForm: function (event) {
+ let nodeActor = event.target;
+ if (nodeActor.rawNode.id == "container") {
+ let form = event.data;
+ form.setFormProperty("test-property", "test-value");
+ }
+ }
+});
+
+var EventsFormFront = FrontClassWithSpec(eventsSpec, {
+ initialize: function (client, form) {
+ Front.prototype.initialize.apply(this, arguments);
+
+ this.actorID = form[EventsFormActor.prototype.typeName];
+ this.manage(this);
+ }
+});
+
+exports.EventsFormFront = EventsFormFront;