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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/components/RemoteObjectPreviewFormatter.js

Issue 2521513006: DevTools: allow array previews to show static array getters (Closed)
Patch Set: Created 4 years 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 unified diff | Download patch
« no previous file with comments | « third_party/WebKit/LayoutTests/inspector/console/console-log-object-with-getter-expected.txt ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 /** 4 /**
5 * @unrestricted 5 * @unrestricted
6 */ 6 */
7 Components.RemoteObjectPreviewFormatter = class { 7 Components.RemoteObjectPreviewFormatter = class {
8 /** 8 /**
9 * @param {!Element} parentElement 9 * @param {!Element} parentElement
10 * @param {!Protocol.Runtime.ObjectPreview} preview 10 * @param {!Protocol.Runtime.ObjectPreview} preview
(...skipping 29 matching lines...) Expand all
40 * @param {!Element} parentElement 40 * @param {!Element} parentElement
41 * @param {!Protocol.Runtime.ObjectPreview} preview 41 * @param {!Protocol.Runtime.ObjectPreview} preview
42 */ 42 */
43 _appendPropertiesPreview(parentElement, preview) { 43 _appendPropertiesPreview(parentElement, preview) {
44 var isArray = preview.subtype === 'array' || preview.subtype === 'typedarray '; 44 var isArray = preview.subtype === 'array' || preview.subtype === 'typedarray ';
45 var arrayLength = SDK.RemoteObject.arrayLength(preview); 45 var arrayLength = SDK.RemoteObject.arrayLength(preview);
46 var properties = preview.properties; 46 var properties = preview.properties;
47 if (isArray) 47 if (isArray)
48 properties = properties.slice().stableSort(compareIndexesFirst); 48 properties = properties.slice().stableSort(compareIndexesFirst);
49 else 49 else
50 properties = properties.slice().stableSort(compareFunctionsLast); 50 properties = properties.filter(p => p.type !== 'accessor').stableSort(comp areFunctionsLast);
51 51
52 /** 52 /**
53 * @param {!Protocol.Runtime.PropertyPreview} a 53 * @param {!Protocol.Runtime.PropertyPreview} a
54 * @param {!Protocol.Runtime.PropertyPreview} b 54 * @param {!Protocol.Runtime.PropertyPreview} b
55 */ 55 */
56 function compareFunctionsLast(a, b) { 56 function compareFunctionsLast(a, b) {
57 if (a.type !== 'function' && b.type === 'function') 57 if (a.type !== 'function' && b.type === 'function')
58 return -1; 58 return -1;
59 if (a.type === 'function' && b.type !== 'function') 59 if (a.type === 'function' && b.type !== 'function')
60 return 1; 60 return 1;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 /** 140 /**
141 * @param {string} type 141 * @param {string} type
142 * @param {string=} subtype 142 * @param {string=} subtype
143 * @param {string=} description 143 * @param {string=} description
144 * @return {!Element} 144 * @return {!Element}
145 */ 145 */
146 renderPropertyPreview(type, subtype, description) { 146 renderPropertyPreview(type, subtype, description) {
147 var span = createElementWithClass('span', 'object-value-' + (subtype || type )); 147 var span = createElementWithClass('span', 'object-value-' + (subtype || type ));
148 description = description || ''; 148 description = description || '';
149 149
150 if (type === 'accessor') {
151 span.textContent = '(...)';
dgozman 2016/11/24 00:38:49 Let's make this clickable when we can.
dgozman 2016/12/05 23:16:51 Let's just have a tooltip with explanation.
luoe 2016/12/06 01:30:44 Added as "The property is computed with a getter"
152 return span;
153 }
154
150 if (type === 'function') { 155 if (type === 'function') {
151 span.textContent = 'function'; 156 span.textContent = 'function';
152 return span; 157 return span;
153 } 158 }
154 159
155 if (type === 'object' && subtype === 'node' && description) { 160 if (type === 'object' && subtype === 'node' && description) {
156 Components.DOMPresentationUtils.createSpansForNodeTitle(span, description) ; 161 Components.DOMPresentationUtils.createSpansForNodeTitle(span, description) ;
157 return span; 162 return span;
158 } 163 }
159 164
160 if (type === 'string') { 165 if (type === 'string') {
161 span.createTextChildren('"', description.replace(/\n/g, '\u21B5'), '"'); 166 span.createTextChildren('"', description.replace(/\n/g, '\u21B5'), '"');
162 return span; 167 return span;
163 } 168 }
164 169
165 if (type === 'object' && !subtype) { 170 if (type === 'object' && !subtype) {
166 span.textContent = this._abbreviateFullQualifiedClassName(description); 171 span.textContent = this._abbreviateFullQualifiedClassName(description);
167 return span; 172 return span;
168 } 173 }
169 174
170 span.textContent = description; 175 span.textContent = description;
171 return span; 176 return span;
172 } 177 }
173 }; 178 };
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/inspector/console/console-log-object-with-getter-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698