Index: third_party/WebKit/Source/devtools/front_end/layers/LayerTreeModel.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/layers/LayerTreeModel.js b/third_party/WebKit/Source/devtools/front_end/layers/LayerTreeModel.js |
index b620d4662761c890f0cb2e5cea9203aaeecfa6ca..c39653bb4ca4794ed60fc24ea43409740045e794 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/layers/LayerTreeModel.js |
+++ b/third_party/WebKit/Source/devtools/front_end/layers/LayerTreeModel.js |
@@ -34,7 +34,9 @@ |
Layers.LayerTreeModel = class extends SDK.SDKModel { |
constructor(target) { |
super(target); |
+ this._layerTreeAgent = target.layerTreeAgent(); |
target.registerLayerTreeDispatcher(new Layers.LayerTreeDispatcher(this)); |
+ this._paintProfilerModel = /** @type {!SDK.PaintProfilerModel} */ (target.model(SDK.PaintProfilerModel)); |
var resourceTreeModel = target.model(SDK.ResourceTreeModel); |
if (resourceTreeModel) { |
resourceTreeModel.addEventListener( |
@@ -48,7 +50,7 @@ Layers.LayerTreeModel = class extends SDK.SDKModel { |
if (!this._enabled) |
return; |
this._enabled = false; |
- this.target().layerTreeAgent().disable(); |
+ this._layerTreeAgent.disable(); |
} |
enable() { |
@@ -61,8 +63,8 @@ Layers.LayerTreeModel = class extends SDK.SDKModel { |
_forceEnable() { |
this._lastPaintRectByLayerId = {}; |
if (!this._layerTree) |
- this._layerTree = new Layers.AgentLayerTree(this.target()); |
- this.target().layerTreeAgent().enable(); |
+ this._layerTree = new Layers.AgentLayerTree(this); |
+ this._layerTreeAgent.enable(); |
} |
/** |
@@ -134,10 +136,11 @@ Layers.LayerTreeModel.Events = { |
*/ |
Layers.AgentLayerTree = class extends SDK.LayerTreeBase { |
/** |
- * @param {?SDK.Target} target |
+ * @param {!Layers.LayerTreeModel} layerTreeModel |
*/ |
- constructor(target) { |
- super(target); |
+ constructor(layerTreeModel) { |
+ super(layerTreeModel.target()); |
+ this._layerTreeModel = layerTreeModel; |
} |
/** |
@@ -186,7 +189,7 @@ Layers.AgentLayerTree = class extends SDK.LayerTreeBase { |
if (layer) |
layer._reset(layers[i]); |
else |
- layer = new Layers.AgentLayer(this.target(), layers[i]); |
+ layer = new Layers.AgentLayer(this._layerTreeModel, layers[i]); |
this._layersById[layerId] = layer; |
var backendNodeId = layers[i].backendNodeId; |
if (backendNodeId) |
@@ -218,11 +221,11 @@ Layers.AgentLayerTree = class extends SDK.LayerTreeBase { |
*/ |
Layers.AgentLayer = class { |
/** |
- * @param {?SDK.Target} target |
+ * @param {!Layers.LayerTreeModel} layerTreeModel |
* @param {!Protocol.LayerTree.Layer} layerPayload |
*/ |
- constructor(target, layerPayload) { |
- this._target = target; |
+ constructor(layerTreeModel, layerPayload) { |
+ this._layerTreeModel = layerTreeModel; |
this._reset(layerPayload); |
} |
@@ -401,14 +404,9 @@ Layers.AgentLayer = class { |
* @param {function(!Array.<string>)} callback |
*/ |
requestCompositingReasons(callback) { |
- if (!this._target) { |
- callback([]); |
- return; |
- } |
- |
var wrappedCallback = Protocol.inspectorBackend.wrapClientCallback( |
callback, 'Protocol.LayerTree.reasonsForCompositingLayer(): ', undefined, []); |
- this._target.layerTreeAgent().compositingReasons(this.id(), wrappedCallback); |
+ this._layerTreeModel._layerTreeAgent.compositingReasons(this.id(), wrappedCallback); |
} |
/** |
@@ -436,11 +434,11 @@ Layers.AgentLayer = class { |
* @return {!Array<!Promise<?SDK.SnapshotWithRect>>} |
*/ |
snapshots() { |
- var rect = {x: 0, y: 0, width: this.width(), height: this.height()}; |
- var promise = this._target.layerTreeAgent().makeSnapshot( |
- this.id(), (error, snapshotId) => error || !this._target ? |
- null : |
- {rect: rect, snapshot: new SDK.PaintProfilerSnapshot(this._target, snapshotId)}); |
+ var promise = this._layerTreeModel._paintProfilerModel.makeSnapshot(this.id()).then(snapshot => { |
+ if (!snapshot) |
+ return null; |
+ return {rect: {x: 0, y: 0, width: this.width(), height: this.height()}, snapshot: snapshot}; |
+ }); |
return [promise]; |
} |