| 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, 2013 Apple Inc. All r
ights 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. |
| 11 * | 11 * |
| 12 * This library is distributed in the hope that it will be useful, | 12 * This library is distributed in the hope that it will be useful, |
| 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 15 * Library General Public License for more details. | 15 * Library General Public License for more details. |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 | 143 |
| 144 bool childrenAffectedByForwardPositionalRules() const { return hasRestyleFla
g(ChildrenAffectedByForwardPositionalRules); } | 144 bool childrenAffectedByForwardPositionalRules() const { return hasRestyleFla
g(ChildrenAffectedByForwardPositionalRules); } |
| 145 void setChildrenAffectedByForwardPositionalRules() { setRestyleFlag(Children
AffectedByForwardPositionalRules); } | 145 void setChildrenAffectedByForwardPositionalRules() { setRestyleFlag(Children
AffectedByForwardPositionalRules); } |
| 146 | 146 |
| 147 bool childrenAffectedByBackwardPositionalRules() const { return hasRestyleFl
ag(ChildrenAffectedByBackwardPositionalRules); } | 147 bool childrenAffectedByBackwardPositionalRules() const { return hasRestyleFl
ag(ChildrenAffectedByBackwardPositionalRules); } |
| 148 void setChildrenAffectedByBackwardPositionalRules() { setRestyleFlag(Childre
nAffectedByBackwardPositionalRules); } | 148 void setChildrenAffectedByBackwardPositionalRules() { setRestyleFlag(Childre
nAffectedByBackwardPositionalRules); } |
| 149 | 149 |
| 150 // FIXME: These methods should all be renamed to something better than "chec
k", | 150 // FIXME: These methods should all be renamed to something better than "chec
k", |
| 151 // since it's not clear that they alter the style bits of siblings and child
ren. | 151 // since it's not clear that they alter the style bits of siblings and child
ren. |
| 152 void checkForChildrenAdjacentRuleChanges(); | 152 void checkForChildrenAdjacentRuleChanges(); |
| 153 void checkForSiblingStyleChanges(bool finishedParsingCallback, Node* beforeC
hange, Node* afterChange, int childCountDelta); | 153 enum SiblingCheckType { FinishedParsingChildren, SiblingRemoved, Other }; |
| 154 void checkForSiblingStyleChanges(SiblingCheckType, Node* beforeChange, Node*
afterChange); |
| 154 | 155 |
| 155 bool childrenSupportStyleSharing() const { return !hasRestyleFlags(); } | 156 bool childrenSupportStyleSharing() const { return !hasRestyleFlags(); } |
| 156 | 157 |
| 157 // -------------------------------------------------------------------------
---- | 158 // -------------------------------------------------------------------------
---- |
| 158 // Notification of document structure changes (see core/dom/Node.h for more
notification methods) | 159 // Notification of document structure changes (see core/dom/Node.h for more
notification methods) |
| 159 | 160 |
| 161 enum ChildrenChangeType { ChildInserted, ChildRemoved, AllChildrenRemoved, T
extChanged }; |
| 162 enum ChildrenChangeSource { ChildrenChangeSourceAPI, ChildrenChangeSourcePar
ser }; |
| 163 struct ChildrenChange { |
| 164 ChildrenChangeType type; |
| 165 Node* siblingBeforeChange; |
| 166 Node* siblingAfterChange; |
| 167 ChildrenChangeSource byParser; |
| 168 }; |
| 169 |
| 160 // Notifies the node that it's list of children have changed (either by addi
ng or removing child nodes), or a child | 170 // Notifies the node that it's list of children have changed (either by addi
ng or removing child nodes), or a child |
| 161 // node that is of the type CDATA_SECTION_NODE, TEXT_NODE or COMMENT_NODE ha
s changed its value. | 171 // node that is of the type CDATA_SECTION_NODE, TEXT_NODE or COMMENT_NODE ha
s changed its value. |
| 162 virtual void childrenChanged(bool createdByParser = false, Node* beforeChang
e = 0, Node* afterChange = 0, int childCountDelta = 0); | 172 virtual void childrenChanged(const ChildrenChange&); |
| 163 | 173 |
| 164 void disconnectDescendantFrames(); | 174 void disconnectDescendantFrames(); |
| 165 | 175 |
| 166 virtual void trace(Visitor*) OVERRIDE; | 176 virtual void trace(Visitor*) OVERRIDE; |
| 167 | 177 |
| 168 void notifyNodeInserted(Node&); | 178 void notifyNodeInserted(Node&); |
| 169 void notifyNodeRemoved(Node&); | 179 void notifyNodeRemoved(Node&); |
| 170 | 180 |
| 171 protected: | 181 protected: |
| 172 ContainerNode(TreeScope*, ConstructionType = CreateContainer); | 182 ContainerNode(TreeScope*, ConstructionType = CreateContainer); |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 inline void getChildNodes(Node& node, NodeVector& nodes) | 318 inline void getChildNodes(Node& node, NodeVector& nodes) |
| 309 { | 319 { |
| 310 ASSERT(!nodes.size()); | 320 ASSERT(!nodes.size()); |
| 311 for (Node* child = node.firstChild(); child; child = child->nextSibling()) | 321 for (Node* child = node.firstChild(); child; child = child->nextSibling()) |
| 312 nodes.append(child); | 322 nodes.append(child); |
| 313 } | 323 } |
| 314 | 324 |
| 315 } // namespace WebCore | 325 } // namespace WebCore |
| 316 | 326 |
| 317 #endif // ContainerNode_h | 327 #endif // ContainerNode_h |
| OLD | NEW |