| 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
|
|
|