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

Side by Side Diff: Source/devtools/front_end/ui/DOMExtension.js

Issue 596323002: DevTools: make ElementsTreeOutline shadow dom-based. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: tests fixed Created 6 years, 2 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007 Apple Inc. All rights reserved. 2 * Copyright (C) 2007 Apple Inc. All rights reserved.
3 * Copyright (C) 2012 Google Inc. All rights reserved. 3 * Copyright (C) 2012 Google Inc. All rights reserved.
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 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 node = node.previousSibling; 649 node = node.previousSibling;
650 leftOffset += node.textContent.length; 650 leftOffset += node.textContent.length;
651 } 651 }
652 node = node.parentNodeOrShadowHost(); 652 node = node.parentNodeOrShadowHost();
653 } 653 }
654 654
655 return leftOffset; 655 return leftOffset;
656 } 656 }
657 657
658 /** 658 /**
659 * @return {string}
660 */
661 Node.prototype.deepTextContent = function()
662 {
663 var node = this.traverseNextTextNode(this);
664 var result = [];
665 var nonTextTags = { "STYLE": 1, "SCRIPT": 1 };
666 while (node) {
667 if (!nonTextTags[node.parentElement.nodeName])
668 result.push(node.textContent);
669 node = node.traverseNextTextNode(this);
670 }
671 return result.join("");
672 }
673
674 /**
659 * @param {?Node} node 675 * @param {?Node} node
660 * @return {boolean} 676 * @return {boolean}
661 */ 677 */
662 Node.prototype.isAncestor = function(node) 678 Node.prototype.isAncestor = function(node)
663 { 679 {
664 if (!node) 680 if (!node)
665 return false; 681 return false;
666 682
667 var currentNode = node.parentNodeOrShadowHost(); 683 var currentNode = node.parentNodeOrShadowHost();
668 while (currentNode) { 684 while (currentNode) {
(...skipping 30 matching lines...) Expand all
699 { 715 {
700 return !!node && (node === this || this.isDescendant(node)); 716 return !!node && (node === this || this.isDescendant(node));
701 } 717 }
702 718
703 /** 719 /**
704 * @param {!Node=} stayWithin 720 * @param {!Node=} stayWithin
705 * @return {?Node} 721 * @return {?Node}
706 */ 722 */
707 Node.prototype.traverseNextNode = function(stayWithin) 723 Node.prototype.traverseNextNode = function(stayWithin)
708 { 724 {
709 var node = this.firstChild; 725 if (this.firstChild)
710 if (node) 726 return this.firstChild;
711 return node; 727
728 if (this.shadowRoot)
729 return this.shadowRoot;
712 730
713 if (stayWithin && this === stayWithin) 731 if (stayWithin && this === stayWithin)
714 return null; 732 return null;
715 733
716 node = this.nextSibling; 734 var node = this.nextSibling;
717 if (node) 735 if (node)
718 return node; 736 return node;
719 737
720 node = this; 738 node = this;
721 while (node && !node.nextSibling && (!stayWithin || !node.parentNodeOrShadow Host() || node.parentNodeOrShadowHost() !== stayWithin)) 739 while (node && !node.nextSibling && (!stayWithin || !node.parentNodeOrShadow Host() || node.parentNodeOrShadowHost() !== stayWithin))
722 node = node.parentNodeOrShadowHost(); 740 node = node.parentNodeOrShadowHost();
723 if (!node) 741 if (!node)
724 return null; 742 return null;
725 743
726 return node.nextSibling; 744 return node.nextSibling;
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 */ 810 */
793 function isEnterKey(event) { 811 function isEnterKey(event) {
794 // Check if in IME. 812 // Check if in IME.
795 return event.keyCode !== 229 && event.keyIdentifier === "Enter"; 813 return event.keyCode !== 229 && event.keyIdentifier === "Enter";
796 } 814 }
797 815
798 function consumeEvent(e) 816 function consumeEvent(e)
799 { 817 {
800 e.consume(); 818 e.consume();
801 } 819 }
OLDNEW
« no previous file with comments | « Source/devtools/front_end/inspectorSyntaxHighlight.css ('k') | Source/devtools/front_end/ui/RootView.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698