| 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 |