summaryrefslogtreecommitdiffstats
path: root/WebCore/html/HTMLElementStack.h
diff options
context:
space:
mode:
authorLeon Clarke <leonclarke@google.com>2010-07-15 12:03:35 +0100
committerLeon Clarke <leonclarke@google.com>2010-07-20 16:57:23 +0100
commite458d70a0d18538346f41b503114c9ebe6b2ce12 (patch)
tree86f1637deca2c524432a822e5fcedd4bef221091 /WebCore/html/HTMLElementStack.h
parentf43eabc081f7ce6af24b9df4953498a3cd6ca24d (diff)
downloadexternal_webkit-e458d70a0d18538346f41b503114c9ebe6b2ce12.zip
external_webkit-e458d70a0d18538346f41b503114c9ebe6b2ce12.tar.gz
external_webkit-e458d70a0d18538346f41b503114c9ebe6b2ce12.tar.bz2
Merge WebKit at r63173 : Initial merge by git.
Change-Id: Ife5af0c7c6261fbbc8ae6bc08c390efa9ef10b44
Diffstat (limited to 'WebCore/html/HTMLElementStack.h')
-rw-r--r--WebCore/html/HTMLElementStack.h15
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();