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 REF_PTR_TO_GC_MANAGED_CLASS_H_ 6 #define REF_PTR_TO_GC_MANAGED_CLASS_H_ 7 8 #include "heap/stubs.h" 9 10 namespace blink { 11 12 class HeapObject; 13 14 class PartObject { 15 DISALLOW_ALLOCATION(); 16 private: 17 RefPtr<HeapObject> m_obj; 18 }; 19 20 class HeapObject : public GarbageCollectedFinalized<HeapObject> { 21 public: 22 void trace(Visitor*); 23 private: 24 PartObject m_part; 25 Vector<RefPtr<HeapObject> > m_objs; 26 }; 27 28 } 29 30 #endif 31