Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Side by Side Diff: Source/core/dom/NodeIterator.h

Issue 947393002: InlinedVisitor: Migrate dom to use inlined tracing (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2000 Frederik Holljen (frederik.holljen@hig.no) 3 * Copyright (C) 2000 Frederik Holljen (frederik.holljen@hig.no)
4 * Copyright (C) 2001 Peter Kelly (pmk@post.com) 4 * Copyright (C) 2001 Peter Kelly (pmk@post.com)
5 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2004, 2008 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2008 Apple Inc. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 PassRefPtrWillBeRawPtr<Node> nextNode(ExceptionState&); 52 PassRefPtrWillBeRawPtr<Node> nextNode(ExceptionState&);
53 PassRefPtrWillBeRawPtr<Node> previousNode(ExceptionState&); 53 PassRefPtrWillBeRawPtr<Node> previousNode(ExceptionState&);
54 void detach(); 54 void detach();
55 55
56 Node* referenceNode() const { return m_referenceNode.node.get(); } 56 Node* referenceNode() const { return m_referenceNode.node.get(); }
57 bool pointerBeforeReferenceNode() const { return m_referenceNode.isPointerBe foreNode; } 57 bool pointerBeforeReferenceNode() const { return m_referenceNode.isPointerBe foreNode; }
58 58
59 // This function is called before any node is removed from the document tree . 59 // This function is called before any node is removed from the document tree .
60 void nodeWillBeRemoved(Node&); 60 void nodeWillBeRemoved(Node&);
61 61
62 virtual void trace(Visitor*) override; 62 DECLARE_VIRTUAL_TRACE();
63 63
64 private: 64 private:
65 NodeIterator(PassRefPtrWillBeRawPtr<Node>, unsigned whatToShow, PassRefPtrWi llBeRawPtr<NodeFilter>); 65 NodeIterator(PassRefPtrWillBeRawPtr<Node>, unsigned whatToShow, PassRefPtrWi llBeRawPtr<NodeFilter>);
66 66
67 class NodePointer { 67 class NodePointer {
68 DISALLOW_ALLOCATION(); 68 DISALLOW_ALLOCATION();
69 public: 69 public:
70 NodePointer(); 70 NodePointer();
71 NodePointer(PassRefPtrWillBeRawPtr<Node>, bool); 71 NodePointer(PassRefPtrWillBeRawPtr<Node>, bool);
72 72
73 void clear(); 73 void clear();
74 bool moveToNext(Node* root); 74 bool moveToNext(Node* root);
75 bool moveToPrevious(Node* root); 75 bool moveToPrevious(Node* root);
76 76
77 RefPtrWillBeMember<Node> node; 77 RefPtrWillBeMember<Node> node;
78 bool isPointerBeforeNode; 78 bool isPointerBeforeNode;
79 79
80 void trace(Visitor* visitor) 80 DEFINE_INLINE_TRACE()
81 { 81 {
82 visitor->trace(node); 82 visitor->trace(node);
83 } 83 }
84 }; 84 };
85 85
86 void updateForNodeRemoval(Node& nodeToBeRemoved, NodePointer&) const; 86 void updateForNodeRemoval(Node& nodeToBeRemoved, NodePointer&) const;
87 87
88 NodePointer m_referenceNode; 88 NodePointer m_referenceNode;
89 NodePointer m_candidateNode; 89 NodePointer m_candidateNode;
90 }; 90 };
91 91
92 } // namespace blink 92 } // namespace blink
93 93
94 #endif // NodeIterator_h 94 #endif // NodeIterator_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698