| Index: content/public/test/test_renderer_host.cc
|
| diff --git a/content/public/test/test_renderer_host.cc b/content/public/test/test_renderer_host.cc
|
| index 6817a5a0ac6e40a6008973d12b39e46571055ffb..563ab9307d47bea720251b2e50a1e48277acc74f 100644
|
| --- a/content/public/test/test_renderer_host.cc
|
| +++ b/content/public/test/test_renderer_host.cc
|
| @@ -129,9 +129,39 @@ bool RenderViewHostTester::HasTouchEventHandler(RenderViewHost* rvh) {
|
| RenderViewHostTestEnabler::RenderViewHostTestEnabler()
|
| : rph_factory_(new MockRenderProcessHostFactory()),
|
| rvh_factory_(new TestRenderViewHostFactory(rph_factory_.get())),
|
| - rfh_factory_(new TestRenderFrameHostFactory()) {}
|
| + rfh_factory_(new TestRenderFrameHostFactory()) {
|
| +#if !defined(OS_ANDROID)
|
| + ImageTransportFactory::InitializeForUnitTests(
|
| + base::WrapUnique(new NoTransportImageTransportFactory));
|
| +#else
|
| + gpu_channel_factory_ = base::MakeUnique<MockGpuChannelEstablishFactory>();
|
| + ContextProviderFactoryImpl::Initialize(gpu_channel_factory_.get());
|
| + ui::ContextProviderFactory::SetInstance(
|
| + ContextProviderFactoryImpl::GetInstance());
|
| + if (!screen_)
|
| + screen_.reset(ui::CreateDummyScreenAndroid());
|
| + display::Screen::SetScreenInstance(screen_.get());
|
| +#endif
|
| +#if defined(OS_MACOSX)
|
| + if (base::ThreadTaskRunnerHandle::IsSet())
|
| + ui::WindowResizeHelperMac::Get()->Init(base::ThreadTaskRunnerHandle::Get());
|
| +#endif // OS_MACOSX
|
| +}
|
|
|
| RenderViewHostTestEnabler::~RenderViewHostTestEnabler() {
|
| +#if defined(OS_MACOSX)
|
| + ui::WindowResizeHelperMac::Get()->ShutdownForTests();
|
| +#endif // OS_MACOSX
|
| +#if !defined(OS_ANDROID)
|
| + // RenderWidgetHostView holds on to a reference to SurfaceManager, so it
|
| + // must be shut down before the ImageTransportFactory.
|
| + ImageTransportFactory::Terminate();
|
| +#else
|
| + display::Screen::SetScreenInstance(nullptr);
|
| + ui::ContextProviderFactory::SetInstance(nullptr);
|
| + ContextProviderFactoryImpl::Terminate();
|
| + gpu_channel_factory_.reset();
|
| +#endif
|
| }
|
|
|
|
|
| @@ -234,21 +264,13 @@ void RenderViewHostTestHarness::SetUp() {
|
| ui::MaterialDesignController::Initialize();
|
| thread_bundle_.reset(new TestBrowserThreadBundle(thread_bundle_options_));
|
|
|
| + rvh_test_enabler_.reset(new RenderViewHostTestEnabler);
|
| + if (factory_)
|
| + rvh_test_enabler_->rvh_factory_->set_render_process_host_factory(factory_);
|
| +
|
| #if defined(OS_WIN)
|
| ole_initializer_.reset(new ui::ScopedOleInitializer());
|
| #endif
|
| -#if !defined(OS_ANDROID)
|
| - ImageTransportFactory::InitializeForUnitTests(
|
| - base::WrapUnique(new NoTransportImageTransportFactory));
|
| -#else
|
| - gpu_channel_factory_ = base::MakeUnique<MockGpuChannelEstablishFactory>();
|
| - ContextProviderFactoryImpl::Initialize(gpu_channel_factory_.get());
|
| - ui::ContextProviderFactory::SetInstance(
|
| - ContextProviderFactoryImpl::GetInstance());
|
| - if (!screen_)
|
| - screen_.reset(ui::CreateDummyScreenAndroid());
|
| - display::Screen::SetScreenInstance(screen_.get());
|
| -#endif
|
| #if defined(USE_AURA)
|
| ui::ContextFactory* context_factory =
|
| ImageTransportFactory::GetInstance()->GetContextFactory();
|
| @@ -268,10 +290,6 @@ void RenderViewHostTestHarness::SetUp() {
|
|
|
| if (IsBrowserSideNavigationEnabled())
|
| BrowserSideNavigationSetUp();
|
| -
|
| -#if defined(OS_MACOSX)
|
| - ui::WindowResizeHelperMac::Get()->Init(base::ThreadTaskRunnerHandle::Get());
|
| -#endif // OS_MACOSX
|
| }
|
|
|
| void RenderViewHostTestHarness::TearDown() {
|
| @@ -287,17 +305,15 @@ void RenderViewHostTestHarness::TearDown() {
|
| // before we destroy the browser context.
|
| base::RunLoop().RunUntilIdle();
|
|
|
| -#if defined(OS_MACOSX)
|
| - ui::WindowResizeHelperMac::Get()->ShutdownForTests();
|
| -#endif // OS_MACOSX
|
| -
|
| #if defined(OS_WIN)
|
| ole_initializer_.reset();
|
| #endif
|
|
|
| // Delete any RenderProcessHosts before the BrowserContext goes away.
|
| - if (rvh_test_enabler_.rph_factory_)
|
| - rvh_test_enabler_.rph_factory_.reset();
|
| + if (rvh_test_enabler_->rph_factory_)
|
| + rvh_test_enabler_->rph_factory_.reset();
|
| +
|
| + rvh_test_enabler_.reset();
|
|
|
| // Release the browser context by posting itself on the end of the task
|
| // queue. This is preferable to immediate deletion because it will behave
|
| @@ -307,17 +323,6 @@ void RenderViewHostTestHarness::TearDown() {
|
| FROM_HERE,
|
| browser_context_.release());
|
| thread_bundle_.reset();
|
| -
|
| -#if !defined(OS_ANDROID)
|
| - // RenderWidgetHostView holds on to a reference to SurfaceManager, so it
|
| - // must be shut down before the ImageTransportFactory.
|
| - ImageTransportFactory::Terminate();
|
| -#else
|
| - display::Screen::SetScreenInstance(nullptr);
|
| - ui::ContextProviderFactory::SetInstance(nullptr);
|
| - ContextProviderFactoryImpl::Terminate();
|
| - gpu_channel_factory_.reset();
|
| -#endif
|
| }
|
|
|
| BrowserContext* RenderViewHostTestHarness::CreateBrowserContext() {
|
| @@ -326,7 +331,10 @@ BrowserContext* RenderViewHostTestHarness::CreateBrowserContext() {
|
|
|
| void RenderViewHostTestHarness::SetRenderProcessHostFactory(
|
| RenderProcessHostFactory* factory) {
|
| - rvh_test_enabler_.rvh_factory_->set_render_process_host_factory(factory);
|
| + if (rvh_test_enabler_)
|
| + rvh_test_enabler_->rvh_factory_->set_render_process_host_factory(factory);
|
| + else
|
| + factory_ = factory;
|
| }
|
|
|
| } // namespace content
|
|
|