+2013-08-31 Antti Koivisto <antti@apple.com>
+
+ Rename ChildIterator -> ElementChildIterator, DescendantIterator -> ElementDescendantIterator
+ https://bugs.webkit.org/show_bug.cgi?id=120561
+
+ Reviewed by Andreas Kling.
+
+ New names are more descriptive and consistent. They also put related iterator files close by in file lists.
+ The types are always used with auto so longer names don't make them any clumsier to use.
+
+ For simplicity included all Element iterator types from ElementIterator.h so it is the only file that has
+ to be included by the clients.
+
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * accessibility/AccessibilityNodeObject.cpp:
+ * accessibility/AccessibilityRenderObject.cpp:
+ * accessibility/AccessibilityTable.cpp:
+ * css/CSSFontFaceSource.cpp:
+ * dom/ChildIterator.h: Removed.
+ * dom/DescendantIterator.h: Removed.
+ * dom/Document.cpp:
+ * dom/ElementChildIterator.h: Copied from Source/WebCore/dom/ChildIterator.h.
+ (WebCore::::ElementChildIterator):
+ (WebCore::::operator):
+ (WebCore::::ElementChildConstIterator):
+ (WebCore::::ElementChildIteratorAdapter):
+ (WebCore::::begin):
+ (WebCore::::end):
+ (WebCore::::ElementChildConstIteratorAdapter):
+ (WebCore::elementChildren):
+ (WebCore::childrenOfType):
+ * dom/ElementDescendantIterator.h: Copied from Source/WebCore/dom/DescendantIterator.h.
+ (WebCore::::ElementDescendantIterator):
+ (WebCore::::operator):
+ (WebCore::::ElementDescendantConstIterator):
+ (WebCore::::ElementDescendantIteratorAdapter):
+ (WebCore::::begin):
+ (WebCore::::end):
+ (WebCore::::ElementDescendantConstIteratorAdapter):
+ (WebCore::elementDescendants):
+ (WebCore::descendantsOfType):
+ * dom/ElementIterator.h:
+ * dom/Node.cpp:
+ * dom/TreeScope.cpp:
+ * editing/ApplyStyleCommand.cpp:
+ * editing/markup.cpp:
+ * html/HTMLAppletElement.cpp:
+ * html/HTMLFieldSetElement.cpp:
+ * html/HTMLLabelElement.cpp:
+ * html/HTMLMapElement.cpp:
+ * html/HTMLMediaElement.cpp:
+ * html/HTMLObjectElement.cpp:
+ * loader/PlaceholderDocument.cpp:
+ * rendering/FilterEffectRenderer.cpp:
+ * style/StyleResolveTree.cpp:
+ * svg/SVGElement.cpp:
+ * svg/SVGSVGElement.cpp:
+ * svg/animation/SMILTimeContainer.cpp:
+ * svg/graphics/SVGImage.cpp:
+
2013-08-31 Andreas Kling <akling@apple.com>
Don't do document style recalc unless there's a RenderView.
Source/WebCore/dom/CharacterData.h \
Source/WebCore/dom/CheckedRadioButtons.cpp \
Source/WebCore/dom/CheckedRadioButtons.h \
- Source/WebCore/dom/ChildIterator.h \
Source/WebCore/dom/ChildListMutationScope.cpp \
Source/WebCore/dom/ChildListMutationScope.h \
Source/WebCore/dom/ChildNodeList.cpp \
Source/WebCore/dom/DecodedDataDocumentParser.h \
Source/WebCore/dom/default/PlatformMessagePortChannel.cpp \
Source/WebCore/dom/default/PlatformMessagePortChannel.h \
- Source/WebCore/dom/DescendantIterator.h \
Source/WebCore/dom/DeviceMotionClient.h \
Source/WebCore/dom/DeviceMotionController.cpp \
Source/WebCore/dom/DeviceMotionController.h \
Source/WebCore/dom/DOMTimeStamp.h \
Source/WebCore/dom/Element.cpp \
Source/WebCore/dom/Element.h \
+ Source/WebCore/dom/ElementChildIterator.h \
Source/WebCore/dom/ElementData.cpp \
Source/WebCore/dom/ElementData.h \
+ Source/WebCore/dom/ElementDescendantIterator.h \
Source/WebCore/dom/ElementIterator.h \
Source/WebCore/dom/ElementIteratorAssertions.h \
Source/WebCore/dom/ElementRareData.cpp \
dom/CDATASection.h \
dom/CharacterData.h \
dom/CheckedRadioButtons.h \
- dom/ChildIterator.h \
dom/ChildNodeList.h \
dom/ClassNodeList.h \
dom/ClientRect.h \
dom/ContextFeatures.h \
dom/CustomEvent.h \
dom/default/PlatformMessagePortChannel.h \
- dom/DescendantIterator.h \
dom/DeviceMotionClient.h \
dom/DeviceMotionController.h \
dom/DeviceMotionData.h \
dom/DOMTimeStamp.h \
dom/DatasetDOMStringMap.h \
dom/Element.h \
+ dom/ElementChildIterator.h \
dom/ElementData.h \
+ dom/ElementDescendantIterator.h \
dom/ElementIterator.h \
dom/ElementIteratorAssertions.h \
dom/ElementTraversal.h \
<ClInclude Include="..\dom\CDATASection.h" />
<ClInclude Include="..\dom\CharacterData.h" />
<ClInclude Include="..\dom\CheckedRadioButtons.h" />
- <ClInclude Include="..\dom\ChildIterator.h" />
<ClInclude Include="..\dom\ChildListMutationScope.h" />
<ClInclude Include="..\dom\ChildNodeList.h" />
<ClInclude Include="..\dom\ClassNodeList.h" />
<ClInclude Include="..\dom\DataTransferItem.h" />
<ClInclude Include="..\dom\DataTransferItemList.h" />
<ClInclude Include="..\dom\DecodedDataDocumentParser.h" />
- <ClInclude Include="..\dom\DescendantIterator.h" />
<ClInclude Include="..\dom\DeviceMotionClient.h" />
<ClInclude Include="..\dom\DeviceMotionController.h" />
<ClInclude Include="..\dom\DeviceMotionData.h" />
<ClInclude Include="..\dom\DOMStringMap.h" />
<ClInclude Include="..\dom\DOMTimeStamp.h" />
<ClInclude Include="..\dom\Element.h" />
+ <ClInclude Include="..\dom\ElementChildIterator.h" />
<ClInclude Include="..\dom\ElementData.h" />
+ <ClInclude Include="..\dom\ElementDescendantIterator.h" />
<ClInclude Include="..\dom\ElementIterator.h" />
<ClInclude Include="..\dom\ElementIteratorAssertions.h" />
<ClInclude Include="..\dom\ElementTraversal.h" />
E453901E0EAFCACA003695C8 /* PasteboardIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = E45390190EAFCACA003695C8 /* PasteboardIOS.mm */; };
E45390460EAFD637003695C8 /* SharedTimerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = E45390350EAFD637003695C8 /* SharedTimerIOS.mm */; };
E462A4A1113E71BE004A4220 /* IntPointHash.h in Headers */ = {isa = PBXBuildFile; fileRef = E462A4A0113E71BE004A4220 /* IntPointHash.h */; settings = {ATTRIBUTES = (Private, ); }; };
- E46A2B1C17CA65B9000DBCD8 /* DescendantIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = E46A2B1B17CA65B9000DBCD8 /* DescendantIterator.h */; };
- E46A2B1E17CA76B1000DBCD8 /* ChildIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = E46A2B1D17CA76B1000DBCD8 /* ChildIterator.h */; };
+ E46A2B1C17CA65B9000DBCD8 /* ElementDescendantIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = E46A2B1B17CA65B9000DBCD8 /* ElementDescendantIterator.h */; };
+ E46A2B1E17CA76B1000DBCD8 /* ElementChildIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = E46A2B1D17CA76B1000DBCD8 /* ElementChildIterator.h */; };
E47127CA163438A100ED6F5A /* StyleInvalidationAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E47A97CE163059FC005DCD99 /* StyleInvalidationAnalysis.cpp */; };
E47127CB163438AE00ED6F5A /* StyleInvalidationAnalysis.h in Headers */ = {isa = PBXBuildFile; fileRef = E47A97CF163059FC005DCD99 /* StyleInvalidationAnalysis.h */; };
E4778B7F115A581A00B5D372 /* JSCustomEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4778B7D115A581A00B5D372 /* JSCustomEvent.cpp */; };
E45390190EAFCACA003695C8 /* PasteboardIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PasteboardIOS.mm; path = ios/PasteboardIOS.mm; sourceTree = "<group>"; };
E45390350EAFD637003695C8 /* SharedTimerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SharedTimerIOS.mm; path = ios/SharedTimerIOS.mm; sourceTree = "<group>"; };
E462A4A0113E71BE004A4220 /* IntPointHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IntPointHash.h; sourceTree = "<group>"; };
- E46A2B1B17CA65B9000DBCD8 /* DescendantIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DescendantIterator.h; sourceTree = "<group>"; };
- E46A2B1D17CA76B1000DBCD8 /* ChildIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChildIterator.h; sourceTree = "<group>"; };
+ E46A2B1B17CA65B9000DBCD8 /* ElementDescendantIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElementDescendantIterator.h; sourceTree = "<group>"; };
+ E46A2B1D17CA76B1000DBCD8 /* ElementChildIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElementChildIterator.h; sourceTree = "<group>"; };
E4778B7D115A581A00B5D372 /* JSCustomEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCustomEvent.cpp; sourceTree = "<group>"; };
E4778B7E115A581A00B5D372 /* JSCustomEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCustomEvent.h; sourceTree = "<group>"; };
E47A97CE163059FC005DCD99 /* StyleInvalidationAnalysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleInvalidationAnalysis.cpp; sourceTree = "<group>"; };
93EEC1E609C2877700C515D1 /* CharacterData.idl */,
93F925420F7EF5B8007E37C9 /* CheckedRadioButtons.cpp */,
93F925410F7EF5B8007E37C9 /* CheckedRadioButtons.h */,
- E46A2B1D17CA76B1000DBCD8 /* ChildIterator.h */,
D619A305144E00BE004BC302 /* ChildListMutationScope.cpp */,
D619A306144E00BE004BC302 /* ChildListMutationScope.h */,
A818721A0977D3C0005826D9 /* ChildNodeList.cpp */,
81AC5AE91316392E0009A7E0 /* DataTransferItemList.idl */,
A8C228A011D5722E00D5A7D3 /* DecodedDataDocumentParser.cpp */,
A8C2289F11D5722E00D5A7D3 /* DecodedDataDocumentParser.h */,
- E46A2B1B17CA65B9000DBCD8 /* DescendantIterator.h */,
31FB1A4F120A5D0600DC02A0 /* DeviceMotionClient.h */,
31FB1A50120A5D0600DC02A0 /* DeviceMotionController.cpp */,
31FB1A51120A5D0600DC02A0 /* DeviceMotionController.h */,
A8C4A7F609D563270003AC8D /* Element.cpp */,
A8C4A7F509D563270003AC8D /* Element.h */,
93EEC1EA09C2877700C515D1 /* Element.idl */,
+ E46A2B1D17CA76B1000DBCD8 /* ElementChildIterator.h */,
B5B7A16F17C1080600E4AA0A /* ElementData.cpp */,
B5B7A16E17C1048000E4AA0A /* ElementData.h */,
- 4FAB48641643A66D00F70C07 /* ElementRareData.cpp */,
- 637B7ADE0E8767B800E32194 /* ElementRareData.h */,
+ E46A2B1B17CA65B9000DBCD8 /* ElementDescendantIterator.h */,
E4AE7C1517D1BB950009FB31 /* ElementIterator.h */,
E401C27417CE53EC00C41A35 /* ElementIteratorAssertions.h */,
+ 4FAB48641643A66D00F70C07 /* ElementRareData.cpp */,
+ 637B7ADE0E8767B800E32194 /* ElementRareData.h */,
E4D58EBA17B8F12800CBDCA8 /* ElementTraversal.h */,
A8EA7EBA0A1945D000A8EF5F /* Entity.h */,
93EEC1EB09C2877700C515D1 /* Entity.idl */,
A80E6CE60A1989CA007FB8C5 /* CSSPrimitiveValue.h in Headers */,
E1ED8AC30CC49BE000BFC557 /* CSSPrimitiveValueMappings.h in Headers */,
A80E6CFF0A1989CA007FB8C5 /* CSSProperty.h in Headers */,
- E46A2B1E17CA76B1000DBCD8 /* ChildIterator.h in Headers */,
+ E46A2B1E17CA76B1000DBCD8 /* ElementChildIterator.h in Headers */,
78D02BC6154A18DF00B62D05 /* CSSPropertyAnimation.h in Headers */,
656580F409D12B20000E61D7 /* CSSPropertyNames.h in Headers */,
82E3D8DF122EA0D1003AE5BC /* CSSPropertySourceData.h in Headers */,
371E65CC13661EDC00BEEDB0 /* PageSerializer.h in Headers */,
A7197F24175689C4007B9442 /* PageThrottler.h in Headers */,
E1284AE110447D4500EAEB52 /* PageTransitionEvent.h in Headers */,
- E46A2B1C17CA65B9000DBCD8 /* DescendantIterator.h in Headers */,
+ E46A2B1C17CA65B9000DBCD8 /* ElementDescendantIterator.h in Headers */,
51E1ECC30C91C90400DC255B /* PageURLRecord.h in Headers */,
FFD5B97B135CC97800D5E92A /* PageVisibilityState.h in Headers */,
9377ABA015DEFEEF0031FD04 /* Pagination.h in Headers */,
#include "AccessibilityListBox.h"
#include "AccessibilitySpinButton.h"
#include "AccessibilityTable.h"
-#include "ChildIterator.h"
+#include "ElementIterator.h"
#include "EventNames.h"
#include "FloatRect.h"
#include "Frame.h"
#include "AccessibilityTable.h"
#include "CachedImage.h"
#include "Chrome.h"
-#include "DescendantIterator.h"
+#include "ElementIterator.h"
#include "EventNames.h"
#include "FloatRect.h"
#include "Frame.h"
#include "AccessibilityTableColumn.h"
#include "AccessibilityTableHeaderContainer.h"
#include "AccessibilityTableRow.h"
-#include "ChildIterator.h"
+#include "ElementIterator.h"
#include "HTMLNames.h"
#include "HTMLTableCaptionElement.h"
#include "HTMLTableCellElement.h"
#include "CSSFontSelector.h"
#include "CachedFont.h"
#include "CachedResourceLoader.h"
-#include "ChildIterator.h"
#include "Document.h"
+#include "ElementIterator.h"
#include "FontCache.h"
#include "FontDescription.h"
#include "SimpleFontData.h"
+++ /dev/null
-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ChildIterator_h
-#define ChildIterator_h
-
-#include "ElementIterator.h"
-
-namespace WebCore {
-
-template <typename ElementType>
-class ChildIterator : public ElementIterator<ElementType> {
-public:
- ChildIterator(const ContainerNode* root);
- ChildIterator(const ContainerNode* root, ElementType* current);
- ChildIterator& operator++();
-};
-
-template <typename ElementType>
-class ChildConstIterator : public ElementConstIterator<ElementType> {
-public:
- ChildConstIterator(const ContainerNode* root);
- ChildConstIterator(const ContainerNode* root, const ElementType* current);
- ChildConstIterator& operator++();
-};
-
-template <typename ElementType>
-class ChildIteratorAdapter {
-public:
- ChildIteratorAdapter(ContainerNode* root);
- ChildIterator<ElementType> begin();
- ChildIterator<ElementType> end();
-
-private:
- const ContainerNode* m_root;
-};
-
-template <typename ElementType>
-class ChildConstIteratorAdapter {
-public:
- ChildConstIteratorAdapter(const ContainerNode* root);
- ChildConstIterator<ElementType> begin() const;
- ChildConstIterator<ElementType> end() const;
-
-private:
- const ContainerNode* m_root;
-};
-
-ChildIteratorAdapter<Element> elementChildren(ContainerNode* root);
-ChildConstIteratorAdapter<Element> elementChildren(const ContainerNode* root);
-template <typename ElementType> ChildIteratorAdapter<ElementType> childrenOfType(ContainerNode* root);
-template <typename ElementType> ChildConstIteratorAdapter<ElementType> childrenOfType(const ContainerNode* root);
-
-// ChildIterator
-
-template <typename ElementType>
-inline ChildIterator<ElementType>::ChildIterator(const ContainerNode* root)
- : ElementIterator<ElementType>(root)
-{
-}
-
-template <typename ElementType>
-inline ChildIterator<ElementType>::ChildIterator(const ContainerNode* root, ElementType* current)
- : ElementIterator<ElementType>(root, current)
-{
-}
-
-template <typename ElementType>
-inline ChildIterator<ElementType>& ChildIterator<ElementType>::operator++()
-{
- return static_cast<ChildIterator<ElementType>&>(ElementIterator<ElementType>::traverseNextSibling());
-}
-
-// ChildConstIterator
-
-template <typename ElementType>
-inline ChildConstIterator<ElementType>::ChildConstIterator(const ContainerNode* root)
- : ElementConstIterator<ElementType>(root)
-{
-}
-
-template <typename ElementType>
-inline ChildConstIterator<ElementType>::ChildConstIterator(const ContainerNode* root, const ElementType* current)
- : ElementConstIterator<ElementType>(root, current)
-{
-}
-
-template <typename ElementType>
-inline ChildConstIterator<ElementType>& ChildConstIterator<ElementType>::operator++()
-{
- return static_cast<ChildConstIterator<ElementType>&>(ElementConstIterator<ElementType>::traverseNextSibling());
-}
-
-// ChildIteratorAdapter
-
-template <typename ElementType>
-inline ChildIteratorAdapter<ElementType>::ChildIteratorAdapter(ContainerNode* root)
- : m_root(root)
-{
-}
-
-template <typename ElementType>
-inline ChildIterator<ElementType> ChildIteratorAdapter<ElementType>::begin()
-{
- return ChildIterator<ElementType>(m_root, Traversal<ElementType>::firstChild(m_root));
-}
-
-template <typename ElementType>
-inline ChildIterator<ElementType> ChildIteratorAdapter<ElementType>::end()
-{
- return ChildIterator<ElementType>(m_root);
-}
-
-// ChildConstIteratorAdapter
-
-template <typename ElementType>
-inline ChildConstIteratorAdapter<ElementType>::ChildConstIteratorAdapter(const ContainerNode* root)
- : m_root(root)
-{
-}
-
-template <typename ElementType>
-inline ChildConstIterator<ElementType> ChildConstIteratorAdapter<ElementType>::begin() const
-{
- return ChildConstIterator<ElementType>(m_root, Traversal<ElementType>::firstChild(m_root));
-}
-
-template <typename ElementType>
-inline ChildConstIterator<ElementType> ChildConstIteratorAdapter<ElementType>::end() const
-{
- return ChildConstIterator<ElementType>(m_root);
-}
-
-// Standalone functions
-
-inline ChildIteratorAdapter<Element> elementChildren(ContainerNode* root)
-{
- return ChildIteratorAdapter<Element>(root);
-}
-
-template <typename ElementType>
-inline ChildIteratorAdapter<ElementType> childrenOfType(ContainerNode* root)
-{
- return ChildIteratorAdapter<ElementType>(root);
-}
-
-inline ChildConstIteratorAdapter<Element> elementChildren(const ContainerNode* root)
-{
- return ChildConstIteratorAdapter<Element>(root);
-}
-
-template <typename ElementType>
-inline ChildConstIteratorAdapter<ElementType> childrenOfType(const ContainerNode* root)
-{
- return ChildConstIteratorAdapter<ElementType>(root);
-}
-
-}
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DescendantIterator_h
-#define DescendantIterator_h
-
-#include "ElementIterator.h"
-
-namespace WebCore {
-
-template <typename ElementType>
-class DescendantIterator : public ElementIterator<ElementType> {
-public:
- DescendantIterator(const ContainerNode* root);
- DescendantIterator(const ContainerNode* root, ElementType* current);
- DescendantIterator& operator++();
-};
-
-template <typename ElementType>
-class DescendantConstIterator : public ElementConstIterator<ElementType> {
-public:
- DescendantConstIterator(const ContainerNode* root);
- DescendantConstIterator(const ContainerNode* root, const ElementType* current);
- DescendantConstIterator& operator++();
-};
-
-template <typename ElementType>
-class DescendantIteratorAdapter {
-public:
- DescendantIteratorAdapter(ContainerNode* root);
- DescendantIterator<ElementType> begin();
- DescendantIterator<ElementType> end();
-
-private:
- ContainerNode* m_root;
-};
-
-template <typename ElementType>
-class DescendantConstIteratorAdapter {
-public:
- DescendantConstIteratorAdapter(const ContainerNode* root);
- DescendantConstIterator<ElementType> begin() const;
- DescendantConstIterator<ElementType> end() const;
-
-private:
- const ContainerNode* m_root;
-};
-
-DescendantIteratorAdapter<Element> elementDescendants(ContainerNode* root);
-DescendantConstIteratorAdapter<Element> elementDescendants(const ContainerNode* root);
-template <typename ElementType> DescendantIteratorAdapter<ElementType> descendantsOfType(ContainerNode* root);
-template <typename ElementType> DescendantConstIteratorAdapter<ElementType> descendantsOfType(const ContainerNode* root);
-
-// DescendantIterator
-
-template <typename ElementType>
-inline DescendantIterator<ElementType>::DescendantIterator(const ContainerNode* root)
- : ElementIterator<ElementType>(root)
-{
-}
-
-template <typename ElementType>
-inline DescendantIterator<ElementType>::DescendantIterator(const ContainerNode* root, ElementType* current)
- : ElementIterator<ElementType>(root, current)
-{
-}
-
-template <typename ElementType>
-inline DescendantIterator<ElementType>& DescendantIterator<ElementType>::operator++()
-{
- return static_cast<DescendantIterator<ElementType>&>(ElementIterator<ElementType>::traverseNext());
-}
-
-// DescendantConstIterator
-
-template <typename ElementType>
-inline DescendantConstIterator<ElementType>::DescendantConstIterator(const ContainerNode* root)
- : ElementConstIterator<ElementType>(root)
-
-{
-}
-
-template <typename ElementType>
-inline DescendantConstIterator<ElementType>::DescendantConstIterator(const ContainerNode* root, const ElementType* current)
- : ElementConstIterator<ElementType>(root, current)
-{
-}
-
-template <typename ElementType>
-inline DescendantConstIterator<ElementType>& DescendantConstIterator<ElementType>::operator++()
-{
- return static_cast<DescendantConstIterator<ElementType>&>(ElementConstIterator<ElementType>::traverseNext());
-}
-
-// DescendantIteratorAdapter
-
-template <typename ElementType>
-inline DescendantIteratorAdapter<ElementType>::DescendantIteratorAdapter(ContainerNode* root)
- : m_root(root)
-{
-}
-
-template <typename ElementType>
-inline DescendantIterator<ElementType> DescendantIteratorAdapter<ElementType>::begin()
-{
- return DescendantIterator<ElementType>(m_root, Traversal<ElementType>::firstWithin(m_root));
-}
-
-template <typename ElementType>
-inline DescendantIterator<ElementType> DescendantIteratorAdapter<ElementType>::end()
-{
- return DescendantIterator<ElementType>(m_root);
-}
-
-// DescendantConstIteratorAdapter
-
-template <typename ElementType>
-inline DescendantConstIteratorAdapter<ElementType>::DescendantConstIteratorAdapter(const ContainerNode* root)
- : m_root(root)
-{
-}
-
-template <typename ElementType>
-inline DescendantConstIterator<ElementType> DescendantConstIteratorAdapter<ElementType>::begin() const
-{
- return DescendantConstIterator<ElementType>(m_root, Traversal<ElementType>::firstWithin(m_root));
-}
-
-template <typename ElementType>
-inline DescendantConstIterator<ElementType> DescendantConstIteratorAdapter<ElementType>::end() const
-{
- return DescendantConstIterator<ElementType>(m_root);
-}
-
-// Standalone functions
-
-inline DescendantIteratorAdapter<Element> elementDescendants(ContainerNode* root)
-{
- return DescendantIteratorAdapter<Element>(root);
-}
-
-template <typename ElementType>
-inline DescendantIteratorAdapter<ElementType> descendantsOfType(ContainerNode* root)
-{
- return DescendantIteratorAdapter<ElementType>(root);
-}
-
-inline DescendantConstIteratorAdapter<Element> elementDescendants(const ContainerNode* root)
-{
- return DescendantConstIteratorAdapter<Element>(root);
-}
-
-template <typename ElementType>
-inline DescendantConstIteratorAdapter<ElementType> descendantsOfType(const ContainerNode* root)
-{
- return DescendantConstIteratorAdapter<ElementType>(root);
-}
-
-}
-
-#endif
#include "CSSStyleSheet.h"
#include "CachedCSSStyleSheet.h"
#include "CachedResourceLoader.h"
-#include "ChildIterator.h"
#include "Chrome.h"
#include "ChromeClient.h"
#include "Comment.h"
#include "DOMNamedFlowCollection.h"
#include "DOMWindow.h"
#include "DateComponents.h"
-#include "DescendantIterator.h"
#include "Dictionary.h"
#include "DocumentEventQueue.h"
#include "DocumentFragment.h"
#include "DocumentType.h"
#include "Editor.h"
#include "Element.h"
+#include "ElementIterator.h"
#include "EntityReference.h"
#include "Event.h"
#include "EventFactory.h"
--- /dev/null
+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ElementChildIterator_h
+#define ElementChildIterator_h
+
+#include "ElementIterator.h"
+
+namespace WebCore {
+
+template <typename ElementType>
+class ElementChildIterator : public ElementIterator<ElementType> {
+public:
+ ElementChildIterator(const ContainerNode* root);
+ ElementChildIterator(const ContainerNode* root, ElementType* current);
+ ElementChildIterator& operator++();
+};
+
+template <typename ElementType>
+class ElementChildConstIterator : public ElementConstIterator<ElementType> {
+public:
+ ElementChildConstIterator(const ContainerNode* root);
+ ElementChildConstIterator(const ContainerNode* root, const ElementType* current);
+ ElementChildConstIterator& operator++();
+};
+
+template <typename ElementType>
+class ElementChildIteratorAdapter {
+public:
+ ElementChildIteratorAdapter(ContainerNode* root);
+ ElementChildIterator<ElementType> begin();
+ ElementChildIterator<ElementType> end();
+
+private:
+ const ContainerNode* m_root;
+};
+
+template <typename ElementType>
+class ElementChildConstIteratorAdapter {
+public:
+ ElementChildConstIteratorAdapter(const ContainerNode* root);
+ ElementChildConstIterator<ElementType> begin() const;
+ ElementChildConstIterator<ElementType> end() const;
+
+private:
+ const ContainerNode* m_root;
+};
+
+ElementChildIteratorAdapter<Element> elementChildren(ContainerNode* root);
+ElementChildConstIteratorAdapter<Element> elementChildren(const ContainerNode* root);
+template <typename ElementType> ElementChildIteratorAdapter<ElementType> childrenOfType(ContainerNode* root);
+template <typename ElementType> ElementChildConstIteratorAdapter<ElementType> childrenOfType(const ContainerNode* root);
+
+// ElementChildIterator
+
+template <typename ElementType>
+inline ElementChildIterator<ElementType>::ElementChildIterator(const ContainerNode* root)
+ : ElementIterator<ElementType>(root)
+{
+}
+
+template <typename ElementType>
+inline ElementChildIterator<ElementType>::ElementChildIterator(const ContainerNode* root, ElementType* current)
+ : ElementIterator<ElementType>(root, current)
+{
+}
+
+template <typename ElementType>
+inline ElementChildIterator<ElementType>& ElementChildIterator<ElementType>::operator++()
+{
+ return static_cast<ElementChildIterator<ElementType>&>(ElementIterator<ElementType>::traverseNextSibling());
+}
+
+// ElementChildConstIterator
+
+template <typename ElementType>
+inline ElementChildConstIterator<ElementType>::ElementChildConstIterator(const ContainerNode* root)
+ : ElementConstIterator<ElementType>(root)
+{
+}
+
+template <typename ElementType>
+inline ElementChildConstIterator<ElementType>::ElementChildConstIterator(const ContainerNode* root, const ElementType* current)
+ : ElementConstIterator<ElementType>(root, current)
+{
+}
+
+template <typename ElementType>
+inline ElementChildConstIterator<ElementType>& ElementChildConstIterator<ElementType>::operator++()
+{
+ return static_cast<ElementChildConstIterator<ElementType>&>(ElementConstIterator<ElementType>::traverseNextSibling());
+}
+
+// ElementChildIteratorAdapter
+
+template <typename ElementType>
+inline ElementChildIteratorAdapter<ElementType>::ElementChildIteratorAdapter(ContainerNode* root)
+ : m_root(root)
+{
+}
+
+template <typename ElementType>
+inline ElementChildIterator<ElementType> ElementChildIteratorAdapter<ElementType>::begin()
+{
+ return ElementChildIterator<ElementType>(m_root, Traversal<ElementType>::firstChild(m_root));
+}
+
+template <typename ElementType>
+inline ElementChildIterator<ElementType> ElementChildIteratorAdapter<ElementType>::end()
+{
+ return ElementChildIterator<ElementType>(m_root);
+}
+
+// ElementChildConstIteratorAdapter
+
+template <typename ElementType>
+inline ElementChildConstIteratorAdapter<ElementType>::ElementChildConstIteratorAdapter(const ContainerNode* root)
+ : m_root(root)
+{
+}
+
+template <typename ElementType>
+inline ElementChildConstIterator<ElementType> ElementChildConstIteratorAdapter<ElementType>::begin() const
+{
+ return ElementChildConstIterator<ElementType>(m_root, Traversal<ElementType>::firstChild(m_root));
+}
+
+template <typename ElementType>
+inline ElementChildConstIterator<ElementType> ElementChildConstIteratorAdapter<ElementType>::end() const
+{
+ return ElementChildConstIterator<ElementType>(m_root);
+}
+
+// Standalone functions
+
+inline ElementChildIteratorAdapter<Element> elementChildren(ContainerNode* root)
+{
+ return ElementChildIteratorAdapter<Element>(root);
+}
+
+template <typename ElementType>
+inline ElementChildIteratorAdapter<ElementType> childrenOfType(ContainerNode* root)
+{
+ return ElementChildIteratorAdapter<ElementType>(root);
+}
+
+inline ElementChildConstIteratorAdapter<Element> elementChildren(const ContainerNode* root)
+{
+ return ElementChildConstIteratorAdapter<Element>(root);
+}
+
+template <typename ElementType>
+inline ElementChildConstIteratorAdapter<ElementType> childrenOfType(const ContainerNode* root)
+{
+ return ElementChildConstIteratorAdapter<ElementType>(root);
+}
+
+}
+
+#endif
--- /dev/null
+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ElementDescendantIterator_h
+#define ElementDescendantIterator_h
+
+#include "ElementIterator.h"
+
+namespace WebCore {
+
+template <typename ElementType>
+class ElementDescendantIterator : public ElementIterator<ElementType> {
+public:
+ ElementDescendantIterator(const ContainerNode* root);
+ ElementDescendantIterator(const ContainerNode* root, ElementType* current);
+ ElementDescendantIterator& operator++();
+};
+
+template <typename ElementType>
+class ElementDescendantConstIterator : public ElementConstIterator<ElementType> {
+public:
+ ElementDescendantConstIterator(const ContainerNode* root);
+ ElementDescendantConstIterator(const ContainerNode* root, const ElementType* current);
+ ElementDescendantConstIterator& operator++();
+};
+
+template <typename ElementType>
+class ElementDescendantIteratorAdapter {
+public:
+ ElementDescendantIteratorAdapter(ContainerNode* root);
+ ElementDescendantIterator<ElementType> begin();
+ ElementDescendantIterator<ElementType> end();
+
+private:
+ ContainerNode* m_root;
+};
+
+template <typename ElementType>
+class ElementDescendantConstIteratorAdapter {
+public:
+ ElementDescendantConstIteratorAdapter(const ContainerNode* root);
+ ElementDescendantConstIterator<ElementType> begin() const;
+ ElementDescendantConstIterator<ElementType> end() const;
+
+private:
+ const ContainerNode* m_root;
+};
+
+ElementDescendantIteratorAdapter<Element> elementDescendants(ContainerNode* root);
+ElementDescendantConstIteratorAdapter<Element> elementDescendants(const ContainerNode* root);
+template <typename ElementType> ElementDescendantIteratorAdapter<ElementType> descendantsOfType(ContainerNode* root);
+template <typename ElementType> ElementDescendantConstIteratorAdapter<ElementType> descendantsOfType(const ContainerNode* root);
+
+// ElementDescendantIterator
+
+template <typename ElementType>
+inline ElementDescendantIterator<ElementType>::ElementDescendantIterator(const ContainerNode* root)
+ : ElementIterator<ElementType>(root)
+{
+}
+
+template <typename ElementType>
+inline ElementDescendantIterator<ElementType>::ElementDescendantIterator(const ContainerNode* root, ElementType* current)
+ : ElementIterator<ElementType>(root, current)
+{
+}
+
+template <typename ElementType>
+inline ElementDescendantIterator<ElementType>& ElementDescendantIterator<ElementType>::operator++()
+{
+ return static_cast<ElementDescendantIterator<ElementType>&>(ElementIterator<ElementType>::traverseNext());
+}
+
+// ElementDescendantConstIterator
+
+template <typename ElementType>
+inline ElementDescendantConstIterator<ElementType>::ElementDescendantConstIterator(const ContainerNode* root)
+ : ElementConstIterator<ElementType>(root)
+
+{
+}
+
+template <typename ElementType>
+inline ElementDescendantConstIterator<ElementType>::ElementDescendantConstIterator(const ContainerNode* root, const ElementType* current)
+ : ElementConstIterator<ElementType>(root, current)
+{
+}
+
+template <typename ElementType>
+inline ElementDescendantConstIterator<ElementType>& ElementDescendantConstIterator<ElementType>::operator++()
+{
+ return static_cast<ElementDescendantConstIterator<ElementType>&>(ElementConstIterator<ElementType>::traverseNext());
+}
+
+// ElementDescendantIteratorAdapter
+
+template <typename ElementType>
+inline ElementDescendantIteratorAdapter<ElementType>::ElementDescendantIteratorAdapter(ContainerNode* root)
+ : m_root(root)
+{
+}
+
+template <typename ElementType>
+inline ElementDescendantIterator<ElementType> ElementDescendantIteratorAdapter<ElementType>::begin()
+{
+ return ElementDescendantIterator<ElementType>(m_root, Traversal<ElementType>::firstWithin(m_root));
+}
+
+template <typename ElementType>
+inline ElementDescendantIterator<ElementType> ElementDescendantIteratorAdapter<ElementType>::end()
+{
+ return ElementDescendantIterator<ElementType>(m_root);
+}
+
+// ElementDescendantConstIteratorAdapter
+
+template <typename ElementType>
+inline ElementDescendantConstIteratorAdapter<ElementType>::ElementDescendantConstIteratorAdapter(const ContainerNode* root)
+ : m_root(root)
+{
+}
+
+template <typename ElementType>
+inline ElementDescendantConstIterator<ElementType> ElementDescendantConstIteratorAdapter<ElementType>::begin() const
+{
+ return ElementDescendantConstIterator<ElementType>(m_root, Traversal<ElementType>::firstWithin(m_root));
+}
+
+template <typename ElementType>
+inline ElementDescendantConstIterator<ElementType> ElementDescendantConstIteratorAdapter<ElementType>::end() const
+{
+ return ElementDescendantConstIterator<ElementType>(m_root);
+}
+
+// Standalone functions
+
+inline ElementDescendantIteratorAdapter<Element> elementDescendants(ContainerNode* root)
+{
+ return ElementDescendantIteratorAdapter<Element>(root);
+}
+
+template <typename ElementType>
+inline ElementDescendantIteratorAdapter<ElementType> descendantsOfType(ContainerNode* root)
+{
+ return ElementDescendantIteratorAdapter<ElementType>(root);
+}
+
+inline ElementDescendantConstIteratorAdapter<Element> elementDescendants(const ContainerNode* root)
+{
+ return ElementDescendantConstIteratorAdapter<Element>(root);
+}
+
+template <typename ElementType>
+inline ElementDescendantConstIteratorAdapter<ElementType> descendantsOfType(const ContainerNode* root)
+{
+ return ElementDescendantConstIteratorAdapter<ElementType>(root);
+}
+
+}
+
+#endif
}
+#include "ElementChildIterator.h"
+#include "ElementDescendantIterator.h"
+
#endif
#include "ContextMenuController.h"
#include "DOMImplementation.h"
#include "DOMSettableTokenList.h"
-#include "DescendantIterator.h"
#include "Document.h"
#include "DocumentFragment.h"
#include "DocumentType.h"
#include "Element.h"
+#include "ElementIterator.h"
#include "ElementRareData.h"
#include "Event.h"
#include "EventContext.h"
#include "ContainerNode.h"
#include "DOMSelection.h"
#include "DOMWindow.h"
-#include "DescendantIterator.h"
#include "Document.h"
#include "Element.h"
+#include "ElementIterator.h"
#include "FocusController.h"
#include "Frame.h"
#include "FrameView.h"
#include "CSSPropertyNames.h"
#include "CSSValueKeywords.h"
#include "CSSValuePool.h"
-#include "ChildIterator.h"
#include "Document.h"
#include "EditingStyle.h"
#include "Editor.h"
+#include "ElementIterator.h"
#include "Frame.h"
#include "HTMLFontElement.h"
#include "HTMLInterchange.h"
#include "CSSValueKeywords.h"
#include "ChildListMutationScope.h"
#include "ContextFeatures.h"
-#include "DescendantIterator.h"
#include "DocumentFragment.h"
#include "DocumentType.h"
#include "Editor.h"
+#include "ElementIterator.h"
#include "ExceptionCode.h"
#include "ExceptionCodePlaceholder.h"
#include "Frame.h"
#include "config.h"
#include "HTMLAppletElement.h"
-#include "ChildIterator.h"
+#include "ElementIterator.h"
#include "Frame.h"
#include "FrameLoader.h"
#include "HTMLDocument.h"
#include "config.h"
#include "HTMLFieldSetElement.h"
-#include "ChildIterator.h"
-#include "DescendantIterator.h"
+#include "ElementIterator.h"
#include "HTMLCollection.h"
#include "HTMLLegendElement.h"
#include "HTMLNames.h"
#include "config.h"
#include "HTMLLabelElement.h"
-#include "DescendantIterator.h"
#include "Document.h"
+#include "ElementIterator.h"
#include "Event.h"
#include "EventNames.h"
#include "FormAssociatedElement.h"
#include "HTMLMapElement.h"
#include "Attribute.h"
-#include "DescendantIterator.h"
#include "Document.h"
+#include "ElementIterator.h"
#include "HTMLAreaElement.h"
#include "HTMLCollection.h"
#include "HTMLImageElement.h"
#include "ApplicationCacheHost.h"
#include "ApplicationCacheResource.h"
#include "Attribute.h"
-#include "ChildIterator.h"
#include "Chrome.h"
#include "ChromeClient.h"
#include "ClientRect.h"
#include "ContentType.h"
#include "CSSPropertyNames.h"
#include "CSSValueKeywords.h"
-#include "DescendantIterator.h"
#include "DiagnosticLoggingKeys.h"
#include "DocumentLoader.h"
+#include "ElementIterator.h"
#include "Event.h"
#include "EventNames.h"
#include "ExceptionCode.h"
#include "Attribute.h"
#include "CSSValueKeywords.h"
#include "CachedImage.h"
-#include "ChildIterator.h"
#include "Chrome.h"
#include "ChromeClient.h"
+#include "ElementIterator.h"
#include "EventNames.h"
#include "ExceptionCode.h"
#include "FormDataList.h"
#include "config.h"
#include "PlaceholderDocument.h"
-#include "ChildIterator.h"
+#include "ElementIterator.h"
namespace WebCore {
#include "FilterEffectRenderer.h"
-#include "ChildIterator.h"
#include "ColorSpace.h"
#include "Document.h"
+#include "ElementIterator.h"
#include "FEColorMatrix.h"
#include "FEComponentTransfer.h"
#include "FEDropShadow.h"
#include "StyleResolveTree.h"
#include "AXObjectCache.h"
-#include "ChildIterator.h"
#include "Element.h"
+#include "ElementIterator.h"
#include "ElementRareData.h"
#include "ElementTraversal.h"
#include "FlowThreadController.h"
#include "CSSCursorImageValue.h"
#include "CSSParser.h"
#include "DOMImplementation.h"
-#include "DescendantIterator.h"
#include "Document.h"
+#include "ElementIterator.h"
#include "Event.h"
#include "EventNames.h"
#include "HTMLNames.h"
#include "AffineTransform.h"
#include "Attribute.h"
#include "CSSHelper.h"
-#include "DescendantIterator.h"
#include "Document.h"
+#include "ElementIterator.h"
#include "EventListener.h"
#include "EventNames.h"
#include "FloatConversion.h"
#include "SMILTimeContainer.h"
#if ENABLE(SVG)
-#include "DescendantIterator.h"
#include "Document.h"
+#include "ElementIterator.h"
#include "SVGNames.h"
#include "SVGSMILElement.h"
#include "SVGSVGElement.h"
#include "SVGImage.h"
#include "Chrome.h"
-#include "DescendantIterator.h"
#include "DocumentLoader.h"
+#include "ElementIterator.h"
#include "FrameView.h"
#include "ImageBuffer.h"
#include "ImageObserver.h"