Index: Source/platform/heap/TraceTraits.h |
diff --git a/Source/platform/heap/TraceTraits.h b/Source/platform/heap/TraceTraits.h |
index 2c5b3ebfb28366fc7781f86cf80b710ce91522fc..eafe3ee4796360b877902252eb0eeec18d7e1d63 100644 |
--- a/Source/platform/heap/TraceTraits.h |
+++ b/Source/platform/heap/TraceTraits.h |
@@ -23,11 +23,13 @@ |
namespace blink { |
template<typename T> class CrossThreadPersistent; |
+template<typename T> class CrossThreadWeakPersistent; |
template<typename T> struct GCInfoTrait; |
class HeapObjectHeader; |
template<typename T> class Member; |
template<typename T> class TraceTrait; |
template<typename T> class WeakMember; |
+template<typename T> class WeakPersistent; |
template<typename T, bool = NeedsAdjustAndMark<T>::value> class AdjustAndMarkTrait; |
@@ -286,11 +288,23 @@ public: |
}; |
template<typename T> |
+class TraceEagerlyTrait<WeakPersistent<T>> { |
+public: |
+ static const bool value = TraceEagerlyTrait<T>::value; |
+}; |
+ |
+template<typename T> |
class TraceEagerlyTrait<CrossThreadPersistent<T>> { |
public: |
static const bool value = TraceEagerlyTrait<T>::value; |
}; |
+template<typename T> |
+class TraceEagerlyTrait<CrossThreadWeakPersistent<T>> { |
+public: |
+ static const bool value = TraceEagerlyTrait<T>::value; |
+}; |
+ |
template<typename ValueArg, size_t inlineCapacity> class HeapListHashSetAllocator; |
template<typename T, size_t inlineCapacity> |
class TraceEagerlyTrait<WTF::ListHashSetNode<T, HeapListHashSetAllocator<T, inlineCapacity>>> { |