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 GARBAGE_COLLECTED_MIXIN_H_ 6 #define GARBAGE_COLLECTED_MIXIN_H_ 7 8 #include "heap/stubs.h" 9 10 namespace blink { 11 12 class Mixin : public GarbageCollectedMixin { 13 public: 14 virtual void Trace(Visitor*) override; 15 private: 16 Member<Mixin> m_self; 17 }; 18 19 class HeapObject : public GarbageCollected<HeapObject>, public Mixin { 20 USING_GARBAGE_COLLECTED_MIXIN(HeapObject); 21 public: 22 virtual void Trace(Visitor*) override; 23 private: 24 Member<Mixin> m_mix; 25 }; 26 27 } 28 29 #endif 30