OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "class_requires_finalization_mixin.h" | 5 #include "class_requires_finalization_mixin.h" |
6 | 6 |
7 namespace WebCore { | 7 namespace WebCore { |
8 | 8 |
9 void Mixin::trace(Visitor* visitor) | 9 void MixinFinalizable::trace(Visitor* visitor) |
10 { | 10 { |
11 visitor->trace(m_onHeap); | 11 visitor->trace(m_onHeap); |
12 } | 12 } |
| 13 |
| 14 void MixinNotFinalizable::trace(Visitor* visitor) |
| 15 { |
| 16 visitor->trace(m_onHeap); |
| 17 } |
13 | 18 |
14 void NeedsFinalizer::trace(Visitor* visitor) | 19 void NeedsFinalizer::trace(Visitor* visitor) |
15 { | 20 { |
16 visitor->trace(m_obj); | 21 visitor->trace(m_obj); |
17 Mixin::trace(visitor); | 22 MixinFinalizable::trace(visitor); |
18 } | 23 } |
19 | 24 |
20 void HasFinalizer::trace(Visitor* visitor) | 25 void HasFinalizer::trace(Visitor* visitor) |
21 { | 26 { |
22 visitor->trace(m_obj); | 27 visitor->trace(m_obj); |
23 Mixin::trace(visitor); | 28 MixinFinalizable::trace(visitor); |
| 29 } |
| 30 |
| 31 void NeedsNoFinalization::trace(Visitor* visitor) |
| 32 { |
| 33 visitor->trace(m_obj); |
| 34 MixinNotFinalizable::trace(visitor); |
24 } | 35 } |
25 | 36 |
26 } | 37 } |
OLD | NEW |