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 #ifndef CLASS_REQUIRES_FINALIZATION_MIXIN_H_ | 5 #ifndef CLASS_REQUIRES_FINALIZATION_MIXIN_H_ |
6 #define CLASS_REQUIRES_FINALIZATION_MIXIN_H_ | 6 #define CLASS_REQUIRES_FINALIZATION_MIXIN_H_ |
7 | 7 |
8 #include "heap/stubs.h" | 8 #include "heap/stubs.h" |
9 | 9 |
10 namespace WebCore { | 10 namespace blink { |
11 | 11 |
12 class OffHeap : public RefCounted<OffHeap> { }; | 12 class OffHeap : public RefCounted<OffHeap> { }; |
13 class OnHeap : public GarbageCollected<OnHeap> { }; | 13 class OnHeap : public GarbageCollected<OnHeap> { }; |
14 | 14 |
15 class MixinFinalizable : public GarbageCollectedMixin { | 15 class MixinFinalizable : public GarbageCollectedMixin { |
16 public: | 16 public: |
17 void trace(Visitor*); | 17 void trace(Visitor*); |
18 private: | 18 private: |
19 RefPtr<OffHeap> m_offHeap; // Requires finalization | 19 RefPtr<OffHeap> m_offHeap; // Requires finalization |
20 Member<OnHeap> m_onHeap; | 20 Member<OnHeap> m_onHeap; |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 USING_GARBAGE_COLLECTED_MIXIN(NeedsNoFinalization); | 53 USING_GARBAGE_COLLECTED_MIXIN(NeedsNoFinalization); |
54 public: | 54 public: |
55 void trace(Visitor*); | 55 void trace(Visitor*); |
56 private: | 56 private: |
57 Member<OnHeap> m_obj; | 57 Member<OnHeap> m_obj; |
58 }; | 58 }; |
59 | 59 |
60 } | 60 } |
61 | 61 |
62 #endif | 62 #endif |
OLD | NEW |