| Index: Source/devtools/front_end/layers/LayerPaintProfilerView.js
|
| diff --git a/Source/devtools/front_end/layers/LayerPaintProfilerView.js b/Source/devtools/front_end/layers/LayerPaintProfilerView.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7977c56f25b22c89918ec049b79da95ebae57bfe
|
| --- /dev/null
|
| +++ b/Source/devtools/front_end/layers/LayerPaintProfilerView.js
|
| @@ -0,0 +1,59 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +/**
|
| + * @constructor
|
| + * @param {function(!WebInspector.Layer, string=)} showImageForLayerCallback
|
| + * @extends {WebInspector.SplitView}
|
| + */
|
| +WebInspector.LayerPaintProfilerView = function(showImageForLayerCallback)
|
| +{
|
| + WebInspector.SplitView.call(this, true, false);
|
| +
|
| + this._showImageForLayerCallback = showImageForLayerCallback;
|
| + this._logTreeView = new WebInspector.PaintProfilerCommandLogView();
|
| + this._logTreeView.show(this.sidebarElement());
|
| + this._paintProfilerView = new WebInspector.PaintProfilerView(this._showImage.bind(this));
|
| + this._paintProfilerView.show(this.mainElement());
|
| +
|
| + this._paintProfilerView.addEventListener(WebInspector.PaintProfilerView.Events.WindowChanged, this._onWindowChanged, this);
|
| +}
|
| +
|
| +WebInspector.LayerPaintProfilerView.prototype = {
|
| + /**
|
| + * @param {!WebInspector.Layer} layer
|
| + */
|
| + profileLayer: function(layer)
|
| + {
|
| + layer.requestSnapshot(onSnapshotDone.bind(this));
|
| +
|
| + /**
|
| + * @param {!WebInspector.PaintProfilerSnapshot=} snapshot
|
| + * @this {WebInspector.LayerPaintProfilerView}
|
| + */
|
| + function onSnapshotDone(snapshot)
|
| + {
|
| + this._layer = layer;
|
| + this._paintProfilerView.setSnapshot(snapshot || null);
|
| + this._logTreeView.setSnapshot(snapshot || null);
|
| + }
|
| + },
|
| +
|
| + _onWindowChanged: function()
|
| + {
|
| + var window = this._paintProfilerView.windowBoundaries();
|
| + this._logTreeView.updateWindow(window.left, window.right);
|
| + },
|
| +
|
| + /**
|
| + * @param {string=} imageURL
|
| + */
|
| + _showImage: function(imageURL)
|
| + {
|
| + this._showImageForLayerCallback(this._layer, imageURL);
|
| + },
|
| +
|
| + __proto__: WebInspector.SplitView.prototype
|
| +};
|
| +
|
|
|