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 CLASS_REQUIRES_TRACE_METHOD_TMPL_H_ 6 #define CLASS_REQUIRES_TRACE_METHOD_TMPL_H_ 7 8 #include "heap/stubs.h" 9 10 namespace blink { 11 12 class HeapObject : public GarbageCollected<HeapObject> { }; 13 14 class PartObjectA { 15 DISALLOW_NEW(); 16 }; 17 18 class PartObjectB { 19 DISALLOW_NEW(); 20 public: 21 void Trace(Visitor* visitor) { visitor->Trace(m_obj); } 22 private: 23 Member<HeapObject> m_obj; 24 }; 25 26 template<typename T> 27 class TemplatedObject { 28 private: 29 T m_part; 30 }; 31 32 } 33 34 #endif 35