OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. |
3 * Copyright (C) 2011 Apple Inc. All rights reserved. | 3 * Copyright (C) 2011 Apple Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 void pop(); | 112 void pop(); |
113 void popUntil(const AtomicString& tagName); | 113 void popUntil(const AtomicString& tagName); |
114 void popUntil(Element*); | 114 void popUntil(Element*); |
115 void popUntilPopped(const AtomicString& tagName); | 115 void popUntilPopped(const AtomicString& tagName); |
116 void popUntilPopped(const QualifiedName& tagName) { | 116 void popUntilPopped(const QualifiedName& tagName) { |
117 popUntilPopped(tagName.localName()); | 117 popUntilPopped(tagName.localName()); |
118 } | 118 } |
119 | 119 |
120 void popUntilPopped(Element*); | 120 void popUntilPopped(Element*); |
121 void popUntilNumberedHeaderElementPopped(); | 121 void popUntilNumberedHeaderElementPopped(); |
122 void | 122 |
123 popUntilTableScopeMarker(); // "clear the stack back to a table context" in t
he spec. | 123 // "clear the stack back to a table context" in the spec. |
124 void | 124 void popUntilTableScopeMarker(); |
125 popUntilTableBodyScopeMarker(); // "clear the stack back to a table body cont
ext" in the spec. | 125 |
126 void | 126 // "clear the stack back to a table body context" in the spec. |
127 popUntilTableRowScopeMarker(); // "clear the stack back to a table row contex
t" in the spec. | 127 void popUntilTableBodyScopeMarker(); |
| 128 |
| 129 // "clear the stack back to a table row context" in the spec. |
| 130 void popUntilTableRowScopeMarker(); |
| 131 |
128 void popUntilForeignContentScopeMarker(); | 132 void popUntilForeignContentScopeMarker(); |
129 void popHTMLHeadElement(); | 133 void popHTMLHeadElement(); |
130 void popHTMLBodyElement(); | 134 void popHTMLBodyElement(); |
131 void popAll(); | 135 void popAll(); |
132 | 136 |
133 static bool isMathMLTextIntegrationPoint(HTMLStackItem*); | 137 static bool isMathMLTextIntegrationPoint(HTMLStackItem*); |
134 static bool isHTMLIntegrationPoint(HTMLStackItem*); | 138 static bool isHTMLIntegrationPoint(HTMLStackItem*); |
135 | 139 |
136 void remove(Element*); | 140 void remove(Element*); |
137 void removeHTMLHeadElement(Element*); | 141 void removeHTMLHeadElement(Element*); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 private: | 175 private: |
172 void pushCommon(HTMLStackItem*); | 176 void pushCommon(HTMLStackItem*); |
173 void pushRootNodeCommon(HTMLStackItem*); | 177 void pushRootNodeCommon(HTMLStackItem*); |
174 void popCommon(); | 178 void popCommon(); |
175 void removeNonTopCommon(Element*); | 179 void removeNonTopCommon(Element*); |
176 | 180 |
177 Member<ElementRecord> m_top; | 181 Member<ElementRecord> m_top; |
178 | 182 |
179 // We remember the root node, <head> and <body> as they are pushed. Their | 183 // We remember the root node, <head> and <body> as they are pushed. Their |
180 // ElementRecords keep them alive. The root node is never popped. | 184 // ElementRecords keep them alive. The root node is never popped. |
181 // FIXME: We don't currently require type-specific information about | 185 // FIXME: We don't currently require type-specific information about these |
182 // these elements so we haven't yet bothered to plumb the types all the | 186 // elements so we haven't yet bothered to plumb the types all the way down |
183 // way down through createElement, etc. | 187 // through createElement, etc. |
184 Member<ContainerNode> m_rootNode; | 188 Member<ContainerNode> m_rootNode; |
185 Member<Element> m_headElement; | 189 Member<Element> m_headElement; |
186 Member<Element> m_bodyElement; | 190 Member<Element> m_bodyElement; |
187 unsigned m_stackDepth; | 191 unsigned m_stackDepth; |
188 }; | 192 }; |
189 | 193 |
190 WILL_NOT_BE_EAGERLY_TRACED_CLASS(HTMLElementStack::ElementRecord); | 194 WILL_NOT_BE_EAGERLY_TRACED_CLASS(HTMLElementStack::ElementRecord); |
191 | 195 |
192 } // namespace blink | 196 } // namespace blink |
193 | 197 |
194 #endif // HTMLElementStack_h | 198 #endif // HTMLElementStack_h |
OLD | NEW |