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

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

Issue 2604883002: DevTools: namespace globals (Closed)
Patch Set: address CL feedback 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved.
3 * Copyright (C) 2009 Joseph Pecoraro 3 * Copyright (C) 2009 Joseph Pecoraro
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the 11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution. 12 * documentation and/or other materials provided with the distribution.
13 * 13 *
14 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY 14 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR 17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */ 25 */
26 26
27 /** 27 /**
28 * @unrestricted 28 * @unrestricted
29 */ 29 */
30 Components.ObjectPropertiesSection = class extends TreeOutlineInShadow { 30 Components.ObjectPropertiesSection = class extends UI.TreeOutlineInShadow {
31 /** 31 /**
32 * @param {!SDK.RemoteObject} object 32 * @param {!SDK.RemoteObject} object
33 * @param {?string|!Element=} title 33 * @param {?string|!Element=} title
34 * @param {!Components.Linkifier=} linkifier 34 * @param {!Components.Linkifier=} linkifier
35 * @param {?string=} emptyPlaceholder 35 * @param {?string=} emptyPlaceholder
36 * @param {boolean=} ignoreHasOwnProperty 36 * @param {boolean=} ignoreHasOwnProperty
37 * @param {!Array.<!SDK.RemoteObjectProperty>=} extraProperties 37 * @param {!Array.<!SDK.RemoteObjectProperty>=} extraProperties
38 */ 38 */
39 constructor(object, title, linkifier, emptyPlaceholder, ignoreHasOwnProperty, extraProperties) { 39 constructor(object, title, linkifier, emptyPlaceholder, ignoreHasOwnProperty, extraProperties) {
40 super(); 40 super();
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 } 364 }
365 365
366 /** 366 /**
367 * @param {boolean} value 367 * @param {boolean} value
368 */ 368 */
369 setEditable(value) { 369 setEditable(value) {
370 this._editable = value; 370 this._editable = value;
371 } 371 }
372 372
373 /** 373 /**
374 * @return {!TreeElement} 374 * @return {!UI.TreeElement}
375 */ 375 */
376 objectTreeElement() { 376 objectTreeElement() {
377 return this._objectTreeElement; 377 return this._objectTreeElement;
378 } 378 }
379 379
380 enableContextMenu() { 380 enableContextMenu() {
381 this.element.addEventListener('contextmenu', this._contextMenuEventFired.bin d(this), false); 381 this.element.addEventListener('contextmenu', this._contextMenuEventFired.bin d(this), false);
382 } 382 }
383 383
384 _contextMenuEventFired(event) { 384 _contextMenuEventFired(event) {
385 var contextMenu = new UI.ContextMenu(event); 385 var contextMenu = new UI.ContextMenu(event);
386 contextMenu.appendApplicableItems(this._object); 386 contextMenu.appendApplicableItems(this._object);
387 contextMenu.show(); 387 contextMenu.show();
388 } 388 }
389 389
390 titleLessMode() { 390 titleLessMode() {
391 this._objectTreeElement.listItemElement.classList.add('hidden'); 391 this._objectTreeElement.listItemElement.classList.add('hidden');
392 this._objectTreeElement.childrenListElement.classList.add('title-less-mode') ; 392 this._objectTreeElement.childrenListElement.classList.add('title-less-mode') ;
393 this._objectTreeElement.expand(); 393 this._objectTreeElement.expand();
394 } 394 }
395 }; 395 };
396 396
397 /** @const */ 397 /** @const */
398 Components.ObjectPropertiesSection._arrayLoadThreshold = 100; 398 Components.ObjectPropertiesSection._arrayLoadThreshold = 100;
399 399
400 400
401 /** 401 /**
402 * @unrestricted 402 * @unrestricted
403 */ 403 */
404 Components.ObjectPropertiesSection.RootElement = class extends TreeElement { 404 Components.ObjectPropertiesSection.RootElement = class extends UI.TreeElement {
405 /** 405 /**
406 * @param {!SDK.RemoteObject} object 406 * @param {!SDK.RemoteObject} object
407 * @param {!Components.Linkifier=} linkifier 407 * @param {!Components.Linkifier=} linkifier
408 * @param {?string=} emptyPlaceholder 408 * @param {?string=} emptyPlaceholder
409 * @param {boolean=} ignoreHasOwnProperty 409 * @param {boolean=} ignoreHasOwnProperty
410 * @param {!Array.<!SDK.RemoteObjectProperty>=} extraProperties 410 * @param {!Array.<!SDK.RemoteObjectProperty>=} extraProperties
411 */ 411 */
412 constructor(object, linkifier, emptyPlaceholder, ignoreHasOwnProperty, extraPr operties) { 412 constructor(object, linkifier, emptyPlaceholder, ignoreHasOwnProperty, extraPr operties) {
413 var contentElement = createElement('content'); 413 var contentElement = createElement('content');
414 super(contentElement); 414 super(contentElement);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 onpopulate() { 472 onpopulate() {
473 Components.ObjectPropertyTreeElement._populate( 473 Components.ObjectPropertyTreeElement._populate(
474 this, this._object, !!this.treeOutline._skipProto, this._linkifier, this ._emptyPlaceholder, 474 this, this._object, !!this.treeOutline._skipProto, this._linkifier, this ._emptyPlaceholder,
475 this._ignoreHasOwnProperty, this._extraProperties); 475 this._ignoreHasOwnProperty, this._extraProperties);
476 } 476 }
477 }; 477 };
478 478
479 /** 479 /**
480 * @unrestricted 480 * @unrestricted
481 */ 481 */
482 Components.ObjectPropertyTreeElement = class extends TreeElement { 482 Components.ObjectPropertyTreeElement = class extends UI.TreeElement {
483 /** 483 /**
484 * @param {!SDK.RemoteObjectProperty} property 484 * @param {!SDK.RemoteObjectProperty} property
485 * @param {!Components.Linkifier=} linkifier 485 * @param {!Components.Linkifier=} linkifier
486 */ 486 */
487 constructor(property, linkifier) { 487 constructor(property, linkifier) {
488 // Pass an empty title, the title gets made later in onattach. 488 // Pass an empty title, the title gets made later in onattach.
489 super(); 489 super();
490 490
491 this.property = property; 491 this.property = property;
492 this.toggleOnClick = true; 492 this.toggleOnClick = true;
493 this.selectable = false; 493 this.selectable = false;
494 /** @type {!Array.<!Object>} */ 494 /** @type {!Array.<!Object>} */
495 this._highlightChanges = []; 495 this._highlightChanges = [];
496 this._linkifier = linkifier; 496 this._linkifier = linkifier;
497 } 497 }
498 498
499 /** 499 /**
500 * @param {!TreeElement} treeElement 500 * @param {!UI.TreeElement} treeElement
501 * @param {!SDK.RemoteObject} value 501 * @param {!SDK.RemoteObject} value
502 * @param {boolean} skipProto 502 * @param {boolean} skipProto
503 * @param {!Components.Linkifier=} linkifier 503 * @param {!Components.Linkifier=} linkifier
504 * @param {?string=} emptyPlaceholder 504 * @param {?string=} emptyPlaceholder
505 * @param {boolean=} flattenProtoChain 505 * @param {boolean=} flattenProtoChain
506 * @param {!Array.<!SDK.RemoteObjectProperty>=} extraProperties 506 * @param {!Array.<!SDK.RemoteObjectProperty>=} extraProperties
507 * @param {!SDK.RemoteObject=} targetValue 507 * @param {!SDK.RemoteObject=} targetValue
508 */ 508 */
509 static _populate( 509 static _populate(
510 treeElement, 510 treeElement,
(...skipping 27 matching lines...) Expand all
538 treeElement, properties, internalProperties, skipProto, targetValue || value, linkifier, emptyPlaceholder); 538 treeElement, properties, internalProperties, skipProto, targetValue || value, linkifier, emptyPlaceholder);
539 } 539 }
540 540
541 if (flattenProtoChain) 541 if (flattenProtoChain)
542 value.getAllProperties(false, callback); 542 value.getAllProperties(false, callback);
543 else 543 else
544 SDK.RemoteObject.loadFromObjectPerProto(value, callback); 544 SDK.RemoteObject.loadFromObjectPerProto(value, callback);
545 } 545 }
546 546
547 /** 547 /**
548 * @param {!TreeElement} treeNode 548 * @param {!UI.TreeElement} treeNode
549 * @param {!Array.<!SDK.RemoteObjectProperty>} properties 549 * @param {!Array.<!SDK.RemoteObjectProperty>} properties
550 * @param {?Array.<!SDK.RemoteObjectProperty>} internalProperties 550 * @param {?Array.<!SDK.RemoteObjectProperty>} internalProperties
551 * @param {boolean} skipProto 551 * @param {boolean} skipProto
552 * @param {?SDK.RemoteObject} value 552 * @param {?SDK.RemoteObject} value
553 * @param {!Components.Linkifier=} linkifier 553 * @param {!Components.Linkifier=} linkifier
554 * @param {?string=} emptyPlaceholder 554 * @param {?string=} emptyPlaceholder
555 */ 555 */
556 static populateWithProperties( 556 static populateWithProperties(
557 treeNode, 557 treeNode,
558 properties, 558 properties,
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 treeElement.expand(); 601 treeElement.expand();
602 } 602 }
603 treeNode.appendChild(treeElement); 603 treeNode.appendChild(treeElement);
604 } 604 }
605 } 605 }
606 606
607 Components.ObjectPropertyTreeElement._appendEmptyPlaceholderIfNeeded(treeNod e, emptyPlaceholder); 607 Components.ObjectPropertyTreeElement._appendEmptyPlaceholderIfNeeded(treeNod e, emptyPlaceholder);
608 } 608 }
609 609
610 /** 610 /**
611 * @param {!TreeElement} treeNode 611 * @param {!UI.TreeElement} treeNode
612 * @param {?string=} emptyPlaceholder 612 * @param {?string=} emptyPlaceholder
613 */ 613 */
614 static _appendEmptyPlaceholderIfNeeded(treeNode, emptyPlaceholder) { 614 static _appendEmptyPlaceholderIfNeeded(treeNode, emptyPlaceholder) {
615 if (treeNode.childCount()) 615 if (treeNode.childCount())
616 return; 616 return;
617 var title = createElementWithClass('div', 'gray-info-message'); 617 var title = createElementWithClass('div', 'gray-info-message');
618 title.textContent = emptyPlaceholder || Common.UIString('No Properties'); 618 title.textContent = emptyPlaceholder || Common.UIString('No Properties');
619 var infoElement = new TreeElement(title); 619 var infoElement = new UI.TreeElement(title);
620 treeNode.appendChild(infoElement); 620 treeNode.appendChild(infoElement);
621 } 621 }
622 622
623 /** 623 /**
624 * @param {?SDK.RemoteObject} object 624 * @param {?SDK.RemoteObject} object
625 * @param {!Array.<string>} propertyPath 625 * @param {!Array.<string>} propertyPath
626 * @param {function(?SDK.RemoteObject, boolean=)} callback 626 * @param {function(?SDK.RemoteObject, boolean=)} callback
627 * @return {!Element} 627 * @return {!Element}
628 */ 628 */
629 static createRemoteObjectAccessorPropertySpan(object, propertyPath, callback) { 629 static createRemoteObjectAccessorPropertySpan(object, propertyPath, callback) {
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
952 } else { 952 } else {
953 this.setExpandable(false); 953 this.setExpandable(false);
954 } 954 }
955 } 955 }
956 }; 956 };
957 957
958 958
959 /** 959 /**
960 * @unrestricted 960 * @unrestricted
961 */ 961 */
962 Components.ArrayGroupingTreeElement = class extends TreeElement { 962 Components.ArrayGroupingTreeElement = class extends UI.TreeElement {
963 /** 963 /**
964 * @param {!SDK.RemoteObject} object 964 * @param {!SDK.RemoteObject} object
965 * @param {number} fromIndex 965 * @param {number} fromIndex
966 * @param {number} toIndex 966 * @param {number} toIndex
967 * @param {number} propertyCount 967 * @param {number} propertyCount
968 * @param {!Components.Linkifier=} linkifier 968 * @param {!Components.Linkifier=} linkifier
969 */ 969 */
970 constructor(object, fromIndex, toIndex, propertyCount, linkifier) { 970 constructor(object, fromIndex, toIndex, propertyCount, linkifier) {
971 super(String.sprintf('[%d \u2026 %d]', fromIndex, toIndex), true); 971 super(String.sprintf('[%d \u2026 %d]', fromIndex, toIndex), true);
972 this.toggleOnClick = true; 972 this.toggleOnClick = true;
973 this.selectable = false; 973 this.selectable = false;
974 this._fromIndex = fromIndex; 974 this._fromIndex = fromIndex;
975 this._toIndex = toIndex; 975 this._toIndex = toIndex;
976 this._object = object; 976 this._object = object;
977 this._readOnly = true; 977 this._readOnly = true;
978 this._propertyCount = propertyCount; 978 this._propertyCount = propertyCount;
979 this._linkifier = linkifier; 979 this._linkifier = linkifier;
980 } 980 }
981 981
982 /** 982 /**
983 * @param {!TreeElement} treeNode 983 * @param {!UI.TreeElement} treeNode
984 * @param {!SDK.RemoteObject} object 984 * @param {!SDK.RemoteObject} object
985 * @param {number} fromIndex 985 * @param {number} fromIndex
986 * @param {number} toIndex 986 * @param {number} toIndex
987 * @param {!Components.Linkifier=} linkifier 987 * @param {!Components.Linkifier=} linkifier
988 */ 988 */
989 static _populateArray(treeNode, object, fromIndex, toIndex, linkifier) { 989 static _populateArray(treeNode, object, fromIndex, toIndex, linkifier) {
990 Components.ArrayGroupingTreeElement._populateRanges(treeNode, object, fromIn dex, toIndex, true, linkifier); 990 Components.ArrayGroupingTreeElement._populateRanges(treeNode, object, fromIn dex, toIndex, true, linkifier);
991 } 991 }
992 992
993 /** 993 /**
994 * @param {!TreeElement} treeNode 994 * @param {!UI.TreeElement} treeNode
995 * @param {!SDK.RemoteObject} object 995 * @param {!SDK.RemoteObject} object
996 * @param {number} fromIndex 996 * @param {number} fromIndex
997 * @param {number} toIndex 997 * @param {number} toIndex
998 * @param {boolean} topLevel 998 * @param {boolean} topLevel
999 * @param {!Components.Linkifier=} linkifier 999 * @param {!Components.Linkifier=} linkifier
1000 * @this {Components.ArrayGroupingTreeElement} 1000 * @this {Components.ArrayGroupingTreeElement}
1001 */ 1001 */
1002 static _populateRanges(treeNode, object, fromIndex, toIndex, topLevel, linkifi er) { 1002 static _populateRanges(treeNode, object, fromIndex, toIndex, topLevel, linkifi er) {
1003 object.callFunctionJSON( 1003 object.callFunctionJSON(
1004 packRanges, 1004 packRanges,
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1104 } 1104 }
1105 } 1105 }
1106 if (topLevel) { 1106 if (topLevel) {
1107 Components.ArrayGroupingTreeElement._populateNonIndexProperties( 1107 Components.ArrayGroupingTreeElement._populateNonIndexProperties(
1108 treeNode, object, result.skipGetOwnPropertyNames, linkifier); 1108 treeNode, object, result.skipGetOwnPropertyNames, linkifier);
1109 } 1109 }
1110 } 1110 }
1111 } 1111 }
1112 1112
1113 /** 1113 /**
1114 * @param {!TreeElement} treeNode 1114 * @param {!UI.TreeElement} treeNode
1115 * @param {!SDK.RemoteObject} object 1115 * @param {!SDK.RemoteObject} object
1116 * @param {number} fromIndex 1116 * @param {number} fromIndex
1117 * @param {number} toIndex 1117 * @param {number} toIndex
1118 * @param {!Components.Linkifier=} linkifier 1118 * @param {!Components.Linkifier=} linkifier
1119 * @this {Components.ArrayGroupingTreeElement} 1119 * @this {Components.ArrayGroupingTreeElement}
1120 */ 1120 */
1121 static _populateAsFragment(treeNode, object, fromIndex, toIndex, linkifier) { 1121 static _populateAsFragment(treeNode, object, fromIndex, toIndex, linkifier) {
1122 object.callFunction( 1122 object.callFunction(
1123 buildArrayFragment, 1123 buildArrayFragment,
1124 [{value: fromIndex}, {value: toIndex}, {value: Components.ArrayGroupingT reeElement._sparseIterationThreshold}], 1124 [{value: fromIndex}, {value: toIndex}, {value: Components.ArrayGroupingT reeElement._sparseIterationThreshold}],
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1170 for (var i = 0; i < properties.length; ++i) { 1170 for (var i = 0; i < properties.length; ++i) {
1171 properties[i].parentObject = this._object; 1171 properties[i].parentObject = this._object;
1172 var childTreeElement = new Components.ObjectPropertyTreeElement(properti es[i], linkifier); 1172 var childTreeElement = new Components.ObjectPropertyTreeElement(properti es[i], linkifier);
1173 childTreeElement._readOnly = true; 1173 childTreeElement._readOnly = true;
1174 treeNode.appendChild(childTreeElement); 1174 treeNode.appendChild(childTreeElement);
1175 } 1175 }
1176 } 1176 }
1177 } 1177 }
1178 1178
1179 /** 1179 /**
1180 * @param {!TreeElement} treeNode 1180 * @param {!UI.TreeElement} treeNode
1181 * @param {!SDK.RemoteObject} object 1181 * @param {!SDK.RemoteObject} object
1182 * @param {boolean} skipGetOwnPropertyNames 1182 * @param {boolean} skipGetOwnPropertyNames
1183 * @param {!Components.Linkifier=} linkifier 1183 * @param {!Components.Linkifier=} linkifier
1184 * @this {Components.ArrayGroupingTreeElement} 1184 * @this {Components.ArrayGroupingTreeElement}
1185 */ 1185 */
1186 static _populateNonIndexProperties(treeNode, object, skipGetOwnPropertyNames, linkifier) { 1186 static _populateNonIndexProperties(treeNode, object, skipGetOwnPropertyNames, linkifier) {
1187 object.callFunction(buildObjectFragment, [{value: skipGetOwnPropertyNames}], processObjectFragment.bind(this)); 1187 object.callFunction(buildObjectFragment, [{value: skipGetOwnPropertyNames}], processObjectFragment.bind(this));
1188 1188
1189 /** 1189 /**
1190 * @param {boolean=} skipGetOwnPropertyNames 1190 * @param {boolean=} skipGetOwnPropertyNames
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1280 constructor() { 1280 constructor() {
1281 /** @type {!Set.<string>} */ 1281 /** @type {!Set.<string>} */
1282 this._expandedProperties = new Set(); 1282 this._expandedProperties = new Set();
1283 } 1283 }
1284 1284
1285 /** 1285 /**
1286 * @param {string} id 1286 * @param {string} id
1287 * @param {!Components.ObjectPropertiesSection} section 1287 * @param {!Components.ObjectPropertiesSection} section
1288 */ 1288 */
1289 watchSection(id, section) { 1289 watchSection(id, section) {
1290 section.addEventListener(TreeOutline.Events.ElementAttached, this._elementAt tached, this); 1290 section.addEventListener(UI.TreeOutline.Events.ElementAttached, this._elemen tAttached, this);
1291 section.addEventListener(TreeOutline.Events.ElementExpanded, this._elementEx panded, this); 1291 section.addEventListener(UI.TreeOutline.Events.ElementExpanded, this._elemen tExpanded, this);
1292 section.addEventListener(TreeOutline.Events.ElementCollapsed, this._elementC ollapsed, this); 1292 section.addEventListener(UI.TreeOutline.Events.ElementCollapsed, this._eleme ntCollapsed, this);
1293 section[Components.ObjectPropertiesSectionExpandController._treeOutlineId] = id; 1293 section[Components.ObjectPropertiesSectionExpandController._treeOutlineId] = id;
1294 1294
1295 if (this._expandedProperties.has(id)) 1295 if (this._expandedProperties.has(id))
1296 section.expand(); 1296 section.expand();
1297 } 1297 }
1298 1298
1299 /** 1299 /**
1300 * @param {string} id 1300 * @param {string} id
1301 */ 1301 */
1302 stopWatchSectionsWithId(id) { 1302 stopWatchSectionsWithId(id) {
1303 for (var property of this._expandedProperties) { 1303 for (var property of this._expandedProperties) {
1304 if (property.startsWith(id + ':')) 1304 if (property.startsWith(id + ':'))
1305 this._expandedProperties.delete(property); 1305 this._expandedProperties.delete(property);
1306 } 1306 }
1307 } 1307 }
1308 1308
1309 /** 1309 /**
1310 * @param {!Common.Event} event 1310 * @param {!Common.Event} event
1311 */ 1311 */
1312 _elementAttached(event) { 1312 _elementAttached(event) {
1313 var element = /** @type {!TreeElement} */ (event.data); 1313 var element = /** @type {!UI.TreeElement} */ (event.data);
1314 if (element.isExpandable() && this._expandedProperties.has(this._propertyPat h(element))) 1314 if (element.isExpandable() && this._expandedProperties.has(this._propertyPat h(element)))
1315 element.expand(); 1315 element.expand();
1316 } 1316 }
1317 1317
1318 /** 1318 /**
1319 * @param {!Common.Event} event 1319 * @param {!Common.Event} event
1320 */ 1320 */
1321 _elementExpanded(event) { 1321 _elementExpanded(event) {
1322 var element = /** @type {!TreeElement} */ (event.data); 1322 var element = /** @type {!UI.TreeElement} */ (event.data);
1323 this._expandedProperties.add(this._propertyPath(element)); 1323 this._expandedProperties.add(this._propertyPath(element));
1324 } 1324 }
1325 1325
1326 /** 1326 /**
1327 * @param {!Common.Event} event 1327 * @param {!Common.Event} event
1328 */ 1328 */
1329 _elementCollapsed(event) { 1329 _elementCollapsed(event) {
1330 var element = /** @type {!TreeElement} */ (event.data); 1330 var element = /** @type {!UI.TreeElement} */ (event.data);
1331 this._expandedProperties.delete(this._propertyPath(element)); 1331 this._expandedProperties.delete(this._propertyPath(element));
1332 } 1332 }
1333 1333
1334 /** 1334 /**
1335 * @param {!TreeElement} treeElement 1335 * @param {!UI.TreeElement} treeElement
1336 * @return {string} 1336 * @return {string}
1337 */ 1337 */
1338 _propertyPath(treeElement) { 1338 _propertyPath(treeElement) {
1339 var cachedPropertyPath = treeElement[Components.ObjectPropertiesSectionExpan dController._cachedPathSymbol]; 1339 var cachedPropertyPath = treeElement[Components.ObjectPropertiesSectionExpan dController._cachedPathSymbol];
1340 if (cachedPropertyPath) 1340 if (cachedPropertyPath)
1341 return cachedPropertyPath; 1341 return cachedPropertyPath;
1342 1342
1343 var current = treeElement; 1343 var current = treeElement;
1344 var rootElement = treeElement.treeOutline.objectTreeElement(); 1344 var rootElement = treeElement.treeOutline.objectTreeElement();
1345 1345
(...skipping 11 matching lines...) Expand all
1357 } 1357 }
1358 var treeOutlineId = treeElement.treeOutline[Components.ObjectPropertiesSecti onExpandController._treeOutlineId]; 1358 var treeOutlineId = treeElement.treeOutline[Components.ObjectPropertiesSecti onExpandController._treeOutlineId];
1359 result = treeOutlineId + (result ? ':' + result : ''); 1359 result = treeOutlineId + (result ? ':' + result : '');
1360 treeElement[Components.ObjectPropertiesSectionExpandController._cachedPathSy mbol] = result; 1360 treeElement[Components.ObjectPropertiesSectionExpandController._cachedPathSy mbol] = result;
1361 return result; 1361 return result;
1362 } 1362 }
1363 }; 1363 };
1364 1364
1365 Components.ObjectPropertiesSectionExpandController._cachedPathSymbol = Symbol('c achedPath'); 1365 Components.ObjectPropertiesSectionExpandController._cachedPathSymbol = Symbol('c achedPath');
1366 Components.ObjectPropertiesSectionExpandController._treeOutlineId = Symbol('tree OutlineId'); 1366 Components.ObjectPropertiesSectionExpandController._treeOutlineId = Symbol('tree OutlineId');
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698