gecko-dev/devtools/client/markupview/test/actor_events_form.js

57 строки
1.5 KiB
JavaScript

/* 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 {ActorClass, Actor, FrontClass, Front, method} =
require("devtools/server/protocol");
const {Cu} = require("chrome");
const {NodeActor} = require("devtools/server/actors/inspector");
var EventsFormActor = ActorClass({
typeName: "eventsFormActor",
initialize: function() {
Actor.prototype.initialize.apply(this, arguments);
},
attach: method(function() {
Events.on(NodeActor, "form", this.onNodeActorForm);
}, {
request: {},
response: {}
}),
detach: method(function() {
Events.off(NodeActor, "form", this.onNodeActorForm);
}, {
request: {},
response: {}
}),
onNodeActorForm: function(event) {
let nodeActor = event.target;
if (nodeActor.rawNode.id == "container") {
let form = event.data;
form.setFormProperty("test-property", "test-value");
}
}
});
var EventsFormFront = FrontClass(EventsFormActor, {
initialize: function(client, form) {
Front.prototype.initialize.apply(this, arguments);
this.actorID = form[EventsFormActor.prototype.typeName];
this.manage(this);
}
});
exports.EventsFormFront = EventsFormFront;