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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/elements/ElementsTreeOutline.js

Issue 2604883002: DevTools: namespace globals (Closed)
Patch Set: address CL feedback Created 3 years, 12 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) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com> 3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
4 * Copyright (C) 2009 Joseph Pecoraro 4 * Copyright (C) 2009 Joseph Pecoraro
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 13 matching lines...) Expand all
24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 /** 31 /**
32 * @unrestricted 32 * @unrestricted
33 */ 33 */
34 Elements.ElementsTreeOutline = class extends TreeOutline { 34 Elements.ElementsTreeOutline = class extends UI.TreeOutline {
35 /** 35 /**
36 * @param {!SDK.DOMModel} domModel 36 * @param {!SDK.DOMModel} domModel
37 * @param {boolean=} omitRootDOMNode 37 * @param {boolean=} omitRootDOMNode
38 * @param {boolean=} selectEnabled 38 * @param {boolean=} selectEnabled
39 */ 39 */
40 constructor(domModel, omitRootDOMNode, selectEnabled) { 40 constructor(domModel, omitRootDOMNode, selectEnabled) {
41 super(); 41 super();
42 42
43 this._domModel = domModel; 43 this._domModel = domModel;
44 this._treeElementSymbol = Symbol('treeElement'); 44 this._treeElementSymbol = Symbol('treeElement');
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 if (!treeElement && node.nodeType() === Node.TEXT_NODE) { 419 if (!treeElement && node.nodeType() === Node.TEXT_NODE) {
420 // The text node might have been inlined if it was short, so try to find t he parent element. 420 // The text node might have been inlined if it was short, so try to find t he parent element.
421 treeElement = this._lookUpTreeElement(node.parentNode); 421 treeElement = this._lookUpTreeElement(node.parentNode);
422 } 422 }
423 423
424 return /** @type {?Elements.ElementsTreeElement} */ (treeElement); 424 return /** @type {?Elements.ElementsTreeElement} */ (treeElement);
425 } 425 }
426 426
427 /** 427 /**
428 * @param {?SDK.DOMNode} node 428 * @param {?SDK.DOMNode} node
429 * @return {?TreeElement} 429 * @return {?UI.TreeElement}
430 */ 430 */
431 _lookUpTreeElement(node) { 431 _lookUpTreeElement(node) {
432 if (!node) 432 if (!node)
433 return null; 433 return null;
434 434
435 var cachedElement = node[this._treeElementSymbol]; 435 var cachedElement = node[this._treeElementSymbol];
436 if (cachedElement) 436 if (cachedElement)
437 return cachedElement; 437 return cachedElement;
438 438
439 // Walk up the parent pointers from the desired node 439 // Walk up the parent pointers from the desired node
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 if (!node) 491 if (!node)
492 return; 492 return;
493 var treeElement = this.createTreeElementFor(node); 493 var treeElement = this.createTreeElementFor(node);
494 if (!treeElement) 494 if (!treeElement)
495 return; 495 return;
496 496
497 treeElement.revealAndSelect(omitFocus); 497 treeElement.revealAndSelect(omitFocus);
498 } 498 }
499 499
500 /** 500 /**
501 * @return {?TreeElement} 501 * @return {?UI.TreeElement}
502 */ 502 */
503 _treeElementFromEvent(event) { 503 _treeElementFromEvent(event) {
504 var scrollContainer = this.element.parentElement; 504 var scrollContainer = this.element.parentElement;
505 505
506 // We choose this X coordinate based on the knowledge that our list 506 // We choose this X coordinate based on the knowledge that our list
507 // items extend at least to the right edge of the outer <ol> container. 507 // items extend at least to the right edge of the outer <ol> container.
508 // In the no-word-wrap mode the outer <ol> may be wider than the tree contai ner 508 // In the no-word-wrap mode the outer <ol> may be wider than the tree contai ner
509 // (and partially hidden), in which case we are left to use only its right b oundary. 509 // (and partially hidden), in which case we are left to use only its right b oundary.
510 var x = scrollContainer.totalOffsetLeft() + scrollContainer.offsetWidth - 36 ; 510 var x = scrollContainer.totalOffsetLeft() + scrollContainer.offsetWidth - 36 ;
511 511
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 _onmousedown(event) { 601 _onmousedown(event) {
602 var element = this._treeElementFromEvent(event); 602 var element = this._treeElementFromEvent(event);
603 603
604 if (!element || element.isEventWithinDisclosureTriangle(event)) 604 if (!element || element.isEventWithinDisclosureTriangle(event))
605 return; 605 return;
606 606
607 element.select(); 607 element.select();
608 } 608 }
609 609
610 /** 610 /**
611 * @param {?TreeElement} treeElement 611 * @param {?UI.TreeElement} treeElement
612 */ 612 */
613 setHoverEffect(treeElement) { 613 setHoverEffect(treeElement) {
614 if (this._previousHoveredElement === treeElement) 614 if (this._previousHoveredElement === treeElement)
615 return; 615 return;
616 616
617 if (this._previousHoveredElement) { 617 if (this._previousHoveredElement) {
618 this._previousHoveredElement.hovered = false; 618 this._previousHoveredElement.hovered = false;
619 delete this._previousHoveredElement; 619 delete this._previousHoveredElement;
620 } 620 }
621 621
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 return false; 693 return false;
694 } 694 }
695 695
696 _ondragleave(event) { 696 _ondragleave(event) {
697 this._clearDragOverTreeElementMarker(); 697 this._clearDragOverTreeElementMarker();
698 event.preventDefault(); 698 event.preventDefault();
699 return false; 699 return false;
700 } 700 }
701 701
702 /** 702 /**
703 * @param {?TreeElement} treeElement 703 * @param {?UI.TreeElement} treeElement
704 * @return {boolean} 704 * @return {boolean}
705 */ 705 */
706 _isValidDragSourceOrTarget(treeElement) { 706 _isValidDragSourceOrTarget(treeElement) {
707 if (!treeElement) 707 if (!treeElement)
708 return false; 708 return false;
709 709
710 if (!(treeElement instanceof Elements.ElementsTreeElement)) 710 if (!(treeElement instanceof Elements.ElementsTreeElement))
711 return false; 711 return false;
712 var elementsTreeElement = /** @type {!Elements.ElementsTreeElement} */ (tree Element); 712 var elementsTreeElement = /** @type {!Elements.ElementsTreeElement} */ (tree Element);
713 713
714 var node = elementsTreeElement.node(); 714 var node = elementsTreeElement.node();
715 if (!node.parentNode || node.parentNode.nodeType() !== Node.ELEMENT_NODE) 715 if (!node.parentNode || node.parentNode.nodeType() !== Node.ELEMENT_NODE)
716 return false; 716 return false;
717 717
718 return true; 718 return true;
719 } 719 }
720 720
721 _ondrop(event) { 721 _ondrop(event) {
722 event.preventDefault(); 722 event.preventDefault();
723 var treeElement = this._treeElementFromEvent(event); 723 var treeElement = this._treeElementFromEvent(event);
724 if (treeElement) 724 if (treeElement)
725 this._doMove(treeElement); 725 this._doMove(treeElement);
726 } 726 }
727 727
728 /** 728 /**
729 * @param {!TreeElement} treeElement 729 * @param {!UI.TreeElement} treeElement
730 */ 730 */
731 _doMove(treeElement) { 731 _doMove(treeElement) {
732 if (!this._treeElementBeingDragged) 732 if (!this._treeElementBeingDragged)
733 return; 733 return;
734 734
735 var parentNode; 735 var parentNode;
736 var anchorNode; 736 var anchorNode;
737 737
738 if (treeElement.isClosingTag()) { 738 if (treeElement.isClosingTag()) {
739 // Drop onto closing tag -> insert as last child. 739 // Drop onto closing tag -> insert as last child.
(...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after
1271 return true; 1271 return true;
1272 if (node.isInsertionPoint()) 1272 if (node.isInsertionPoint())
1273 return true; 1273 return true;
1274 return !!node.childNodeCount() && !Elements.ElementsTreeElement.canShowInlin eText(node); 1274 return !!node.childNodeCount() && !Elements.ElementsTreeElement.canShowInlin eText(node);
1275 } 1275 }
1276 1276
1277 /** 1277 /**
1278 * @param {!Elements.ElementsTreeElement} treeElement 1278 * @param {!Elements.ElementsTreeElement} treeElement
1279 */ 1279 */
1280 _createExpandAllButtonTreeElement(treeElement) { 1280 _createExpandAllButtonTreeElement(treeElement) {
1281 var button = createTextButton('', handleLoadAllChildren.bind(this)); 1281 var button = UI.createTextButton('', handleLoadAllChildren.bind(this));
1282 button.value = ''; 1282 button.value = '';
1283 var expandAllButtonElement = new TreeElement(button); 1283 var expandAllButtonElement = new UI.TreeElement(button);
1284 expandAllButtonElement.selectable = false; 1284 expandAllButtonElement.selectable = false;
1285 expandAllButtonElement.expandAllButton = true; 1285 expandAllButtonElement.expandAllButton = true;
1286 expandAllButtonElement.button = button; 1286 expandAllButtonElement.button = button;
1287 return expandAllButtonElement; 1287 return expandAllButtonElement;
1288 1288
1289 /** 1289 /**
1290 * @this {Elements.ElementsTreeOutline} 1290 * @this {Elements.ElementsTreeOutline}
1291 * @param {!Event} event 1291 * @param {!Event} event
1292 */ 1292 */
1293 function handleLoadAllChildren(event) { 1293 function handleLoadAllChildren(event) {
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
1626 treeOutline.element.treeElementForTest = treeOutline.firstChild(); 1626 treeOutline.element.treeElementForTest = treeOutline.firstChild();
1627 resolve(treeOutline.element); 1627 resolve(treeOutline.element);
1628 } 1628 }
1629 } 1629 }
1630 } 1630 }
1631 }; 1631 };
1632 1632
1633 /** 1633 /**
1634 * @unrestricted 1634 * @unrestricted
1635 */ 1635 */
1636 Elements.ElementsTreeOutline.ShortcutTreeElement = class extends TreeElement { 1636 Elements.ElementsTreeOutline.ShortcutTreeElement = class extends UI.TreeElement {
1637 /** 1637 /**
1638 * @param {!SDK.DOMNodeShortcut} nodeShortcut 1638 * @param {!SDK.DOMNodeShortcut} nodeShortcut
1639 */ 1639 */
1640 constructor(nodeShortcut) { 1640 constructor(nodeShortcut) {
1641 super(''); 1641 super('');
1642 this.listItemElement.createChild('div', 'selection fill'); 1642 this.listItemElement.createChild('div', 'selection fill');
1643 var title = this.listItemElement.createChild('span', 'elements-tree-shortcut -title'); 1643 var title = this.listItemElement.createChild('span', 'elements-tree-shortcut -title');
1644 var text = nodeShortcut.nodeName.toLowerCase(); 1644 var text = nodeShortcut.nodeName.toLowerCase();
1645 if (nodeShortcut.nodeType === Node.ELEMENT_NODE) 1645 if (nodeShortcut.nodeType === Node.ELEMENT_NODE)
1646 text = '<' + text + '>'; 1646 text = '<' + text + '>';
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1694 */ 1694 */
1695 function resolved(node) { 1695 function resolved(node) {
1696 if (node) { 1696 if (node) {
1697 this.treeOutline._selectedDOMNode = node; 1697 this.treeOutline._selectedDOMNode = node;
1698 this.treeOutline._selectedNodeChanged(); 1698 this.treeOutline._selectedNodeChanged();
1699 } 1699 }
1700 } 1700 }
1701 return true; 1701 return true;
1702 } 1702 }
1703 }; 1703 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698