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 #include "trace_templated_super.h" 6 7 namespace blink { 8 9 template<typename T> 10 void Super<T>::clearWeakMembers(Visitor* visitor) 11 { 12 (void)m_weak; 13 } 14 15 template<typename T> 16 void Super<T>::trace(Visitor* visitor) 17 { 18 visitor->registerWeakMembers<Super<T>, &Super<T>::clearWeakMembers>(this); 19 visitor->trace(m_obj); 20 Mixin::trace(visitor); 21 } 22 23 template<typename T> 24 void Sub<T>::trace(Visitor* visitor) 25 { 26 // Missing trace of m_obj. 27 Super<T>::trace(visitor); 28 } 29 30 void HeapObject::trace(Visitor* visitor) 31 { 32 visitor->trace(m_obj); 33 Sub<HeapObject>::trace(visitor); 34 } 35 36 } 37