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 VIRTUAL_AND_TRACE_AFTER_DISPATCH_H_ 6 #define VIRTUAL_AND_TRACE_AFTER_DISPATCH_H_ 7 8 #include "heap/stubs.h" 9 10 namespace blink { 11 12 class A : public GarbageCollected<A> { 13 public: 14 void trace(Visitor*); 15 void traceAfterDispatch(Visitor*); 16 protected: 17 enum Type { TB }; 18 A(Type type) : m_type(type) { } 19 private: 20 Type m_type; 21 }; 22 23 class B : public A { 24 public: 25 B() : A(TB) { } 26 void traceAfterDispatch(Visitor*); 27 virtual void foo() { } 28 private: 29 Member<A> m_a; 30 }; 31 32 } 33 34 #endif 35