| 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   59     } |   59     } | 
|   60  |   60  | 
|   61 private: |   61 private: | 
|   62     InsertionPoint* m_insertionPoint; |   62     InsertionPoint* m_insertionPoint; | 
|   63     bool m_resetStyleInheritance; |   63     bool m_resetStyleInheritance; | 
|   64     bool m_outOfComposition; |   64     bool m_outOfComposition; | 
|   65 }; |   65 }; | 
|   66  |   66  | 
|   67 ContainerNode* parent(const Node*); |   67 ContainerNode* parent(const Node*); | 
|   68 ContainerNode* parent(const Node*, ParentDetails*); |   68 ContainerNode* parent(const Node*, ParentDetails*); | 
|   69 ContainerNode* parentSlow(const Node*, ParentDetails*); |  | 
|   70 Node* nextSibling(const Node*); |   69 Node* nextSibling(const Node*); | 
|   71 Node* nextSiblingSlow(const Node*); |  | 
|   72 Node* previousSibling(const Node*); |   70 Node* previousSibling(const Node*); | 
|   73 Node* previousSiblingSlow(const Node*); |  | 
|   74  |   71  | 
|   75 Node* nextInScope(const Node*); |   72 Node* nextInScope(const Node*); | 
|   76 Node* previousInScope(const Node*); |   73 Node* previousInScope(const Node*); | 
|   77 Node* parentInScope(const Node*); |   74 Node* parentInScope(const Node*); | 
|   78 Node* lastChildInScope(const Node*); |   75 Node* lastChildInScope(const Node*); | 
|   79  |   76  | 
|   80 inline ContainerNode* parent(const Node* node) |   77 inline ContainerNode* parent(const Node* node) | 
|   81 { |   78 { | 
|   82     ParentDetails unusedDetails; |   79     ParentDetails unusedDetails; | 
|   83     return parent(node, &unusedDetails); |   80     return parent(node, &unusedDetails); | 
|   84 } |   81 } | 
|   85  |   82  | 
|   86 inline ContainerNode* parent(const Node* node, ParentDetails* details) |  | 
|   87 { |  | 
|   88     if (!node->needsShadowTreeWalker()) { |  | 
|   89 #ifndef NDEBUG |  | 
|   90         ParentDetails slowDetails; |  | 
|   91         ASSERT(node->parentNode() == parentSlow(node, &slowDetails)); |  | 
|   92         ASSERT(slowDetails == *details); |  | 
|   93 #endif |  | 
|   94         return node->parentNodeGuaranteedHostFree(); |  | 
|   95     } |  | 
|   96  |  | 
|   97     return parentSlow(node, details); |  | 
|   98 } |  | 
|   99  |  | 
|  100 inline Node* nextSibling(const Node* node) |  | 
|  101 { |  | 
|  102     if (!node->needsShadowTreeWalker()) { |  | 
|  103         Node* next = node->nextSibling(); |  | 
|  104         if (!next || !next->isInsertionPoint()) { |  | 
|  105             ASSERT(nextSiblingSlow(node) == next); |  | 
|  106             return next; |  | 
|  107         } |  | 
|  108     } |  | 
|  109  |  | 
|  110     return nextSiblingSlow(node); |  | 
|  111 } |  | 
|  112  |  | 
|  113 inline Node* previousSibling(const Node* node) |  | 
|  114 { |  | 
|  115     if (!node->needsShadowTreeWalker()) { |  | 
|  116         Node* prev = node->previousSibling(); |  | 
|  117         if (!prev || !prev->isInsertionPoint()) { |  | 
|  118             ASSERT(previousSiblingSlow(node) == prev); |  | 
|  119             return prev; |  | 
|  120         } |  | 
|  121     } |  | 
|  122  |  | 
|  123     return previousSiblingSlow(node); |  | 
|  124 } |  | 
|  125  |  | 
|  126 } |   83 } | 
|  127  |   84  | 
|  128 } // namespace WebCore |   85 } // namespace WebCore | 
|  129  |   86  | 
|  130 #endif |   87 #endif | 
| OLD | NEW |