Chromium Code Reviews| Index: Source/platform/heap/Handle.h |
| diff --git a/Source/platform/heap/Handle.h b/Source/platform/heap/Handle.h |
| index 6a46cef73a1b9bbf1ee303b986977ceb9d7d81f2..2d272b857c2ca78768a32c773a0590f76426efc4 100644 |
| --- a/Source/platform/heap/Handle.h |
| +++ b/Source/platform/heap/Handle.h |
| @@ -1040,6 +1040,12 @@ template<typename T> struct HashTraits<WebCore::WeakMember<T> > : SimpleClassHas |
| static PeekOutType peek(const WebCore::WeakMember<T>& value) { return value; } |
| static PassOutType passOut(const WebCore::WeakMember<T>& value) { return value; } |
| + static bool shouldRemoveFromCollection(WebCore::Visitor* visitor, WebCore::WeakMember<T>& value) { return !visitor->isAlive(value); } |
| + static void traceInCollection(WebCore::Visitor* visitor, WebCore::WeakMember<T>& weakMember, WebCore::ShouldWeakPointersBeMarkedStrongly strongify) |
| + { |
| + if (strongify == WebCore::WeakPointersActStrong) |
|
Mads Ager (chromium)
2014/06/06 09:59:16
In the heap tests code, it looks like you added a
Erik Corry
2014/06/06 12:37:21
That would go into a loop, since the visitor metho
|
| + visitor->trace(reinterpret_cast<WebCore::Member<T>&>(weakMember)); // Strongified visit. |
| + } |
| }; |
| template<typename T> struct PtrHash<WebCore::Member<T> > : PtrHash<T*> { |