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

Side by Side Diff: third_party/WebKit/Source/platform/heap/WrapperVisitor.h

Issue 2434763002: [wrapper-tracing] Bring remoteplayback up to date (Closed)
Patch Set: Reset bingings results Created 4 years, 2 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
« no previous file with comments | « third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef WrapperVisitor_h 5 #ifndef WrapperVisitor_h
6 #define WrapperVisitor_h 6 #define WrapperVisitor_h
7 7
8 #include "platform/PlatformExport.h" 8 #include "platform/PlatformExport.h"
9 #include "wtf/Allocator.h" 9 #include "wtf/Allocator.h"
10 10
11 namespace v8 { 11 namespace v8 {
12 class Value; 12 class Value;
13 class Object; 13 class Object;
14 template <class T> 14 template <class T>
15 class PersistentBase; 15 class PersistentBase;
16 } 16 }
17 17
18 namespace blink { 18 namespace blink {
19 19
20 template <typename T> 20 template <typename T>
21 class TraceTrait; 21 class TraceTrait;
22 template <typename T> 22 template <typename T>
23 class Member; 23 class Member;
24 class ScriptWrappable; 24 class ScriptWrappable;
25 template <typename T> 25 template <typename T>
26 class ScopedPersistent; 26 class ScopedPersistent;
27 class TraceWrapperBase;
27 28
28 // TODO(hlopko): Find a way to remove special-casing using templates 29 // TODO(hlopko): Find a way to remove special-casing using templates
29 #define WRAPPER_VISITOR_SPECIAL_CLASSES(V) \ 30 #define WRAPPER_VISITOR_SPECIAL_CLASSES(V) \
30 V(DocumentStyleSheetCollection); \ 31 V(DocumentStyleSheetCollection); \
31 V(ElementRareData); \ 32 V(ElementRareData); \
32 V(ElementShadow); \ 33 V(ElementShadow); \
33 V(HTMLImportsController) \ 34 V(HTMLImportsController) \
34 V(MutationObserverRegistration); \ 35 V(MutationObserverRegistration); \
35 V(NodeIntersectionObserverData) \ 36 V(NodeIntersectionObserverData) \
36 V(NodeListsNodeData); \ 37 V(NodeListsNodeData); \
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 } 122 }
122 123
123 virtual void traceWrappers( 124 virtual void traceWrappers(
124 const ScopedPersistent<v8::Value>* persistent) const = 0; 125 const ScopedPersistent<v8::Value>* persistent) const = 0;
125 virtual void traceWrappers( 126 virtual void traceWrappers(
126 const ScopedPersistent<v8::Object>* persistent) const = 0; 127 const ScopedPersistent<v8::Object>* persistent) const = 0;
127 virtual void markWrapper( 128 virtual void markWrapper(
128 const v8::PersistentBase<v8::Object>* persistent) const = 0; 129 const v8::PersistentBase<v8::Object>* persistent) const = 0;
129 130
130 virtual void dispatchTraceWrappers(const ScriptWrappable*) const = 0; 131 virtual void dispatchTraceWrappers(const ScriptWrappable*) const = 0;
132 virtual void dispatchTraceWrappers(const TraceWrapperBase*) const = 0;
131 #define DECLARE_DISPATCH_TRACE_WRAPPERS(className) \ 133 #define DECLARE_DISPATCH_TRACE_WRAPPERS(className) \
132 virtual void dispatchTraceWrappers(const className*) const = 0; 134 virtual void dispatchTraceWrappers(const className*) const = 0;
133 135
134 WRAPPER_VISITOR_SPECIAL_CLASSES(DECLARE_DISPATCH_TRACE_WRAPPERS); 136 WRAPPER_VISITOR_SPECIAL_CLASSES(DECLARE_DISPATCH_TRACE_WRAPPERS);
135 137
136 #undef DECLARE_DISPATCH_TRACE_WRAPPERS 138 #undef DECLARE_DISPATCH_TRACE_WRAPPERS
137 virtual void dispatchTraceWrappers(const void*) const = 0; 139 virtual void dispatchTraceWrappers(const void*) const = 0;
138 140
139 virtual bool markWrapperHeader(HeapObjectHeader*) const = 0; 141 virtual bool markWrapperHeader(HeapObjectHeader*) const = 0;
140 virtual void markWrappersInAllWorlds(const ScriptWrappable*) const = 0; 142 virtual void markWrappersInAllWorlds(const ScriptWrappable*) const = 0;
141 virtual void markWrappersInAllWorlds(const void*) const = 0; 143 virtual void markWrappersInAllWorlds(const void*) const = 0;
142 virtual void pushToMarkingDeque( 144 virtual void pushToMarkingDeque(
143 void (*traceWrappersCallback)(const WrapperVisitor*, const void*), 145 void (*traceWrappersCallback)(const WrapperVisitor*, const void*),
144 HeapObjectHeader* (*heapObjectHeaderCallback)(const void*), 146 HeapObjectHeader* (*heapObjectHeaderCallback)(const void*),
145 const void*) const = 0; 147 const void*) const = 0;
146 }; 148 };
147 149
148 } // namespace blink 150 } // namespace blink
149 151
150 #endif // WrapperVisitor_h 152 #endif // WrapperVisitor_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698