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

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

Issue 313813002: Oilpan: Replace RefPtrs to Node and its subclasses in core/dom/ with Oilpan transtion types. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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 * (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, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved. 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved.
6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
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 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 180
181 Node* pseudoAwareNextSibling() const; 181 Node* pseudoAwareNextSibling() const;
182 Node* pseudoAwarePreviousSibling() const; 182 Node* pseudoAwarePreviousSibling() const;
183 Node* pseudoAwareFirstChild() const; 183 Node* pseudoAwareFirstChild() const;
184 Node* pseudoAwareLastChild() const; 184 Node* pseudoAwareLastChild() const;
185 185
186 virtual KURL baseURI() const; 186 virtual KURL baseURI() const;
187 187
188 // These should all actually return a node, but this is only important for l anguage bindings, 188 // These should all actually return a node, but this is only important for l anguage bindings,
189 // which will already know and hold a ref on the right node to return. 189 // which will already know and hold a ref on the right node to return.
190 void insertBefore(PassRefPtr<Node> newChild, Node* refChild, ExceptionState& = ASSERT_NO_EXCEPTION); 190 void insertBefore(PassRefPtrWillBeRawPtr<Node> newChild, Node* refChild, Exc eptionState& = ASSERT_NO_EXCEPTION);
191 void replaceChild(PassRefPtr<Node> newChild, Node* oldChild, ExceptionState& = ASSERT_NO_EXCEPTION); 191 void replaceChild(PassRefPtrWillBeRawPtr<Node> newChild, Node* oldChild, Exc eptionState& = ASSERT_NO_EXCEPTION);
192 void removeChild(Node* child, ExceptionState&); 192 void removeChild(Node* child, ExceptionState&);
193 void appendChild(PassRefPtr<Node> newChild, ExceptionState& = ASSERT_NO_EXCE PTION); 193 void appendChild(PassRefPtrWillBeRawPtr<Node> newChild, ExceptionState& = AS SERT_NO_EXCEPTION);
194 194
195 bool hasChildren() const { return firstChild(); } 195 bool hasChildren() const { return firstChild(); }
196 virtual PassRefPtrWillBeRawPtr<Node> cloneNode(bool deep = false) = 0; 196 virtual PassRefPtrWillBeRawPtr<Node> cloneNode(bool deep = false) = 0;
197 virtual const AtomicString& localName() const; 197 virtual const AtomicString& localName() const;
198 virtual const AtomicString& namespaceURI() const; 198 virtual const AtomicString& namespaceURI() const;
199 void normalize(); 199 void normalize();
200 200
201 bool isSameNode(Node* other) const { return this == other; } 201 bool isSameNode(Node* other) const { return this == other; }
202 bool isEqualNode(Node*) const; 202 bool isEqualNode(Node*) const;
203 bool isDefaultNamespace(const AtomicString& namespaceURI) const; 203 bool isDefaultNamespace(const AtomicString& namespaceURI) const;
(...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after
878 return !node || node->isDocumentNode() || node->isShadowRoot(); 878 return !node || node->isDocumentNode() || node->isShadowRoot();
879 } 879 }
880 880
881 inline bool isTreeScopeRoot(const Node& node) 881 inline bool isTreeScopeRoot(const Node& node)
882 { 882 {
883 return node.isDocumentNode() || node.isShadowRoot(); 883 return node.isDocumentNode() || node.isShadowRoot();
884 } 884 }
885 885
886 // Allow equality comparisons of Nodes by reference or pointer, interchangeably. 886 // Allow equality comparisons of Nodes by reference or pointer, interchangeably.
887 DEFINE_COMPARISON_OPERATORS_WITH_REFERENCES_REFCOUNTED(Node) 887 DEFINE_COMPARISON_OPERATORS_WITH_REFERENCES_REFCOUNTED(Node)
888 DEFINE_COMPARISON_OPERATORS_WITH_REFERENCES_RAWPTR(Node)
888 889
889 890
890 #define DEFINE_NODE_TYPE_CASTS(thisType, predicate) \ 891 #define DEFINE_NODE_TYPE_CASTS(thisType, predicate) \
891 template<typename T> inline thisType* to##thisType(const RefPtr<T>& node) { return to##thisType(node.get()); } \ 892 template<typename T> inline thisType* to##thisType(const RefPtr<T>& node) { return to##thisType(node.get()); } \
892 DEFINE_TYPE_CASTS(thisType, Node, node, node->predicate, node.predicate) 893 DEFINE_TYPE_CASTS(thisType, Node, node, node->predicate, node.predicate)
893 894
894 // This requires isClassName(const Node&). 895 // This requires isClassName(const Node&).
895 #define DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(thisType) \ 896 #define DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(thisType) \
896 template<typename T> inline thisType* to##thisType(const RefPtr<T>& node) { return to##thisType(node.get()); } \ 897 template<typename T> inline thisType* to##thisType(const RefPtr<T>& node) { return to##thisType(node.get()); } \
897 DEFINE_TYPE_CASTS(thisType, Node, node, is##thisType(*node), is##thisType(no de)) 898 DEFINE_TYPE_CASTS(thisType, Node, node, is##thisType(*node), is##thisType(no de))
898 899
899 #define DEFINE_NODE_FACTORY(T) \ 900 #define DEFINE_NODE_FACTORY(T) \
900 inline static PassRefPtrWillBeRawPtr<T> create(Document& document) \ 901 inline static PassRefPtrWillBeRawPtr<T> create(Document& document) \
901 { \ 902 { \
902 return adoptRefWillBeRefCountedGarbageCollected(new T(document)); \ 903 return adoptRefWillBeRefCountedGarbageCollected(new T(document)); \
903 } 904 }
904 905
905 } // namespace WebCore 906 } // namespace WebCore
906 907
907 #ifndef NDEBUG 908 #ifndef NDEBUG
908 // Outside the WebCore namespace for ease of invocation from gdb. 909 // Outside the WebCore namespace for ease of invocation from gdb.
909 void showNode(const WebCore::Node*); 910 void showNode(const WebCore::Node*);
910 void showTree(const WebCore::Node*); 911 void showTree(const WebCore::Node*);
911 void showNodePath(const WebCore::Node*); 912 void showNodePath(const WebCore::Node*);
912 #endif 913 #endif
913 914
914 #endif 915 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698