1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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;
|