Home | History | Annotate | Download | only in tests
      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 "weak_fields_require_tracing.h"
      6 
      7 namespace blink {
      8 
      9 void HeapObject::trace(Visitor* visitor)
     10 {
     11     // Missing visitor->trace(m_obj1);
     12     // Missing visitor->trace(m_obj2);
     13     // visitor->trace(m_obj3) in callback.
     14     // Missing visitor->trace(m_set1);
     15     visitor->trace(m_set2);
     16     visitor->registerWeakMembers<HeapObject,
     17                                  &HeapObject::clearWeakMembers>(this);
     18 }
     19 
     20 void HeapObject::clearWeakMembers(Visitor* visitor)
     21 {
     22     visitor->trace(m_obj1);  // Does not count.
     23     // Missing visitor->trace(m_obj2);
     24     visitor->trace(m_obj3);  // OK.
     25     visitor->trace(m_set1);  // Does not count.
     26 }
     27 
     28 }
     29