Index: Source/platform/LifecycleContextTest.cpp |
diff --git a/Source/platform/LifecycleContextTest.cpp b/Source/platform/LifecycleContextTest.cpp |
index 15a912c2954d87f3f230a3c3c99116539e0956d4..eae437e48afbd5e7510c266afbf87dc6f9bd9feb 100644 |
--- a/Source/platform/LifecycleContextTest.cpp |
+++ b/Source/platform/LifecycleContextTest.cpp |
@@ -34,46 +34,50 @@ using namespace blink; |
namespace blink { |
-class DummyContext final : public NoBaseWillBeGarbageCollectedFinalized<DummyContext>, public LifecycleNotifier<DummyContext> { |
+class TestingObserver; |
+ |
+class DummyContext final : public NoBaseWillBeGarbageCollectedFinalized<DummyContext>, public LifecycleNotifier<DummyContext, TestingObserver> { |
public: |
DummyContext() |
- : LifecycleNotifier<DummyContext>(this) |
+ : LifecycleNotifier<DummyContext, TestingObserver>(this) |
{ |
} |
- DEFINE_INLINE_TRACE() |
+ void addObserver(TestingObserver* observer) |
{ |
- LifecycleNotifier<DummyContext>::trace(visitor); |
+ LifecycleNotifier<DummyContext, TestingObserver>::addObserver(observer); |
} |
-}; |
-template<> void observeContext(DummyContext* context, LifecycleObserver<DummyContext>* observer) |
-{ |
- context->addObserver(observer); |
-} |
+ void removeObserver(TestingObserver* observer) |
+ { |
+ LifecycleNotifier<DummyContext, TestingObserver>::removeObserver(observer); |
+ } |
-template<> void unobserveContext(DummyContext* context, LifecycleObserver<DummyContext>* observer) |
-{ |
- context->removeObserver(observer); |
-} |
+ DEFINE_INLINE_TRACE() |
+ { |
+ LifecycleNotifier<DummyContext, TestingObserver>::trace(visitor); |
+ } |
+}; |
-class TestingObserver final : public GarbageCollectedFinalized<TestingObserver>, public LifecycleObserver<DummyContext> { |
+class TestingObserver final : public NoBaseWillBeGarbageCollectedFinalized<TestingObserver>, public LifecycleObserver<DummyContext, TestingObserver, DummyContext> { |
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(TestingObserver); |
public: |
explicit TestingObserver(DummyContext* context) |
- : LifecycleObserver<DummyContext>(context) |
+ : LifecycleObserver<DummyContext, TestingObserver, DummyContext>(context) |
, m_contextDestroyedCalled(false) |
- { } |
+ { |
+ setContext(context); |
+ } |
virtual void contextDestroyed() override |
{ |
- LifecycleObserver<DummyContext>::contextDestroyed(); |
+ LifecycleObserver<DummyContext, TestingObserver, DummyContext>::contextDestroyed(); |
m_contextDestroyedCalled = true; |
} |
DEFINE_INLINE_TRACE() |
{ |
- LifecycleObserver<DummyContext>::trace(visitor); |
+ LifecycleObserver<DummyContext, TestingObserver, DummyContext>::trace(visitor); |
} |
bool m_contextDestroyedCalled; |
@@ -84,7 +88,7 @@ public: |
TEST(LifecycleContextTest, shouldObserveContextDestroyed) |
{ |
OwnPtrWillBeRawPtr<DummyContext> context = adoptPtrWillBeNoop(new DummyContext()); |
- Persistent<TestingObserver> observer = new TestingObserver(context.get()); |
+ OwnPtrWillBePersistent<TestingObserver> observer = adoptPtrWillBeNoop(new TestingObserver(context.get())); |
EXPECT_EQ(observer->lifecycleContext(), context.get()); |
EXPECT_FALSE(observer->m_contextDestroyedCalled); |
@@ -98,7 +102,7 @@ TEST(LifecycleContextTest, shouldObserveContextDestroyed) |
TEST(LifecycleContextTest, shouldNotObserveContextDestroyedIfUnobserve) |
{ |
OwnPtrWillBeRawPtr<DummyContext> context = adoptPtrWillBeNoop(new DummyContext()); |
- Persistent<TestingObserver> observer = new TestingObserver(context.get()); |
+ OwnPtrWillBePersistent<TestingObserver> observer = adoptPtrWillBeNoop(new TestingObserver(context.get())); |
observer->unobserve(); |
context->notifyContextDestroyed(); |
context = nullptr; |