diff options
Diffstat (limited to 'WebCore/html/HTMLElementStack.h')
-rw-r--r-- | WebCore/html/HTMLElementStack.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/WebCore/html/HTMLElementStack.h b/WebCore/html/HTMLElementStack.h index 830faf0..62d031f 100644 --- a/WebCore/html/HTMLElementStack.h +++ b/WebCore/html/HTMLElementStack.h @@ -66,8 +66,15 @@ public: RefPtr<Element> m_element; OwnPtr<ElementRecord> m_next; }; - - Element* top() const; + + // Inlining this function is a (small) performance win on the parsing + // benchmark. + Element* top() const + { + ASSERT(m_top->element()); + return m_top->element(); + } + Element* oneBelowTop() const; ElementRecord* topRecord() const; Element* bottom() const; @@ -87,6 +94,7 @@ public: void popUntil(Element*); void popUntilPopped(const AtomicString& tagName); void popUntilPopped(Element*); + void popUntilNumberedHeaderElementPopped(); 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. @@ -107,8 +115,11 @@ public: bool inListItemScope(const QualifiedName&) const; bool inTableScope(const AtomicString& tagName) const; bool inTableScope(const QualifiedName&) const; + bool inButtonScope(const AtomicString& tagName) const; + bool inButtonScope(const QualifiedName&) const; bool hasOnlyHTMLElementsInScope() const; + bool hasNumberedHeaderElementInScope() const; Element* htmlElement() const; Element* headElement() const; |