Bug 1453385 - Remove NodeActor custom form attributes. r=Honza
This feature introduced in
bug 1036949 is not longer used as it was designed for XUL add-ons.
The setFormProperty method was prevently Node's form from getting correctly
serialized between processes.
MozReview-Commit-ID: AiNnHSkwsEM
deleted file mode 100644
--- a/devtools/client/inspector/markup/test/actor_events_form.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/* 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 EventEmitter = require("devtools/shared/event-emitter");
-const {ActorClassWithSpec, Actor, FrontClassWithSpec, Front, generateActorSpec} =
- require("devtools/shared/protocol");
-
-const {NodeActor} = require("devtools/server/actors/inspector/node");
-
-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() {
- EventEmitter.on(NodeActor, "form", this.onNodeActorForm);
- },
-
- detach: function() {
- EventEmitter.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;
--- a/devtools/client/inspector/markup/test/browser.ini
+++ b/devtools/client/inspector/markup/test/browser.ini
@@ -1,23 +1,21 @@
[DEFAULT]
tags = devtools
subsuite = devtools
support-files =
- actor_events_form.js
doc_markup_anonymous.html
doc_markup_dragdrop.html
doc_markup_dragdrop_autoscroll_01.html
doc_markup_dragdrop_autoscroll_02.html
doc_markup_edit.html
doc_markup_events_01.html
doc_markup_events_02.html
doc_markup_events_03.html
doc_markup_events_04.html
- doc_markup_events_form.html
doc_markup_events_jquery.html
doc_markup_events-overflow.html
doc_markup_events_react_development_15.4.1.html
doc_markup_events_react_development_15.4.1_jsx.html
doc_markup_events_react_production_15.3.1.html
doc_markup_events_react_production_15.3.1_jsx.html
doc_markup_events_react_production_16.2.0.html
doc_markup_events_react_production_16.2.0_jsx.html
@@ -107,17 +105,16 @@ skip-if = (os == 'linux' && bits == 32 &
[browser_markup_dragdrop_invalidNodes.js]
[browser_markup_dragdrop_reorder.js]
[browser_markup_dragdrop_tooltip.js]
[browser_markup_events_01.js]
[browser_markup_events_02.js]
[browser_markup_events_03.js]
[browser_markup_events_04.js]
[browser_markup_events_click_to_close.js]
-[browser_markup_events_form.js]
[browser_markup_events_jquery_1.0.js]
[browser_markup_events_jquery_1.1.js]
[browser_markup_events_jquery_1.2.js]
[browser_markup_events_jquery_1.3.js]
[browser_markup_events_jquery_1.4.js]
[browser_markup_events_jquery_1.6.js]
[browser_markup_events_jquery_1.7.js]
[browser_markup_events_jquery_1.11.1.js]
deleted file mode 100644
--- a/devtools/client/inspector/markup/test/browser_markup_events_form.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/* vim: set ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-// Testing the feature whereby custom registered actors can listen to
-// 'form' events sent by the NodeActor to hook custom data to it.
-// The test registers one backend actor providing custom form data
-// and checks that the value is properly sent to the client (NodeFront).
-
-const TEST_PAGE_URL = URL_ROOT + "doc_markup_events_form.html";
-const TEST_ACTOR_URL = CHROME_URL_ROOT + "actor_events_form.js";
-
-var {EventsFormFront} = require(TEST_ACTOR_URL);
-
-add_task(async function() {
- info("Opening the Toolbox");
- let tab = await addTab(TEST_PAGE_URL);
- let toolbox = await openToolboxForTab(tab, "webconsole");
-
- info("Registering test actor");
- let {registrar, front} = await registerTestActor(toolbox);
-
- info("Selecting the Inspector panel");
- let inspector = await toolbox.selectTool("inspector");
- let container = await getContainerForSelector("#container", inspector);
- isnot(container, null, "There must be requested container");
-
- let nodeFront = container.node;
- let value = nodeFront.getFormProperty("test-property");
- is(value, "test-value", "There must be custom property");
-
- info("Unregistering actor");
- await unregisterActor(registrar, front);
-});
-
-function registerTestActor(toolbox) {
- let options = {
- prefix: "eventsFormActor",
- actorClass: "EventsFormActor",
- moduleUrl: TEST_ACTOR_URL,
- };
-
- // Register as a tab actor
- let client = toolbox.target.client;
- return new Promise(resolve => {
- registerTabActor(client, options).then(({registrar, form}) => {
- // Attach to the registered actor
- let front = EventsFormFront(client, form);
- front.attach().then(() => {
- resolve({
- front: front,
- registrar: registrar,
- });
- });
- });
- });
-}
deleted file mode 100644
--- a/devtools/client/inspector/markup/test/doc_markup_events_form.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <style>
- </style>
- </head>
- <body>
- <div id="container">
- </body>
-</html>
--- a/devtools/server/actors/inspector/node.js
+++ b/devtools/server/actors/inspector/node.js
@@ -23,18 +23,16 @@ loader.lazyRequireGetter(this, "isShadow
loader.lazyRequireGetter(this, "isAnonymous", "devtools/shared/layout/utils", true);
loader.lazyRequireGetter(this, "InspectorActorUtils", "devtools/server/actors/inspector/utils");
loader.lazyRequireGetter(this, "LongStringActor", "devtools/server/actors/string", true);
loader.lazyRequireGetter(this, "getFontPreviewData", "devtools/server/actors/styles", true);
loader.lazyRequireGetter(this, "CssLogic", "devtools/server/actors/inspector/css-logic", true);
loader.lazyRequireGetter(this, "EventParsers", "devtools/server/actors/inspector/event-parsers", true);
-const EventEmitter = require("devtools/shared/event-emitter");
-
const PSEUDO_CLASSES = [":hover", ":active", ":focus"];
const FONT_FAMILY_PREVIEW_TEXT = "The quick brown fox jumps over the lazy dog";
const FONT_FAMILY_PREVIEW_TEXT_SIZE = 20;
/**
* Server side of the node actor.
*/
const NodeActor = protocol.ActorClassWithSpec(nodeSpec, {
@@ -133,32 +131,16 @@ const NodeActor = protocol.ActorClassWit
this.rawNode.ownerDocument.contentType === "text/html",
hasEventListeners: this._hasEventListeners,
};
if (this.isDocumentElement()) {
form.isDocumentElement = true;
}
- // Add an extra API for custom properties added by other
- // modules/extensions.
- form.setFormProperty = (name, value) => {
- if (!form.props) {
- form.props = {};
- }
- form.props[name] = value;
- };
-
- // Fire an event so, other modules can create its own properties
- // that should be passed to the client (within the form.props field).
- EventEmitter.emit(NodeActor, "form", {
- target: this,
- data: form
- });
-
return form;
},
/**
* Watch the given document node for mutations using the DOM observer
* API.
*/
watchDocument: function(doc, callback) {
--- a/devtools/shared/fronts/node.js
+++ b/devtools/shared/fronts/node.js
@@ -372,30 +372,16 @@ const NodeFront = FrontClassWithSpec(nod
}
let str = this._form.nodeValue || "";
return promise.resolve(new SimpleStringFront(str));
}, {
impl: "_getNodeValue"
}),
- // Accessors for custom form properties.
-
- getFormProperty: function(name) {
- return this._form.props ? this._form.props[name] : null;
- },
-
- hasFormProperty: function(name) {
- return this._form.props ? (name in this._form.props) : null;
- },
-
- get formProperties() {
- return this._form.props;
- },
-
/**
* Return a new AttributeModificationList for this node.
*/
startModifyingAttributes: function() {
return new AttributeModificationList(this);
},
_cacheAttributes: function() {