diff options
Diffstat (limited to 'WebCore/html/HTMLElementStack.h')
-rw-r--r-- | WebCore/html/HTMLElementStack.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/WebCore/html/HTMLElementStack.h b/WebCore/html/HTMLElementStack.h index efc3fd8..8be4422 100644 --- a/WebCore/html/HTMLElementStack.h +++ b/WebCore/html/HTMLElementStack.h @@ -35,6 +35,7 @@ namespace WebCore { class AtomicString; class Element; +class QualifiedName; // NOTE: The HTML5 spec uses a backwards (grows downward) stack. We're using // more standard (grows upwards) stack terminology here. @@ -67,6 +68,7 @@ public: }; Element* top() const; + Element* oneBelowTop() const; ElementRecord* topRecord() const; Element* bottom() const; ElementRecord* find(Element*) const; @@ -81,9 +83,13 @@ public: void pop(); void popUntil(const AtomicString& tagName); + void popUntilElementWithNamespace(const AtomicString& namespaceURI); void popUntil(Element*); + void popUntilPopped(const AtomicString& tagName); + void popUntilPopped(Element*); void popUntilTableScopeMarker(); // "clear the stack back to a table context" in the spec. void popUntilTableBodyScopeMarker(); // "clear the stack back to a table body context" in the spec. + void popUntilTableRowScopeMarker(); // "clear the stack back to a table row context" in the spec. void popHTMLHeadElement(); void popHTMLBodyElement(); @@ -94,13 +100,22 @@ public: bool inScope(Element*) const; bool inScope(const AtomicString& tagName) const; + bool inScope(const QualifiedName&) const; bool inListItemScope(const AtomicString& tagName) const; + bool inListItemScope(const QualifiedName&) const; bool inTableScope(const AtomicString& tagName) const; + bool inTableScope(const QualifiedName&) const; + + bool hasOnlyHTMLElementsInScope() const; Element* htmlElement() const; Element* headElement() const; Element* bodyElement() const; +#ifndef NDEBUG + void show(); +#endif + private: void pushCommon(PassRefPtr<Element>); void popCommon(); |