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

Unified Diff: third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js

Issue 2629073004: ac (Closed)
Patch Set: Created 3 years, 11 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/components/ObjectPropertiesSection.js
diff --git a/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js b/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js
index c767dd5976fca7a8f3fdd253e32f4fae001bcae5..13124125924eeb437ab55b9cf809c7be0ca7ea1f 100644
--- a/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js
+++ b/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js
@@ -181,6 +181,7 @@ Components.ObjectPropertiesSection = class extends UI.TreeOutlineInShadow {
} else {
addElements('function', text, nameAndArguments(text));
}
+ valueElement.title = description || '';
return valueElement;
/**
@@ -219,15 +220,17 @@ Components.ObjectPropertiesSection = class extends UI.TreeOutlineInShadow {
* @param {boolean} wasThrown
* @param {!Element=} parentElement
* @param {!Components.Linkifier=} linkifier
+ * @param {boolean=} hidePreview
* @return {!Element}
*/
- static createValueElementWithCustomSupport(value, wasThrown, parentElement, linkifier) {
+ static createValueElementWithCustomSupport(value, wasThrown, parentElement, linkifier, hidePreview) {
if (value.customPreview()) {
var result = (new Components.CustomPreviewComponent(value)).element;
result.classList.add('object-properties-section-custom-section');
return result;
}
- return Components.ObjectPropertiesSection.createValueElement(value, wasThrown, parentElement, linkifier);
+ return Components.ObjectPropertiesSection.createValueElement(
+ value, wasThrown, parentElement, linkifier, hidePreview);
}
/**
@@ -235,9 +238,10 @@ Components.ObjectPropertiesSection = class extends UI.TreeOutlineInShadow {
* @param {boolean} wasThrown
* @param {!Element=} parentElement
* @param {!Components.Linkifier=} linkifier
+ * @param {boolean=} hidePreview
* @return {!Element}
*/
- static createValueElement(value, wasThrown, parentElement, linkifier) {
+ static createValueElement(value, wasThrown, parentElement, linkifier, hidePreview) {
var valueElement;
var type = value.type;
var subtype = value.subtype;
@@ -248,24 +252,25 @@ Components.ObjectPropertiesSection = class extends UI.TreeOutlineInShadow {
if (rawLocation && linkifier)
return linkifier.linkifyRawLocation(rawLocation, '');
valueElement = createUnknownInternalLocationElement();
- valueElement.title = description;
} else if (type === 'string' && typeof description === 'string') {
valueElement = createStringElement();
- valueElement.title = description;
} else if (type === 'function') {
valueElement = Components.ObjectPropertiesSection.valueElementForFunctionDescription(description);
- valueElement.title = description;
} else if (type === 'object' && subtype === 'node' && description) {
valueElement = createNodeElement();
} else if (type === 'number' && description && description.indexOf('e') !== -1) {
valueElement = createNumberWithExponentElement();
- valueElement.title = description;
if (parentElement) // FIXME: do it in the caller.
parentElement.classList.add('hbox');
} else {
valueElement = createElementWithClass('span', 'object-value-' + (subtype || type));
- valueElement.setTextContentTruncatedIfNeeded(description);
- valueElement.title = description;
+ valueElement.title = description || '';
+ if (Runtime.experiments.isEnabled('objectPreviews') && value.preview && !hidePreview) {
+ var previewFormatter = new Components.RemoteObjectPreviewFormatter();
+ previewFormatter.appendObjectPreview(valueElement, value.preview);
+ } else {
+ valueElement.setTextContentTruncatedIfNeeded(description);
+ }
}
if (wasThrown) {
@@ -284,6 +289,7 @@ Components.ObjectPropertiesSection = class extends UI.TreeOutlineInShadow {
function createUnknownInternalLocationElement() {
var valueElement = createElementWithClass('span');
valueElement.textContent = '<' + Common.UIString('unknown') + '>';
+ valueElement.title = description || '';
return valueElement;
}
@@ -295,6 +301,7 @@ Components.ObjectPropertiesSection = class extends UI.TreeOutlineInShadow {
valueElement.createChild('span', 'object-value-string-quote').textContent = '"';
valueElement.createTextChild('').setTextContentTruncatedIfNeeded(description.replace(/\n/g, '\u21B5'));
valueElement.createChild('span', 'object-value-string-quote').textContent = '"';
+ valueElement.title = description || '';
return valueElement;
}
@@ -309,7 +316,7 @@ Components.ObjectPropertiesSection = class extends UI.TreeOutlineInShadow {
event.consume(true);
}, false);
valueElement.addEventListener('mousemove', () => SDK.DOMModel.highlightObjectAsDOMNode(value), false);
- valueElement.addEventListener('mouseleave', SDK.DOMModel.hideDOMNodeHighlight, false);
+ valueElement.addEventListener('mouseleave', () => SDK.DOMModel.hideDOMNodeHighlight(), false);
return valueElement;
}
@@ -322,6 +329,7 @@ Components.ObjectPropertiesSection = class extends UI.TreeOutlineInShadow {
valueElement.createChild('span', 'object-value-scientific-notation-mantissa').textContent = numberParts[0];
valueElement.createChild('span', 'object-value-scientific-notation-exponent').textContent = 'e' + numberParts[1];
valueElement.classList.add('object-value-scientific-notation-number');
+ valueElement.title = description || '';
return valueElement;
}
}
@@ -546,10 +554,11 @@ Components.ObjectPropertyTreeElement = class extends UI.TreeElement {
treeElement, properties, internalProperties, skipProto, targetValue || value, linkifier, emptyPlaceholder);
}
+ var generatePreview = Runtime.experiments.isEnabled('objectPreviews');
if (flattenProtoChain)
- value.getAllProperties(false, callback);
+ value.getAllProperties(false, generatePreview, callback);
else
- SDK.RemoteObject.loadFromObjectPerProto(value, callback);
+ SDK.RemoteObject.loadFromObjectPerProto(value, generatePreview, callback);
}
/**
@@ -781,8 +790,9 @@ Components.ObjectPropertyTreeElement = class extends UI.TreeElement {
separatorElement.textContent = ': ';
if (this.property.value) {
+ var hidePreview = this.property.name === '__proto__';
this.valueElement = Components.ObjectPropertiesSection.createValueElementWithCustomSupport(
- this.property.value, this.property.wasThrown, this.listItemElement, this._linkifier);
+ this.property.value, this.property.wasThrown, this.listItemElement, this._linkifier, hidePreview);
this.valueElement.addEventListener('contextmenu', this._contextMenuFired.bind(this, this.property), false);
} else if (this.property.getter) {
this.valueElement = Components.ObjectPropertyTreeElement.createRemoteObjectAccessorPropertySpan(
@@ -1166,7 +1176,8 @@ Components.ArrayGroupingTreeElement = class extends UI.TreeElement {
function processArrayFragment(arrayFragment, wasThrown) {
if (!arrayFragment || wasThrown)
return;
- arrayFragment.getAllProperties(false, processProperties.bind(this));
+ arrayFragment.getAllProperties(
+ false, Runtime.experiments.isEnabled('objectPreviews'), processProperties.bind(this));
}
/** @this {Components.ArrayGroupingTreeElement} */
@@ -1224,7 +1235,7 @@ Components.ArrayGroupingTreeElement = class extends UI.TreeElement {
function processObjectFragment(arrayFragment, wasThrown) {
if (!arrayFragment || wasThrown)
return;
- arrayFragment.getOwnProperties(processProperties.bind(this));
+ arrayFragment.getOwnProperties(Runtime.experiments.isEnabled('objectPreviews'), processProperties.bind(this));
}
/**

Powered by Google App Engine
This is Rietveld 408576698