OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights
reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights
reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 | 162 |
163 virtual void trace(Visitor*) OVERRIDE; | 163 virtual void trace(Visitor*) OVERRIDE; |
164 | 164 |
165 void notifyNodeInserted(Node&); | 165 void notifyNodeInserted(Node&); |
166 void notifyNodeRemoved(Node&); | 166 void notifyNodeRemoved(Node&); |
167 | 167 |
168 protected: | 168 protected: |
169 ContainerNode(TreeScope*, ConstructionType = CreateContainer); | 169 ContainerNode(TreeScope*, ConstructionType = CreateContainer); |
170 | 170 |
171 template<class GenericNode, class GenericNodeContainer> | 171 template<class GenericNode, class GenericNodeContainer> |
172 friend void appendChildToContainer(GenericNode& child, GenericNodeContainer&
); | |
173 | |
174 template<class GenericNode, class GenericNodeContainer> | |
175 friend void Private::addChildNodesToDeletionQueue(GenericNode*& head, Generi
cNode*& tail, GenericNodeContainer&); | 172 friend void Private::addChildNodesToDeletionQueue(GenericNode*& head, Generi
cNode*& tail, GenericNodeContainer&); |
176 | 173 |
177 #if !ENABLE(OILPAN) | 174 #if !ENABLE(OILPAN) |
178 void removeDetachedChildren(); | 175 void removeDetachedChildren(); |
179 #endif | 176 #endif |
180 | 177 |
181 void setFirstChild(Node* child) { m_firstChild = child; } | 178 void setFirstChild(Node* child) { m_firstChild = child; } |
182 void setLastChild(Node* child) { m_lastChild = child; } | 179 void setLastChild(Node* child) { m_lastChild = child; } |
183 | 180 |
184 private: | 181 private: |
185 void removeBetween(Node* previousChild, Node* nextChild, Node& oldChild); | 182 void removeBetween(Node* previousChild, Node* nextChild, Node& oldChild); |
186 void insertBeforeCommon(Node& nextChild, Node& oldChild); | 183 void insertBeforeCommon(Node& nextChild, Node& oldChild); |
| 184 void appendChildCommon(Node& child); |
187 void updateTreeAfterInsertion(Node& child); | 185 void updateTreeAfterInsertion(Node& child); |
188 void willRemoveChildren(); | 186 void willRemoveChildren(); |
189 void willRemoveChild(Node& child); | 187 void willRemoveChild(Node& child); |
190 | 188 |
191 void notifyNodeInsertedInternal(Node&, NodeVector& postInsertionNotification
Targets); | 189 void notifyNodeInsertedInternal(Node&, NodeVector& postInsertionNotification
Targets); |
192 | 190 |
193 bool hasRestyleFlag(DynamicRestyleFlags mask) const { return hasRareData() &
& hasRestyleFlagInternal(mask); } | 191 bool hasRestyleFlag(DynamicRestyleFlags mask) const { return hasRareData() &
& hasRestyleFlagInternal(mask); } |
194 bool hasRestyleFlags() const { return hasRareData() && hasRestyleFlagsIntern
al(); } | 192 bool hasRestyleFlags() const { return hasRareData() && hasRestyleFlagsIntern
al(); } |
195 void setRestyleFlag(DynamicRestyleFlags); | 193 void setRestyleFlag(DynamicRestyleFlags); |
196 bool hasRestyleFlagInternal(DynamicRestyleFlags) const; | 194 bool hasRestyleFlagInternal(DynamicRestyleFlags) const; |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 inline void getChildNodes(Node& node, NodeVector& nodes) | 305 inline void getChildNodes(Node& node, NodeVector& nodes) |
308 { | 306 { |
309 ASSERT(!nodes.size()); | 307 ASSERT(!nodes.size()); |
310 for (Node* child = node.firstChild(); child; child = child->nextSibling()) | 308 for (Node* child = node.firstChild(); child; child = child->nextSibling()) |
311 nodes.append(child); | 309 nodes.append(child); |
312 } | 310 } |
313 | 311 |
314 } // namespace WebCore | 312 } // namespace WebCore |
315 | 313 |
316 #endif // ContainerNode_h | 314 #endif // ContainerNode_h |
OLD | NEW |