| 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..cfa4d22c0ec215818666c9db169b024af77107d8 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.layerSnapshot(this.id()).then(snapshot => {
|
| + if (!snapshot)
|
| + return null;
|
| + return {rect: {x: 0, y: 0, width: this.width(), height: this.height()}, snapshot: snapshot};
|
| + });
|
| return [promise];
|
| }
|
|
|
|
|