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 19 matching lines...) Expand all Loading... |
30 #include "core/dom/Element.h" | 30 #include "core/dom/Element.h" |
31 | 31 |
32 namespace blink { | 32 namespace blink { |
33 | 33 |
34 class InsertionPoint; | 34 class InsertionPoint; |
35 class RenderObject; | 35 class RenderObject; |
36 | 36 |
37 namespace NodeRenderingTraversal { | 37 namespace NodeRenderingTraversal { |
38 | 38 |
39 class ParentDetails { | 39 class ParentDetails { |
| 40 STACK_ALLOCATED(); |
40 public: | 41 public: |
41 ParentDetails() | 42 ParentDetails() |
42 : m_insertionPoint(0) | 43 : m_insertionPoint(nullptr) |
43 { } | 44 { } |
44 | 45 |
45 const InsertionPoint* insertionPoint() const { return m_insertionPoint; } | 46 const InsertionPoint* insertionPoint() const { return m_insertionPoint; } |
46 | 47 |
47 void didTraverseInsertionPoint(const InsertionPoint*); | 48 void didTraverseInsertionPoint(const InsertionPoint*); |
48 | 49 |
49 bool operator==(const ParentDetails& other) | 50 bool operator==(const ParentDetails& other) |
50 { | 51 { |
51 return m_insertionPoint == other.m_insertionPoint; | 52 return m_insertionPoint == other.m_insertionPoint; |
52 } | 53 } |
53 | 54 |
54 private: | 55 private: |
55 const InsertionPoint* m_insertionPoint; | 56 RawPtrWillBeMember<const InsertionPoint> m_insertionPoint; |
56 }; | 57 }; |
57 | 58 |
58 ContainerNode* parent(const Node&, ParentDetails* = 0); | 59 ContainerNode* parent(const Node&, ParentDetails* = 0); |
59 bool contains(const ContainerNode&, const Node&); | 60 bool contains(const ContainerNode&, const Node&); |
60 Node* firstChild(const Node&); | 61 Node* firstChild(const Node&); |
61 Node* nextSibling(const Node&); | 62 Node* nextSibling(const Node&); |
62 Node* previousSibling(const Node&); | 63 Node* previousSibling(const Node&); |
63 Node* previous(const Node&, const Node* stayWithin); | 64 Node* previous(const Node&, const Node* stayWithin); |
64 Node* next(const Node&, const Node* stayWithin); | 65 Node* next(const Node&, const Node* stayWithin); |
65 RenderObject* nextSiblingRenderer(const Node&); | 66 RenderObject* nextSiblingRenderer(const Node&); |
66 RenderObject* previousSiblingRenderer(const Node&); | 67 RenderObject* previousSiblingRenderer(const Node&); |
67 RenderObject* nextInTopLayer(const Element&); | 68 RenderObject* nextInTopLayer(const Element&); |
68 | 69 |
69 inline Element* parentElement(const Node& node) | 70 inline Element* parentElement(const Node& node) |
70 { | 71 { |
71 ContainerNode* found = parent(node); | 72 ContainerNode* found = parent(node); |
72 return found && found->isElementNode() ? toElement(found) : 0; | 73 return found && found->isElementNode() ? toElement(found) : 0; |
73 } | 74 } |
74 | 75 |
75 } | 76 } |
76 | 77 |
77 } // namespace blink | 78 } // namespace blink |
78 | 79 |
79 #endif | 80 #endif |
OLD | NEW |