Changeset 94781 in webkit
- Timestamp:
- Sep 8, 2011 12:38:18 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 2 deleted
- 11 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r94780 r94781 1 2011-09-08 Erik Arvidsson <arv@chromium.org> 2 3 Move Element.contains to Node 4 https://bugs.webkit.org/show_bug.cgi?id=67651 5 6 Reviewed by Darin Adler. 7 8 This moves the contains method from Element to Node as in the DOM4 working draft: 9 http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains 10 11 This also special cases Document contains to make it O(1) instead of O(depth). 12 13 * fast/dom/Element/contains-method-expected.txt: Removed. 14 * fast/dom/Element/script-tests/contains-method.js: Removed. 15 * fast/dom/Node/contains-method-expected.txt: Added. 16 * fast/dom/Node/contains-method.html: Renamed from LayoutTests/fast/dom/Element/contains-method.html. 17 * fast/dom/Node/script-tests/contains-method.js: Added. Expanded tests. 18 * fast/dom/Window/window-properties-expected.txt: 19 * perf/document-contains-expected.txt: Added. 20 * perf/document-contains.html: Added. 21 Perf test to ensure that document.contains is O(1). 22 * platform/gtk/fast/dom/Window/window-properties-expected.txt: 23 * platform/mac/fast/dom/Window/window-properties-expected.txt: 24 * platform/qt-wk2/fast/dom/Window/window-properties-expected.txt: 25 * platform/qt/fast/dom/Window/window-properties-expected.txt: 26 1 27 2011-09-08 Chris Rogers <crogers@google.com> 2 28 -
trunk/LayoutTests/fast/dom/Window/window-properties-expected.txt
r93491 r94781 27 27 window.Attr.prototype.cloneNode [function] 28 28 window.Attr.prototype.compareDocumentPosition [function] 29 window.Attr.prototype.contains [function] 29 30 window.Attr.prototype.dispatchEvent [function] 30 31 window.Attr.prototype.hasAttributes [function] … … 180 181 window.CDATASection.prototype.cloneNode [function] 181 182 window.CDATASection.prototype.compareDocumentPosition [function] 183 window.CDATASection.prototype.contains [function] 182 184 window.CDATASection.prototype.deleteData [function] 183 185 window.CDATASection.prototype.dispatchEvent [function] … … 451 453 window.CharacterData.prototype.cloneNode [function] 452 454 window.CharacterData.prototype.compareDocumentPosition [function] 455 window.CharacterData.prototype.contains [function] 453 456 window.CharacterData.prototype.deleteData [function] 454 457 window.CharacterData.prototype.dispatchEvent [function] … … 622 625 window.Document.prototype.cloneNode [function] 623 626 window.Document.prototype.compareDocumentPosition [function] 627 window.Document.prototype.contains [function] 624 628 window.Document.prototype.createAttribute [function] 625 629 window.Document.prototype.createAttributeNS [function] … … 696 700 window.DocumentFragment.prototype.cloneNode [function] 697 701 window.DocumentFragment.prototype.compareDocumentPosition [function] 702 window.DocumentFragment.prototype.contains [function] 698 703 window.DocumentFragment.prototype.dispatchEvent [function] 699 704 window.DocumentFragment.prototype.hasAttributes [function] … … 736 741 window.DocumentType.prototype.cloneNode [function] 737 742 window.DocumentType.prototype.compareDocumentPosition [function] 743 window.DocumentType.prototype.contains [function] 738 744 window.DocumentType.prototype.dispatchEvent [function] 739 745 window.DocumentType.prototype.hasAttributes [function] … … 843 849 window.Entity.prototype.cloneNode [function] 844 850 window.Entity.prototype.compareDocumentPosition [function] 851 window.Entity.prototype.contains [function] 845 852 window.Entity.prototype.dispatchEvent [function] 846 853 window.Entity.prototype.hasAttributes [function] … … 881 888 window.EntityReference.prototype.cloneNode [function] 882 889 window.EntityReference.prototype.compareDocumentPosition [function] 890 window.EntityReference.prototype.contains [function] 883 891 window.EntityReference.prototype.dispatchEvent [function] 884 892 window.EntityReference.prototype.hasAttributes [function] … … 1253 1261 window.Node.prototype.cloneNode [function] 1254 1262 window.Node.prototype.compareDocumentPosition [function] 1263 window.Node.prototype.contains [function] 1255 1264 window.Node.prototype.dispatchEvent [function] 1256 1265 window.Node.prototype.hasAttributes [function] -
trunk/LayoutTests/platform/gtk/fast/dom/Window/window-properties-expected.txt
r94650 r94781 27 27 window.Attr.prototype.cloneNode [function] 28 28 window.Attr.prototype.compareDocumentPosition [function] 29 window.Attr.prototype.contains [function] 29 30 window.Attr.prototype.dispatchEvent [function] 30 31 window.Attr.prototype.hasAttributes [function] … … 180 181 window.CDATASection.prototype.cloneNode [function] 181 182 window.CDATASection.prototype.compareDocumentPosition [function] 183 window.CDATASection.prototype.contains [function] 182 184 window.CDATASection.prototype.deleteData [function] 183 185 window.CDATASection.prototype.dispatchEvent [function] … … 451 453 window.CharacterData.prototype.cloneNode [function] 452 454 window.CharacterData.prototype.compareDocumentPosition [function] 455 window.CharacterData.prototype.contains [function] 453 456 window.CharacterData.prototype.deleteData [function] 454 457 window.CharacterData.prototype.dispatchEvent [function] … … 675 678 window.Document.prototype.cloneNode [function] 676 679 window.Document.prototype.compareDocumentPosition [function] 680 window.Document.prototype.contains [function] 677 681 window.Document.prototype.createAttribute [function] 678 682 window.Document.prototype.createAttributeNS [function] … … 749 753 window.DocumentFragment.prototype.cloneNode [function] 750 754 window.DocumentFragment.prototype.compareDocumentPosition [function] 755 window.DocumentFragment.prototype.contains [function] 751 756 window.DocumentFragment.prototype.dispatchEvent [function] 752 757 window.DocumentFragment.prototype.hasAttributes [function] … … 789 794 window.DocumentType.prototype.cloneNode [function] 790 795 window.DocumentType.prototype.compareDocumentPosition [function] 796 window.DocumentType.prototype.contains [function] 791 797 window.DocumentType.prototype.dispatchEvent [function] 792 798 window.DocumentType.prototype.hasAttributes [function] … … 896 902 window.Entity.prototype.cloneNode [function] 897 903 window.Entity.prototype.compareDocumentPosition [function] 904 window.Entity.prototype.contains [function] 898 905 window.Entity.prototype.dispatchEvent [function] 899 906 window.Entity.prototype.hasAttributes [function] … … 934 941 window.EntityReference.prototype.cloneNode [function] 935 942 window.EntityReference.prototype.compareDocumentPosition [function] 943 window.EntityReference.prototype.contains [function] 936 944 window.EntityReference.prototype.dispatchEvent [function] 937 945 window.EntityReference.prototype.hasAttributes [function] … … 1334 1342 window.Node.prototype.cloneNode [function] 1335 1343 window.Node.prototype.compareDocumentPosition [function] 1344 window.Node.prototype.contains [function] 1336 1345 window.Node.prototype.dispatchEvent [function] 1337 1346 window.Node.prototype.hasAttributes [function] -
trunk/LayoutTests/platform/mac/fast/dom/Window/window-properties-expected.txt
r94614 r94781 27 27 window.Attr.prototype.cloneNode [function] 28 28 window.Attr.prototype.compareDocumentPosition [function] 29 window.Attr.prototype.contains [function] 29 30 window.Attr.prototype.dispatchEvent [function] 30 31 window.Attr.prototype.hasAttributes [function] … … 180 181 window.CDATASection.prototype.cloneNode [function] 181 182 window.CDATASection.prototype.compareDocumentPosition [function] 183 window.CDATASection.prototype.contains [function] 182 184 window.CDATASection.prototype.deleteData [function] 183 185 window.CDATASection.prototype.dispatchEvent [function] … … 451 453 window.CharacterData.prototype.cloneNode [function] 452 454 window.CharacterData.prototype.compareDocumentPosition [function] 455 window.CharacterData.prototype.contains [function] 453 456 window.CharacterData.prototype.deleteData [function] 454 457 window.CharacterData.prototype.dispatchEvent [function] … … 675 678 window.Document.prototype.cloneNode [function] 676 679 window.Document.prototype.compareDocumentPosition [function] 680 window.Document.prototype.contains [function] 677 681 window.Document.prototype.createAttribute [function] 678 682 window.Document.prototype.createAttributeNS [function] … … 749 753 window.DocumentFragment.prototype.cloneNode [function] 750 754 window.DocumentFragment.prototype.compareDocumentPosition [function] 755 window.DocumentFragment.prototype.contains [function] 751 756 window.DocumentFragment.prototype.dispatchEvent [function] 752 757 window.DocumentFragment.prototype.hasAttributes [function] … … 789 794 window.DocumentType.prototype.cloneNode [function] 790 795 window.DocumentType.prototype.compareDocumentPosition [function] 796 window.DocumentType.prototype.contains [function] 791 797 window.DocumentType.prototype.dispatchEvent [function] 792 798 window.DocumentType.prototype.hasAttributes [function] … … 896 902 window.Entity.prototype.cloneNode [function] 897 903 window.Entity.prototype.compareDocumentPosition [function] 904 window.Entity.prototype.contains [function] 898 905 window.Entity.prototype.dispatchEvent [function] 899 906 window.Entity.prototype.hasAttributes [function] … … 934 941 window.EntityReference.prototype.cloneNode [function] 935 942 window.EntityReference.prototype.compareDocumentPosition [function] 943 window.EntityReference.prototype.contains [function] 936 944 window.EntityReference.prototype.dispatchEvent [function] 937 945 window.EntityReference.prototype.hasAttributes [function] … … 1332 1340 window.Node.prototype.cloneNode [function] 1333 1341 window.Node.prototype.compareDocumentPosition [function] 1342 window.Node.prototype.contains [function] 1334 1343 window.Node.prototype.dispatchEvent [function] 1335 1344 window.Node.prototype.hasAttributes [function] -
trunk/LayoutTests/platform/qt-wk2/fast/dom/Window/window-properties-expected.txt
r93491 r94781 27 27 window.Attr.prototype.cloneNode [function] 28 28 window.Attr.prototype.compareDocumentPosition [function] 29 window.Attr.prototype.contains [function] 29 30 window.Attr.prototype.dispatchEvent [function] 30 31 window.Attr.prototype.hasAttributes [function] … … 178 179 window.CDATASection.prototype.cloneNode [function] 179 180 window.CDATASection.prototype.compareDocumentPosition [function] 181 window.CDATASection.prototype.contains [function] 180 182 window.CDATASection.prototype.deleteData [function] 181 183 window.CDATASection.prototype.dispatchEvent [function] … … 449 451 window.CharacterData.prototype.cloneNode [function] 450 452 window.CharacterData.prototype.compareDocumentPosition [function] 453 window.CharacterData.prototype.contains [function] 451 454 window.CharacterData.prototype.deleteData [function] 452 455 window.CharacterData.prototype.dispatchEvent [function] … … 620 623 window.Document.prototype.cloneNode [function] 621 624 window.Document.prototype.compareDocumentPosition [function] 625 window.Document.prototype.contains [function] 622 626 window.Document.prototype.createAttribute [function] 623 627 window.Document.prototype.createAttributeNS [function] … … 695 699 window.DocumentFragment.prototype.cloneNode [function] 696 700 window.DocumentFragment.prototype.compareDocumentPosition [function] 701 window.DocumentFragment.prototype.contains [function] 697 702 window.DocumentFragment.prototype.dispatchEvent [function] 698 703 window.DocumentFragment.prototype.hasAttributes [function] … … 735 740 window.DocumentType.prototype.cloneNode [function] 736 741 window.DocumentType.prototype.compareDocumentPosition [function] 742 window.DocumentType.prototype.contains [function] 737 743 window.DocumentType.prototype.dispatchEvent [function] 738 744 window.DocumentType.prototype.hasAttributes [function] … … 839 845 window.Entity.prototype.cloneNode [function] 840 846 window.Entity.prototype.compareDocumentPosition [function] 847 window.Entity.prototype.contains [function] 841 848 window.Entity.prototype.dispatchEvent [function] 842 849 window.Entity.prototype.hasAttributes [function] … … 877 884 window.EntityReference.prototype.cloneNode [function] 878 885 window.EntityReference.prototype.compareDocumentPosition [function] 886 window.EntityReference.prototype.contains [function] 879 887 window.EntityReference.prototype.dispatchEvent [function] 880 888 window.EntityReference.prototype.hasAttributes [function] … … 1249 1257 window.Node.prototype.cloneNode [function] 1250 1258 window.Node.prototype.compareDocumentPosition [function] 1259 window.Node.prototype.contains [function] 1251 1260 window.Node.prototype.dispatchEvent [function] 1252 1261 window.Node.prototype.hasAttributes [function] -
trunk/LayoutTests/platform/qt/fast/dom/Window/window-properties-expected.txt
r94638 r94781 27 27 window.Attr.prototype.cloneNode [function] 28 28 window.Attr.prototype.compareDocumentPosition [function] 29 window.Attr.prototype.contains [function] 29 30 window.Attr.prototype.dispatchEvent [function] 30 31 window.Attr.prototype.hasAttributes [function] … … 178 179 window.CDATASection.prototype.cloneNode [function] 179 180 window.CDATASection.prototype.compareDocumentPosition [function] 181 window.CDATASection.prototype.contains [function] 180 182 window.CDATASection.prototype.deleteData [function] 181 183 window.CDATASection.prototype.dispatchEvent [function] … … 449 451 window.CharacterData.prototype.cloneNode [function] 450 452 window.CharacterData.prototype.compareDocumentPosition [function] 453 window.CharacterData.prototype.contains [function] 451 454 window.CharacterData.prototype.deleteData [function] 452 455 window.CharacterData.prototype.dispatchEvent [function] … … 673 676 window.Document.prototype.cloneNode [function] 674 677 window.Document.prototype.compareDocumentPosition [function] 678 window.Document.prototype.contains [function] 675 679 window.Document.prototype.createAttribute [function] 676 680 window.Document.prototype.createAttributeNS [function] … … 748 752 window.DocumentFragment.prototype.cloneNode [function] 749 753 window.DocumentFragment.prototype.compareDocumentPosition [function] 754 window.DocumentFragment.prototype.contains [function] 750 755 window.DocumentFragment.prototype.dispatchEvent [function] 751 756 window.DocumentFragment.prototype.hasAttributes [function] … … 788 793 window.DocumentType.prototype.cloneNode [function] 789 794 window.DocumentType.prototype.compareDocumentPosition [function] 795 window.DocumentType.prototype.contains [function] 790 796 window.DocumentType.prototype.dispatchEvent [function] 791 797 window.DocumentType.prototype.hasAttributes [function] … … 892 898 window.Entity.prototype.cloneNode [function] 893 899 window.Entity.prototype.compareDocumentPosition [function] 900 window.Entity.prototype.contains [function] 894 901 window.Entity.prototype.dispatchEvent [function] 895 902 window.Entity.prototype.hasAttributes [function] … … 930 937 window.EntityReference.prototype.cloneNode [function] 931 938 window.EntityReference.prototype.compareDocumentPosition [function] 939 window.EntityReference.prototype.contains [function] 932 940 window.EntityReference.prototype.dispatchEvent [function] 933 941 window.EntityReference.prototype.hasAttributes [function] … … 1328 1336 window.Node.prototype.cloneNode [function] 1329 1337 window.Node.prototype.compareDocumentPosition [function] 1338 window.Node.prototype.contains [function] 1330 1339 window.Node.prototype.dispatchEvent [function] 1331 1340 window.Node.prototype.hasAttributes [function] -
trunk/Source/WebCore/ChangeLog
r94780 r94781 1 2011-09-08 Erik Arvidsson <arv@chromium.org> 2 3 Move Element.contains to Node 4 https://bugs.webkit.org/show_bug.cgi?id=67651 5 6 Reviewed by Darin Adler. 7 8 This moves the contains method from Element to Node as in the DOM4 working draft: 9 http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains 10 11 This also special cases Document contains to make it O(1) instead of O(depth). 12 13 Tests: fast/dom/Node/contains-method.html 14 perf/document-contains.html 15 16 * dom/Element.idl: 17 * dom/Node.cpp: 18 (WebCore::Node::contains): Added document special case. 19 * dom/Node.idl: 20 * editing/DeleteSelectionCommand.cpp: 21 (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check. 22 1 23 2011-09-08 Chris Rogers <crogers@google.com> 2 24 -
trunk/Source/WebCore/dom/Element.idl
r92576 r94781 85 85 void blur(); 86 86 void scrollIntoView(in [Optional] boolean alignWithTop); 87 88 // IE extensions89 90 boolean contains(in [Optional=CallWithDefaultValue] Element element);91 87 92 88 // WebKit extensions -
trunk/Source/WebCore/dom/Node.cpp
r94659 r94781 1339 1339 if (!node) 1340 1340 return false; 1341 if (document() == this) 1342 return node->document() == this && node->inDocument(); 1341 1343 return this == node || node->isDescendantOf(this); 1342 1344 } -
trunk/Source/WebCore/dom/Node.idl
r92433 r94781 119 119 unsigned short compareDocumentPosition(in [Optional=CallWithDefaultValue] Node other); 120 120 121 // Introduced in DOM4 122 boolean contains(in [Optional=CallWithDefaultValue] Node other); 123 121 124 #if 0 122 125 DOMObject getFeature(in DOMString feature, -
trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp
r93134 r94781 606 606 // move, so just remove it. 607 607 Element* endBlock = static_cast<Element*>(enclosingBlock(m_downstreamEnd.deprecatedNode())); 608 if (! startOfParagraphToMove.deepEquivalent().deprecatedNode() || !endBlock->contains(startOfParagraphToMove.deepEquivalent().deprecatedNode())) {608 if (!endBlock || !endBlock->contains(startOfParagraphToMove.deepEquivalent().deprecatedNode()) || !startOfParagraphToMove.deepEquivalent().deprecatedNode()) { 609 609 removeNode(enclosingBlock(m_downstreamEnd.deprecatedNode())); 610 610 return;
Note: See TracChangeset
for help on using the changeset viewer.