Bug 1468754 Part 4: Make WalkerActor track the InspectorActor it belongs to.
MozReview-Commit-ID: 9PjZpm1CLdq
--- a/devtools/server/actors/inspector/inspector.js
+++ b/devtools/server/actors/inspector/inspector.js
@@ -108,17 +108,17 @@ exports.InspectorActor = protocol.ActorC
const deferred = defer();
this._walkerPromise = deferred.promise;
const window = this.window;
const domReady = () => {
const targetActor = this.targetActor;
window.removeEventListener("DOMContentLoaded", domReady, true);
- this.walker = WalkerActor(this.conn, targetActor, options);
+ this.walker = WalkerActor(this, targetActor, options);
this.manage(this.walker);
this.walker.once("destroyed", () => {
this._walkerPromise = null;
this._pageStylePromise = null;
this._changesPromise = null;
});
deferred.resolve(this.walker);
};
--- a/devtools/server/actors/inspector/walker.js
+++ b/devtools/server/actors/inspector/walker.js
@@ -116,18 +116,19 @@ exports.setValueSummaryLength = function
* Server side of the DOM walker.
*/
var WalkerActor = protocol.ActorClassWithSpec(walkerSpec, {
/**
* Create the WalkerActor
* @param DebuggerServerConnection conn
* The server connection.
*/
- initialize: function(conn, targetActor, options) {
- protocol.Actor.prototype.initialize.call(this, conn);
+ initialize: function(inspector, targetActor, options) {
+ protocol.Actor.prototype.initialize.call(this, inspector.conn);
+ this.inspector = inspector;
this.targetActor = targetActor;
this.rootWin = targetActor.window;
this.rootDoc = this.rootWin.document;
this._refMap = new Map();
this._pendingMutations = [];
this._activePseudoClassLocks = new Set();
this.customElementWatcher = new CustomElementWatcher(targetActor.chromeEventHandler);