Home | History | Annotate | Download | only in tests
      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 PERSISTENT_FIELD_IN_GC_MANAGED_CLASS_H_
      6 #define PERSISTENT_FIELD_IN_GC_MANAGED_CLASS_H_
      7 
      8 #include "heap/stubs.h"
      9 
     10 namespace blink {
     11 
     12 class HeapObject;
     13 
     14 class PartObject {
     15     DISALLOW_NEW();
     16 private:
     17     Persistent<HeapObject> m_obj;
     18 };
     19 
     20 class HeapObject : public GarbageCollected<HeapObject> {
     21 public:
     22     void Trace(Visitor*);
     23 private:
     24     PartObject m_part;
     25     HeapVector<PartObject> m_parts;
     26     PersistentHeapVector<Member<HeapObject> > m_objs;
     27     WeakPersistent<HeapObject> m_weakPersistent;
     28 };
     29 
     30 }
     31 
     32 #endif
     33