OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Neither the name of Google Inc. nor the names of its | 10 * * Neither the name of Google Inc. nor the names of its |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 static Node* traverseNextSibling(const Node&); | 158 static Node* traverseNextSibling(const Node&); |
159 static Node* traversePreviousSibling(const Node&); | 159 static Node* traversePreviousSibling(const Node&); |
160 | 160 |
161 static Node* traverseSiblings(const Node&, TraversalDirection); | 161 static Node* traverseSiblings(const Node&, TraversalDirection); |
162 static Node* traverseSiblingsForV1HostChild(const Node&, TraversalDirection); | 162 static Node* traverseSiblingsForV1HostChild(const Node&, TraversalDirection); |
163 static Node* traverseSiblingsForV0Distribution(const Node&, | 163 static Node* traverseSiblingsForV0Distribution(const Node&, |
164 TraversalDirection); | 164 TraversalDirection); |
165 | 165 |
166 static Node* traverseNextAncestorSibling(const Node&); | 166 static Node* traverseNextAncestorSibling(const Node&); |
167 static Node* traversePreviousAncestorSibling(const Node&); | 167 static Node* traversePreviousAncestorSibling(const Node&); |
| 168 static Node* previousAncestorSiblingPostOrder(const Node& current, |
| 169 const Node* stayWithin); |
168 }; | 170 }; |
169 | 171 |
170 inline ContainerNode* FlatTreeTraversal::parent( | 172 inline ContainerNode* FlatTreeTraversal::parent( |
171 const Node& node, | 173 const Node& node, |
172 ParentTraversalDetails* details) { | 174 ParentTraversalDetails* details) { |
173 assertPrecondition(node); | 175 assertPrecondition(node); |
174 ContainerNode* result = traverseParent(node, details); | 176 ContainerNode* result = traverseParent(node, details); |
175 assertPostcondition(result); | 177 assertPostcondition(result); |
176 return result; | 178 return result; |
177 } | 179 } |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 return traverseChild(node, TraversalDirectionForward); | 294 return traverseChild(node, TraversalDirectionForward); |
293 } | 295 } |
294 | 296 |
295 inline Node* FlatTreeTraversal::traverseLastChild(const Node& node) { | 297 inline Node* FlatTreeTraversal::traverseLastChild(const Node& node) { |
296 return traverseChild(node, TraversalDirectionBackward); | 298 return traverseChild(node, TraversalDirectionBackward); |
297 } | 299 } |
298 | 300 |
299 } // namespace blink | 301 } // namespace blink |
300 | 302 |
301 #endif | 303 #endif |
OLD | NEW |