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
10namespace blink {
11
12class HeapObject;
13
14class PartObject {
15    DISALLOW_ALLOCATION();
16private:
17    Persistent<HeapObject> m_obj;
18};
19
20class HeapObject : public GarbageCollected<HeapObject> {
21public:
22    void trace(Visitor*);
23private:
24    PartObject m_part;
25    HeapVector<PartObject> m_parts;
26    PersistentHeapVector<Member<HeapObject> > m_objs;
27};
28
29}
30
31#endif
32