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

Unified Diff: Source/devtools/front_end/timeline/PaintProfilerView.js

Issue 393123007: DevTools: Remove popover and add properties section for paint profiler log. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Removed ObjectPropertiesSection. Created 6 years, 5 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
« no previous file with comments | « Source/devtools/front_end/layersPanel.css ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/timeline/PaintProfilerView.js
diff --git a/Source/devtools/front_end/timeline/PaintProfilerView.js b/Source/devtools/front_end/timeline/PaintProfilerView.js
index e71c33b97c097225103d0c4c508919603ddd2067..c576ceb753417de3ead6a39c0e40f7d2924b6fbc 100644
--- a/Source/devtools/front_end/timeline/PaintProfilerView.js
+++ b/Source/devtools/front_end/timeline/PaintProfilerView.js
@@ -245,13 +245,12 @@ WebInspector.PaintProfilerCommandLogView = function()
{
WebInspector.VBox.call(this);
this.setMinimumSize(100, 25);
- this.element.classList.add("outline-disclosure");
- var sidebarTreeElement = this.element.createChild("ol", "sidebar-tree");
+ this.element.classList.add("outline-disclosure", "profiler-log-view", "section");
+ var sidebarTreeElement = this.element.createChild("ol", "sidebar-tree properties monospace");
sidebarTreeElement.addEventListener("mousemove", this._onMouseMove.bind(this), false);
sidebarTreeElement.addEventListener("mouseout", this._onMouseMove.bind(this), false);
sidebarTreeElement.addEventListener("contextmenu", this._onContextMenu.bind(this), true);
this.sidebarTree = new TreeOutline(sidebarTreeElement);
- this._popoverHelper = new WebInspector.ObjectPopoverHelper(this.element, this._getHoverAnchor.bind(this), this._resolveObjectForPopover.bind(this), undefined, true);
this._reset();
}
@@ -278,8 +277,7 @@ WebInspector.PaintProfilerCommandLogView.prototype = {
stepRight = stepRight || this._log.length - 1;
this.sidebarTree.removeChildren();
for (var i = stepLeft; i <= stepRight; ++i) {
- var node = new WebInspector.LogTreeElement(this, this._log[i]);
- this.sidebarTree.appendChild(node);
+ WebInspector.LogTreeElement.appendLogItem(this.sidebarTree, this, this._log[i]);
caseq 2014/07/31 13:00:11 Let's make it an instance method of PaintProfilerC
malch 2014/07/31 13:55:54 Done.
}
},
@@ -289,35 +287,12 @@ WebInspector.PaintProfilerCommandLogView.prototype = {
},
/**
- * @param {!Element} target
- * @return {!Element}
- */
- _getHoverAnchor: function(target)
- {
- return /** @type {!Element} */ (target.enclosingNodeOrSelfWithNodeName("span"));
- },
-
- /**
- * @param {!Element} element
- * @param {function(!WebInspector.RemoteObject, boolean, !Element=):undefined} showCallback
- */
- _resolveObjectForPopover: function(element, showCallback)
- {
- var liElement = element.enclosingNodeOrSelfWithNodeName("li");
- var logItem = liElement.treeElement.representedObject;
- var obj = {"method": logItem.method};
- if (logItem.params)
- obj.params = logItem.params;
- showCallback(WebInspector.RemoteObject.fromLocalObject(obj), false);
- },
-
- /**
* @param {?Event} event
*/
_onMouseMove: function(event)
{
var node = this.sidebarTree.treeElementFromPoint(event.pageX, event.pageY);
- if (node === this._lastHoveredNode)
+ if (node === this._lastHoveredNode || !(node instanceof WebInspector.LogTreeElement))
return;
if (this._lastHoveredNode)
this._lastHoveredNode.setHovered(false);
@@ -334,7 +309,7 @@ WebInspector.PaintProfilerCommandLogView.prototype = {
if (!this._target)
return;
var node = this.sidebarTree.treeElementFromPoint(event.pageX, event.pageY);
- if (!node || !node.representedObject)
+ if (!node || !node.representedObject || !(node instanceof WebInspector.LogTreeElement))
return;
var logItem = /** @type {!WebInspector.PaintProfilerLogItem} */ (node.representedObject);
if (!logItem.nodeId())
@@ -356,7 +331,7 @@ WebInspector.PaintProfilerCommandLogView.prototype = {
*/
WebInspector.LogTreeElement = function(ownerView, logItem)
{
- TreeElement.call(this, "", logItem);
+ TreeElement.call(this, "yo", logItem);
caseq 2014/07/31 13:00:11 yo!
malch 2014/07/31 13:55:53 Done.
this._ownerView = ownerView;
this._update();
}
@@ -403,11 +378,9 @@ WebInspector.LogTreeElement.prototype = {
var logItem = this.representedObject;
var title = document.createDocumentFragment();
title.createChild("div", "selection");
- var span = title.createChild("span");
var textContent = logItem.method;
- if (logItem.params)
- textContent += "(" + this._paramsToString(logItem.params) + ")";
- span.textContent = textContent;
+ textContent += "(" + this._paramsToString(logItem.params) + ")";
caseq 2014/07/31 13:00:11 just inline above line + this one into the below c
malch 2014/07/31 13:55:54 Done.
+ title.createTextChild(textContent);
this.title = title;
},
@@ -445,6 +418,79 @@ WebInspector.LogTreeElement.prototype = {
};
/**
+ * @param {!TreeOutline} treeOutline
+ * @param {!WebInspector.PaintProfilerCommandLogView} ownerView
+ * @param {!WebInspector.PaintProfilerLogItem} logItem
+ */
+WebInspector.LogTreeElement.appendLogItem = function(treeOutline, ownerView, logItem)
+{
+ var first = new WebInspector.LogTreeElement(ownerView, logItem);
+ treeOutline.appendChild(first);
+ for (var param in logItem.params)
+ WebInspector.LogPropertyTreeElement.appendLogPropertyItem(first, param, logItem.params[param]);
+};
+
+/**
+ * @constructor
+ * @param {!{name: string, value}} property
+ * @extends {TreeElement}
+ */
+WebInspector.LogPropertyTreeElement = function(property)
+{
+ TreeElement.call(this, "", property);
+};
+
+WebInspector.LogPropertyTreeElement.prototype = {
+ onattach: function()
+ {
+ this._update();
+ },
+
+ /**
+ * @param {*} value
+ * @return {string}
+ */
+ _type: function(value)
+ {
+ return value === null ? "null" : typeof value;
+ },
+
+ _update: function()
+ {
+ var property = this.representedObject;
+ var title = document.createDocumentFragment();
+ title.createChild("div", "selection");
+ var nameElement = title.createChild("span", "name");
+ nameElement.textContent = property.name;
+ var separatorElement = title.createChild("span", "separator");
+ separatorElement.textContent = ": ";
+ if (property.value === null || typeof property.value !== "object") {
+ var valueElement = title.createChild("span", "value");
+ valueElement.textContent = JSON.stringify(property.value);
+ valueElement.classList.add("console-formatted-" + this._type(property.value));
+ }
+ this.title = title;
+ },
+
+ __proto__: TreeElement.prototype
+};
+
+/**
+ * @param {!TreeElement} element
+ * @param {string} name
+ * @param {*} value
+ */
+WebInspector.LogPropertyTreeElement.appendLogPropertyItem = function(element, name, value)
caseq 2014/07/31 13:48:39 make it _private and move just after LogPropertyTr
malch 2014/07/31 13:55:53 Done.
+{
+ var treeElement = new WebInspector.LogPropertyTreeElement({name: name, value: value});
+ element.appendChild(treeElement);
+ if (value && typeof value === "object") {
+ for (var property in value)
+ WebInspector.LogPropertyTreeElement.appendLogPropertyItem(treeElement, property, value[property]);
+ }
+};
+
+/**
* @return {!Object.<string, !WebInspector.PaintProfilerCategory>}
*/
WebInspector.PaintProfilerView.categories = function()
« no previous file with comments | « Source/devtools/front_end/layersPanel.css ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698