1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef WEAK_FIELDS_REQUIRE_TRACING_H_ 6 #define WEAK_FIELDS_REQUIRE_TRACING_H_ 7 8 #include "heap/stubs.h" 9 10 namespace blink { 11 12 class HeapObject : public GarbageCollected<HeapObject> { 13 public: 14 void trace(Visitor*); 15 void clearWeakMembers(Visitor*); 16 private: 17 Member<HeapObject> m_obj1; 18 WeakMember<HeapObject> m_obj2; 19 WeakMember<HeapObject> m_obj3; 20 HeapHashSet<WeakMember<HeapObject> > m_set1; 21 HeapHashSet<WeakMember<HeapObject> > m_set2; 22 }; 23 24 } 25 26 #endif 27