1aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko// Copyright 2014 The Chromium Authors. All rights reserved. 2aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko// Use of this source code is governed by a BSD-style license that can be 3aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko// found in the LICENSE file. 4aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko 5aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko#ifndef OWN_PTR_TO_GC_MANAGED_CLASS_H_ 6aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko#define OWN_PTR_TO_GC_MANAGED_CLASS_H_ 7aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko 8aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko#include "heap/stubs.h" 9aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko 1027c0bb04bfdbf82b1d7e6670b8e806451e8ce2c3Dmitri Gribenkonamespace blink { 1127c0bb04bfdbf82b1d7e6670b8e806451e8ce2c3Dmitri Gribenko 12aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenkoclass HeapObject; 136fd7d3067dd06584ef3940e88e31fea1a0e83588Dmitri Gribenko 14aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenkoclass PartObject { 15aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko DISALLOW_ALLOCATION(); 16aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenkoprivate: 17aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko OwnPtr<HeapObject> m_obj; 18aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko}; 192d44d77fed3200e2eff289f55493317e90d3398cDmitri Gribenko 20aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenkoclass HeapObject : public GarbageCollectedFinalized<HeapObject> { 21f50555eedef33fd5a67d369aa0ae8a6f1d201543Dmitri Gribenkopublic: 221952354bd376062c3ab3d328c0fc6c36530c9309Dmitri Gribenko void trace(Visitor*); 23f50555eedef33fd5a67d369aa0ae8a6f1d201543Dmitri Gribenkoprivate: 24f50555eedef33fd5a67d369aa0ae8a6f1d201543Dmitri Gribenko Vector<OwnPtr<HeapObject> > m_objs; 25f50555eedef33fd5a67d369aa0ae8a6f1d201543Dmitri Gribenko OwnPtr<HeapVector<Member<HeapObject> > > m_objs2; 26f50555eedef33fd5a67d369aa0ae8a6f1d201543Dmitri Gribenko}; 27aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko 28aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko} 29aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko 30aa0cd85838f2a024e589ea4e8c2094130065af21Dmitri Gribenko#endif 31c50a0e3900f1b44503be48457508af372f4dd05aAbramo Bagnara