| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/public/test/test_renderer_host.h" | 5 #include "content/public/test/test_renderer_host.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| 11 #include "base/threading/thread_task_runner_handle.h" | 11 #include "base/threading/thread_task_runner_handle.h" |
| 12 #include "build/build_config.h" | 12 #include "build/build_config.h" |
| 13 #include "content/browser/compositor/test/no_transport_image_transport_factory.h
" | 13 #include "content/browser/compositor/test/no_transport_image_transport_factory.h
" |
| 14 #include "content/browser/frame_host/navigation_entry_impl.h" | 14 #include "content/browser/frame_host/navigation_entry_impl.h" |
| 15 #include "content/browser/loader/loader_globals.h" |
| 15 #include "content/browser/renderer_host/render_view_host_factory.h" | 16 #include "content/browser/renderer_host/render_view_host_factory.h" |
| 16 #include "content/browser/renderer_host/render_widget_host_impl.h" | 17 #include "content/browser/renderer_host/render_widget_host_impl.h" |
| 17 #include "content/browser/site_instance_impl.h" | 18 #include "content/browser/site_instance_impl.h" |
| 18 #include "content/public/browser/browser_thread.h" | 19 #include "content/public/browser/browser_thread.h" |
| 19 #include "content/public/browser/web_contents.h" | 20 #include "content/public/browser/web_contents.h" |
| 20 #include "content/public/common/browser_side_navigation_policy.h" | 21 #include "content/public/common/browser_side_navigation_policy.h" |
| 21 #include "content/public/test/browser_side_navigation_test_utils.h" | 22 #include "content/public/test/browser_side_navigation_test_utils.h" |
| 22 #include "content/public/test/mock_render_process_host.h" | 23 #include "content/public/test/mock_render_process_host.h" |
| 23 #include "content/public/test/test_browser_context.h" | 24 #include "content/public/test/test_browser_context.h" |
| 24 #include "content/test/content_browser_sanity_checker.h" | 25 #include "content/test/content_browser_sanity_checker.h" |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 // RenderWidgetHostView holds on to a reference to SurfaceManager, so it | 152 // RenderWidgetHostView holds on to a reference to SurfaceManager, so it |
| 152 // must be shut down before the ImageTransportFactory. | 153 // must be shut down before the ImageTransportFactory. |
| 153 ImageTransportFactory::Terminate(); | 154 ImageTransportFactory::Terminate(); |
| 154 #else | 155 #else |
| 155 display::Screen::SetScreenInstance(nullptr); | 156 display::Screen::SetScreenInstance(nullptr); |
| 156 #endif | 157 #endif |
| 157 } | 158 } |
| 158 | 159 |
| 159 | 160 |
| 160 // RenderViewHostTestHarness -------------------------------------------------- | 161 // RenderViewHostTestHarness -------------------------------------------------- |
| 161 | |
| 162 RenderViewHostTestHarness::RenderViewHostTestHarness() | 162 RenderViewHostTestHarness::RenderViewHostTestHarness() |
| 163 : thread_bundle_options_(TestBrowserThreadBundle::DEFAULT) {} | 163 : thread_bundle_options_(TestBrowserThreadBundle::DEFAULT) {} |
| 164 | 164 |
| 165 RenderViewHostTestHarness::~RenderViewHostTestHarness() { | 165 RenderViewHostTestHarness::~RenderViewHostTestHarness() { |
| 166 } | 166 } |
| 167 | 167 |
| 168 NavigationController& RenderViewHostTestHarness::controller() { | 168 NavigationController& RenderViewHostTestHarness::controller() { |
| 169 return web_contents()->GetController(); | 169 return web_contents()->GetController(); |
| 170 } | 170 } |
| 171 | 171 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 277 | 277 |
| 278 sanity_checker_.reset(new ContentBrowserSanityChecker()); | 278 sanity_checker_.reset(new ContentBrowserSanityChecker()); |
| 279 | 279 |
| 280 DCHECK(!browser_context_); | 280 DCHECK(!browser_context_); |
| 281 browser_context_.reset(CreateBrowserContext()); | 281 browser_context_.reset(CreateBrowserContext()); |
| 282 | 282 |
| 283 SetContents(CreateTestWebContents()); | 283 SetContents(CreateTestWebContents()); |
| 284 | 284 |
| 285 if (IsBrowserSideNavigationEnabled()) | 285 if (IsBrowserSideNavigationEnabled()) |
| 286 BrowserSideNavigationSetUp(); | 286 BrowserSideNavigationSetUp(); |
| 287 |
| 288 // TODO(ananta) |
| 289 // Tests which use the RenderViewHostTestHarness can run |
| 290 // content/browser/loader code which assumes UI thread, IO thread task runner |
| 291 // availability. As a workaround we instantiate the |
| 292 // content/browser/loader/LoaderGlobals class which provides access to these |
| 293 // task runners to the relevant code. This hack will go away when the loader |
| 294 // code becomes part of the network service. We don't want to create the |
| 295 // LoaderGlobals class if it already exists. |
| 296 if (!LoaderGlobals::Get()) { |
| 297 loader_globals_.reset(new content::LoaderGlobals( |
| 298 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI), |
| 299 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO))); |
| 300 } |
| 287 } | 301 } |
| 288 | 302 |
| 289 void RenderViewHostTestHarness::TearDown() { | 303 void RenderViewHostTestHarness::TearDown() { |
| 290 if (IsBrowserSideNavigationEnabled()) | 304 if (IsBrowserSideNavigationEnabled()) |
| 291 BrowserSideNavigationTearDown(); | 305 BrowserSideNavigationTearDown(); |
| 292 | 306 |
| 293 SetContents(NULL); | 307 SetContents(NULL); |
| 294 #if defined(USE_AURA) | 308 #if defined(USE_AURA) |
| 295 aura_test_helper_->TearDown(); | 309 aura_test_helper_->TearDown(); |
| 296 ui::TerminateContextFactoryForTests(); | 310 ui::TerminateContextFactoryForTests(); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 325 | 339 |
| 326 void RenderViewHostTestHarness::SetRenderProcessHostFactory( | 340 void RenderViewHostTestHarness::SetRenderProcessHostFactory( |
| 327 RenderProcessHostFactory* factory) { | 341 RenderProcessHostFactory* factory) { |
| 328 if (rvh_test_enabler_) | 342 if (rvh_test_enabler_) |
| 329 rvh_test_enabler_->rvh_factory_->set_render_process_host_factory(factory); | 343 rvh_test_enabler_->rvh_factory_->set_render_process_host_factory(factory); |
| 330 else | 344 else |
| 331 factory_ = factory; | 345 factory_ = factory; |
| 332 } | 346 } |
| 333 | 347 |
| 334 } // namespace content | 348 } // namespace content |
| OLD | NEW |