Chromium Code Reviews| Index: tools/clang/blink_gc_plugin/tests/class_requires_finalization_mixin.h |
| diff --git a/tools/clang/blink_gc_plugin/tests/class_requires_finalization_mixin.h b/tools/clang/blink_gc_plugin/tests/class_requires_finalization_mixin.h |
| index f321281d3622f3b989c9615560282d2adc5ebfb0..e4e05a657f927034fbbdd2f062dbe826d2c94c60 100644 |
| --- a/tools/clang/blink_gc_plugin/tests/class_requires_finalization_mixin.h |
| +++ b/tools/clang/blink_gc_plugin/tests/class_requires_finalization_mixin.h |
| @@ -12,7 +12,16 @@ namespace WebCore { |
| class OffHeap : public RefCounted<OffHeap> { }; |
| class OnHeap : public GarbageCollected<OnHeap> { }; |
| -class Mixin : public GarbageCollectedMixin { |
| +// WebCore::ScriptWrappable receives special treatment |
| +// so as to allow it to be used together with GarbageCollected<T>, |
| +// even when its user-declared destructor is provided. |
| +// As it is with Oilpan disabled. |
| +class ScriptWrappable { |
| +public: |
| + ~ScriptWrappable() { /* user-declared, thus, non-trivial */ } |
| +}; |
| + |
| +class MixinFinalizable : public GarbageCollectedMixin { |
| public: |
| void trace(Visitor*); |
| private: |
| @@ -20,7 +29,16 @@ private: |
| Member<OnHeap> m_onHeap; |
| }; |
| -class NeedsFinalizer : public GarbageCollected<NeedsFinalizer>, public Mixin { |
| +class MixinNotFinalizable : public GarbageCollectedMixin { |
| +public: |
| + void trace(Visitor*); |
| +private: |
| + Member<OnHeap> m_onHeap; |
| +}; |
| + |
| +class NeedsFinalizer |
| + : public GarbageCollected<NeedsFinalizer> |
| + , public MixinFinalizable { |
| USING_GARBAGE_COLLECTED_MIXIN(NeedsFinalizer); |
| public: |
| void trace(Visitor*); |
| @@ -29,7 +47,7 @@ private: |
| }; |
| class HasFinalizer : public GarbageCollectedFinalized<HasFinalizer>, |
| - public Mixin { |
| + public MixinFinalizable { |
| USING_GARBAGE_COLLECTED_MIXIN(HasFinalizer); |
| public: |
| void trace(Visitor*); |
| @@ -37,6 +55,17 @@ private: |
| Member<OnHeap> m_obj; |
| }; |
| +class NeedsNoFinalization |
| + : public GarbageCollected<HasFinalizer> |
|
zerny-chromium
2014/07/08 07:45:03
GarbageCollected<NeedsNoFinalization>
sof
2014/07/08 08:47:05
Done.
|
| + , public MixinNotFinalizable |
| + , public ScriptWrappable { |
| + USING_GARBAGE_COLLECTED_MIXIN(NeedsNoFinalization); |
| +public: |
| + void trace(Visitor*); |
| +private: |
| + Member<OnHeap> m_obj; |
| +}; |
| + |
| } |
| #endif |