diff options
Diffstat (limited to 'devtools/client/inspector/markup/test/actor_events_form.js')
-rw-r--r-- | devtools/client/inspector/markup/test/actor_events_form.js | 62 |
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; |