Index: Source/devtools/front_end/sdk/LayerTreeModel.js |
diff --git a/Source/devtools/front_end/sdk/LayerTreeModel.js b/Source/devtools/front_end/sdk/LayerTreeModel.js |
index 4d59bb10986f6d2691df03fc949f87b525855739..61ce10bd2fc900a23322aec69eba926e14b9ad5e 100644 |
--- a/Source/devtools/front_end/sdk/LayerTreeModel.js |
+++ b/Source/devtools/front_end/sdk/LayerTreeModel.js |
@@ -49,7 +49,7 @@ WebInspector.TracingLayerPayload; |
WebInspector.LayerTreeModel = function(target) |
{ |
WebInspector.SDKObject.call(this, target); |
- InspectorBackend.registerLayerTreeDispatcher(new WebInspector.LayerTreeDispatcher(this)); |
+ target.registerLayerTreeDispatcher(new WebInspector.LayerTreeDispatcher(this)); |
target.domModel.addEventListener(WebInspector.DOMModel.Events.DocumentUpdated, this._onDocumentUpdated, this); |
/** @type {?WebInspector.LayerTreeBase} */ |
this._layerTree = null; |
@@ -74,7 +74,7 @@ WebInspector.LayerTreeModel.prototype = { |
return; |
this._enabled = false; |
this._layerTree = null; |
- LayerTreeAgent.disable(); |
+ this.target().layerTreeAgent().disable(); |
}, |
enable: function() |
@@ -82,9 +82,9 @@ WebInspector.LayerTreeModel.prototype = { |
if (this._enabled) |
return; |
this._enabled = true; |
- this._layerTree = new WebInspector.AgentLayerTree(this.target().weakReference()); |
+ this._layerTree = new WebInspector.AgentLayerTree(this.target()); |
this._lastPaintRectByLayerId = {}; |
- LayerTreeAgent.enable(); |
+ this.target().layerTreeAgent().enable(); |
}, |
/** |
@@ -163,11 +163,11 @@ WebInspector.LayerTreeModel.prototype = { |
/** |
* @constructor |
- * @param {!WeakReference.<!WebInspector.Target>} weakTarget |
+ * @param {?WebInspector.Target} target |
*/ |
-WebInspector.LayerTreeBase = function(weakTarget) |
+WebInspector.LayerTreeBase = function(target) |
{ |
- this._weakTarget = weakTarget; |
+ this._target = target; |
this._layersById = {}; |
this._backendNodeIdToNodeId = {}; |
this._reset(); |
@@ -226,13 +226,12 @@ WebInspector.LayerTreeBase.prototype = { |
*/ |
_resolveBackendNodeIds: function(requestedNodeIds, callback) |
{ |
- var target = this._weakTarget.get(); |
- if (!requestedNodeIds.length || !target) { |
+ if (!requestedNodeIds.length || !this._target) { |
callback(); |
return; |
} |
- target.domModel.pushNodesByBackendIdsToFrontend(requestedNodeIds, populateBackendNodeIdMap.bind(this)); |
+ this._target.domModel.pushNodesByBackendIdsToFrontend(requestedNodeIds, populateBackendNodeIdMap.bind(this)); |
/** |
* @this {WebInspector.LayerTreeBase} |
@@ -273,19 +272,18 @@ WebInspector.LayerTreeBase.prototype = { |
*/ |
_nodeForId: function(id) |
{ |
- var target = this._weakTarget.get(); |
- return target ? target.domModel.nodeForId(id) : null; |
+ return this._target ? this._target.domModel.nodeForId(id) : null; |
} |
}; |
/** |
* @constructor |
* @extends {WebInspector.LayerTreeBase} |
- * @param {!WeakReference.<!WebInspector.Target>} weakTarget |
+ * @param {?WebInspector.Target} target |
*/ |
-WebInspector.TracingLayerTree = function(weakTarget) |
+WebInspector.TracingLayerTree = function(target) |
{ |
- WebInspector.LayerTreeBase.call(this, weakTarget); |
+ WebInspector.LayerTreeBase.call(this, target); |
} |
WebInspector.TracingLayerTree.prototype = { |
@@ -357,12 +355,12 @@ WebInspector.TracingLayerTree.prototype = { |
/** |
* @constructor |
- * @param {!WeakReference.<!WebInspector.Target>} weakTarget |
+ * @param {?WebInspector.Target} target |
* @extends {WebInspector.LayerTreeBase} |
*/ |
-WebInspector.AgentLayerTree = function(weakTarget) |
+WebInspector.AgentLayerTree = function(target) |
{ |
- WebInspector.LayerTreeBase.call(this, weakTarget); |
+ WebInspector.LayerTreeBase.call(this, target); |
} |
WebInspector.AgentLayerTree.prototype = { |
@@ -417,7 +415,7 @@ WebInspector.AgentLayerTree.prototype = { |
if (layer) |
layer._reset(layers[i]); |
else |
- layer = new WebInspector.AgentLayer(this._weakTarget, layers[i]); |
+ layer = new WebInspector.AgentLayer(this._target, layers[i]); |
this._layersById[layerId] = layer; |
if (layers[i].backendNodeId) { |
layer._setNode(this._nodeForId(this._backendNodeIdToNodeId[layers[i].backendNodeId])); |
@@ -560,12 +558,12 @@ WebInspector.Layer.prototype = { |
/** |
* @constructor |
* @implements {WebInspector.Layer} |
- * @param {!WeakReference.<!WebInspector.Target>} weakTarget |
+ * @param {?WebInspector.Target} target |
* @param {!LayerTreeAgent.Layer} layerPayload |
*/ |
-WebInspector.AgentLayer = function(weakTarget, layerPayload) |
+WebInspector.AgentLayer = function(target, layerPayload) |
{ |
- this._weakTarget = weakTarget; |
+ this._target = target; |
this._reset(layerPayload); |
} |
@@ -746,8 +744,13 @@ WebInspector.AgentLayer.prototype = { |
*/ |
requestCompositingReasons: function(callback) |
{ |
+ if (!this._target) { |
+ callback([]); |
+ return; |
+ } |
+ |
var wrappedCallback = InspectorBackend.wrapClientCallback(callback, "LayerTreeAgent.reasonsForCompositingLayer(): ", undefined, []); |
- LayerTreeAgent.compositingReasons(this.id(), wrappedCallback); |
+ this._target.layerTreeAgent().compositingReasons(this.id(), wrappedCallback); |
}, |
/** |
@@ -755,8 +758,13 @@ WebInspector.AgentLayer.prototype = { |
*/ |
requestSnapshot: function(callback) |
{ |
- var wrappedCallback = InspectorBackend.wrapClientCallback(callback, "LayerTreeAgent.makeSnapshot(): ", WebInspector.PaintProfilerSnapshot.bind(null, this._weakTarget)); |
- LayerTreeAgent.makeSnapshot(this.id(), wrappedCallback); |
+ if (!this._target) { |
+ callback(); |
+ return; |
+ } |
+ |
+ var wrappedCallback = InspectorBackend.wrapClientCallback(callback, "LayerTreeAgent.makeSnapshot(): ", WebInspector.PaintProfilerSnapshot.bind(null, this._target)); |
+ this._target.layerTreeAgent().makeSnapshot(this.id(), wrappedCallback); |
}, |
/** |
@@ -1093,11 +1101,11 @@ WebInspector.TracingLayer.prototype = { |
/** |
* @constructor |
- * @param {!WeakReference.<!WebInspector.Target>} weakTarget |
+ * @param {?WebInspector.Target} target |
*/ |
-WebInspector.DeferredLayerTree = function(weakTarget) |
+WebInspector.DeferredLayerTree = function(target) |
{ |
- this._weakTarget = weakTarget; |
+ this._target = target; |
} |
WebInspector.DeferredLayerTree.prototype = { |
@@ -1107,23 +1115,23 @@ WebInspector.DeferredLayerTree.prototype = { |
resolve: function(callback) { }, |
/** |
- * @return {!WeakReference.<!WebInspector.Target>} |
+ * @return {?WebInspector.Target} |
*/ |
- weakTarget: function() |
+ target: function() |
{ |
- return this._weakTarget; |
+ return this._target; |
} |
}; |
/** |
* @constructor |
* @extends {WebInspector.DeferredLayerTree} |
- * @param {!WeakReference.<!WebInspector.Target>} weakTarget |
+ * @param {?WebInspector.Target} target |
* @param {!Array.<!LayerTreeAgent.Layer>} layers |
*/ |
-WebInspector.DeferredAgentLayerTree = function(weakTarget, layers) |
+WebInspector.DeferredAgentLayerTree = function(target, layers) |
{ |
- WebInspector.DeferredLayerTree.call(this, weakTarget); |
+ WebInspector.DeferredLayerTree.call(this, target); |
this._layers = layers; |
} |
@@ -1133,7 +1141,7 @@ WebInspector.DeferredAgentLayerTree.prototype = { |
*/ |
resolve: function(callback) |
{ |
- var result = new WebInspector.AgentLayerTree(this._weakTarget); |
+ var result = new WebInspector.AgentLayerTree(this._target); |
result.setLayers(this._layers, callback.bind(null, result)); |
}, |
@@ -1143,13 +1151,13 @@ WebInspector.DeferredAgentLayerTree.prototype = { |
/** |
* @constructor |
* @extends {WebInspector.DeferredLayerTree} |
- * @param {!WeakReference.<!WebInspector.Target>} weakTarget |
+ * @param {?WebInspector.Target} target |
* @param {!WebInspector.TracingLayerPayload} root |
* @param {!Object} viewportSize |
*/ |
-WebInspector.DeferredTracingLayerTree = function(weakTarget, root, viewportSize) |
+WebInspector.DeferredTracingLayerTree = function(target, root, viewportSize) |
{ |
- WebInspector.DeferredLayerTree.call(this, weakTarget); |
+ WebInspector.DeferredLayerTree.call(this, target); |
this._root = root; |
this._viewportSize = viewportSize; |
} |
@@ -1160,7 +1168,7 @@ WebInspector.DeferredTracingLayerTree.prototype = { |
*/ |
resolve: function(callback) |
{ |
- var result = new WebInspector.TracingLayerTree(this._weakTarget); |
+ var result = new WebInspector.TracingLayerTree(this._target); |
result.setViewportSize(this._viewportSize); |
result.setLayers(this._root, callback.bind(null, result)); |
}, |