Index: blimp/client/core/contents/blimp_contents_observer_unittest.cc |
diff --git a/blimp/client/core/contents/blimp_contents_observer_unittest.cc b/blimp/client/core/contents/blimp_contents_observer_unittest.cc |
index cf233338d9d08a46bc7ce3d604fa94b353e4f7c4..71c5a21dbf38bd0073330fd3ed89cee5581e6053 100644 |
--- a/blimp/client/core/contents/blimp_contents_observer_unittest.cc |
+++ b/blimp/client/core/contents/blimp_contents_observer_unittest.cc |
@@ -5,6 +5,7 @@ |
#include "blimp/client/public/contents/blimp_contents_observer.h" |
#include "base/memory/ptr_util.h" |
+#include "blimp/client/core/compositor/compositor_deps_provider.h" |
#include "blimp/client/core/contents/blimp_contents_impl.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -30,28 +31,39 @@ class BlimpContentsObserverTest : public BlimpContentsObserver { |
}; |
TEST(BlimpContentsObserverUnittests, ObserverDies) { |
- BlimpContentsImpl contents(kDummyTabId); |
+ RenderWidgetFeature feature; |
+ CompositorDepsProvider::Initialize(true); |
+ std::unique_ptr<BlimpContentsImpl> contents = |
+ base::MakeUnique<BlimpContentsImpl>(kDummyTabId, &feature); |
std::unique_ptr<BlimpContentsObserver> observer = |
- base::MakeUnique<BlimpContentsObserverTest>(&contents); |
+ base::MakeUnique<BlimpContentsObserverTest>(contents.get()); |
BlimpContentsObserver* observer_ptr = observer.get(); |
- EXPECT_TRUE(contents.HasObserver(observer_ptr)); |
+ EXPECT_TRUE(contents->HasObserver(observer_ptr)); |
observer.reset(); |
- EXPECT_FALSE(contents.HasObserver(observer_ptr)); |
+ EXPECT_FALSE(contents->HasObserver(observer_ptr)); |
+ |
+ // BlimpContents must be destroyed before the CompositorDepsProvider is |
+ // terminated. |
+ contents.reset(); |
+ CompositorDepsProvider::Terminate(); |
} |
TEST(BlimpContentsObserverUnittests, ContentsDies) { |
std::unique_ptr<BlimpContentsObserverTest> observer; |
+ RenderWidgetFeature feature; |
+ CompositorDepsProvider::Initialize(true); |
std::unique_ptr<BlimpContentsImpl> contents = |
- base::MakeUnique<BlimpContentsImpl>(kDummyTabId); |
+ base::MakeUnique<BlimpContentsImpl>(kDummyTabId, &feature); |
observer.reset(new BlimpContentsObserverTest(contents.get())); |
EXPECT_CALL(*observer, OnContentsDestroyed()).Times(1); |
EXPECT_EQ(observer->blimp_contents(), contents.get()); |
contents.reset(); |
EXPECT_EQ(observer->blimp_contents(), nullptr); |
+ CompositorDepsProvider::Terminate(); |
} |
} // namespace |