Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1010)

Unified Diff: third_party/WebKit/Source/devtools/front_end/layers/LayerTreeModel.js

Issue 2845813003: [DevTools] Host paint profiles in PaintProfilerModel (Closed)
Patch Set: addressed comments Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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];
}

Powered by Google App Engine
This is Rietveld 408576698