Index: Source/core/dom/SelectorQuery.cpp |
diff --git a/Source/core/dom/SelectorQuery.cpp b/Source/core/dom/SelectorQuery.cpp |
index 82baa86acad77a30e9c487db255558d39a121fc0..8489a0b7e877ac700851861c96a9a1ad94ebb4a9 100644 |
--- a/Source/core/dom/SelectorQuery.cpp |
+++ b/Source/core/dom/SelectorQuery.cpp |
@@ -64,10 +64,10 @@ private: |
class ClassRootNodeList : public SimpleNodeList { |
public: |
- explicit ClassRootNodeList(Node* rootNode, const AtomicString& className) |
+ ClassRootNodeList(Node* rootNode, const AtomicString& className) |
: m_className(className) |
, m_rootNode(rootNode) |
- , m_currentElement(nextInternal(ElementTraversal::firstWithin(rootNode))) { } |
+ , m_currentElement(nextInternal(rootNode && rootNode->isElementNode() ? toElement(rootNode) : ElementTraversal::firstWithin(rootNode))) { } |
bool isEmpty() const { return !m_currentElement; } |
@@ -96,7 +96,7 @@ private: |
class ClassElementList : public SimpleNodeList { |
public: |
- explicit ClassElementList(Node* rootNode, const AtomicString& className) |
+ ClassElementList(Node* rootNode, const AtomicString& className) |
: m_className(className) |
, m_rootNode(rootNode) |
, m_currentElement(nextInternal(ElementTraversal::firstWithin(rootNode))) { } |