OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 Components.JavaScriptAutocomplete = {}; | 5 Components.JavaScriptAutocomplete = {}; |
6 | 6 |
7 /** @typedef {{title:(string|undefined), items:Array<string>}} */ | 7 /** @typedef {{title:(string|undefined), items:Array<string>}} */ |
8 Components.JavaScriptAutocomplete.CompletionGroup; | 8 Components.JavaScriptAutocomplete.CompletionGroup; |
9 | 9 |
10 /** | 10 /** |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 | 95 |
96 /** | 96 /** |
97 * @param {?SDK.RemoteObject} object | 97 * @param {?SDK.RemoteObject} object |
98 * @return {!Promise<?SDK.RemoteObject>} | 98 * @return {!Promise<?SDK.RemoteObject>} |
99 */ | 99 */ |
100 function extractTarget(object) { | 100 function extractTarget(object) { |
101 if (!object) | 101 if (!object) |
102 return Promise.resolve(/** @type {?SDK.RemoteObject} */ (null)); | 102 return Promise.resolve(/** @type {?SDK.RemoteObject} */ (null)); |
103 if (object.type !== 'object' || object.subtype !== 'proxy') | 103 if (object.type !== 'object' || object.subtype !== 'proxy') |
104 return Promise.resolve(/** @type {?SDK.RemoteObject} */ (object)); | 104 return Promise.resolve(/** @type {?SDK.RemoteObject} */ (object)); |
105 return object.getOwnPropertiesPromise().then(extractTargetFromProperties).
then(extractTarget); | 105 return object.getOwnPropertiesPromise(false /* generatePreview */) |
| 106 .then(extractTargetFromProperties) |
| 107 .then(extractTarget); |
106 } | 108 } |
107 | 109 |
108 /** | 110 /** |
109 * @param {!{properties: ?Array<!SDK.RemoteObjectProperty>, internalProperti
es: ?Array<!SDK.RemoteObjectProperty>}} properties | 111 * @param {!{properties: ?Array<!SDK.RemoteObjectProperty>, internalProperti
es: ?Array<!SDK.RemoteObjectProperty>}} properties |
110 * @return {?SDK.RemoteObject} | 112 * @return {?SDK.RemoteObject} |
111 */ | 113 */ |
112 function extractTargetFromProperties(properties) { | 114 function extractTargetFromProperties(properties) { |
113 var internalProperties = properties.internalProperties || []; | 115 var internalProperties = properties.internalProperties || []; |
114 var target = internalProperties.find(property => property.name === '[[Targ
et]]'); | 116 var target = internalProperties.find(property => property.name === '[[Targ
et]]'); |
115 return target ? target.value : null; | 117 return target ? target.value : null; |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 group.items.push(properties[i].name); | 199 group.items.push(properties[i].name); |
198 if (--pendingRequests === 0) | 200 if (--pendingRequests === 0) |
199 callback(result); | 201 callback(result); |
200 } | 202 } |
201 | 203 |
202 var scopeChain = callFrame.scopeChain(); | 204 var scopeChain = callFrame.scopeChain(); |
203 var pendingRequests = scopeChain.length; | 205 var pendingRequests = scopeChain.length; |
204 for (var i = 0; i < scopeChain.length; ++i) { | 206 for (var i = 0; i < scopeChain.length; ++i) { |
205 var scope = scopeChain[i]; | 207 var scope = scopeChain[i]; |
206 var object = scope.object(); | 208 var object = scope.object(); |
207 object.getAllProperties(false, propertiesCollected.bind(null, scope.typeNa
me())); | 209 object.getAllProperties( |
| 210 false /* accessorPropertiesOnly */, false /* generatePreview */, |
| 211 propertiesCollected.bind(null, scope.typeName())); |
208 } | 212 } |
209 } | 213 } |
210 | 214 |
211 /** | 215 /** |
212 * @param {?SDK.RemoteObject} result | 216 * @param {?SDK.RemoteObject} result |
213 * @param {!Protocol.Runtime.ExceptionDetails=} exceptionDetails | 217 * @param {!Protocol.Runtime.ExceptionDetails=} exceptionDetails |
214 */ | 218 */ |
215 function receivedPropertyNamesFromEval(result, exceptionDetails) { | 219 function receivedPropertyNamesFromEval(result, exceptionDetails) { |
216 executionContext.target().runtimeAgent().releaseObjectGroup('completion'); | 220 executionContext.target().runtimeAgent().releaseObjectGroup('completion'); |
217 if (result && !exceptionDetails) | 221 if (result && !exceptionDetails) |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 var structuredGroup = | 330 var structuredGroup = |
327 caseSensitivePrefix.concat(caseInsensitivePrefix, caseSensitiveAnywhere,
caseInsensitiveAnywhere); | 331 caseSensitivePrefix.concat(caseInsensitivePrefix, caseSensitiveAnywhere,
caseInsensitiveAnywhere); |
328 if (structuredGroup.length && group.title !== lastGroupTitle) { | 332 if (structuredGroup.length && group.title !== lastGroupTitle) { |
329 structuredGroup[0].subtitle = group.title; | 333 structuredGroup[0].subtitle = group.title; |
330 lastGroupTitle = group.title; | 334 lastGroupTitle = group.title; |
331 } | 335 } |
332 result = result.concat(structuredGroup); | 336 result = result.concat(structuredGroup); |
333 } | 337 } |
334 return result; | 338 return result; |
335 }; | 339 }; |
OLD | NEW |