Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(640)

Side by Side Diff: content/public/test/test_renderer_host.cc

Issue 2785523002: Reduce/remove usage of BrowserThread in content/browser/loader. (Closed)
Patch Set: Fix unittests redness Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 base::WrapUnique(new NoTransportImageTransportFactory)); 135 base::WrapUnique(new NoTransportImageTransportFactory));
135 #else 136 #else
136 if (!screen_) 137 if (!screen_)
137 screen_.reset(ui::CreateDummyScreenAndroid()); 138 screen_.reset(ui::CreateDummyScreenAndroid());
138 display::Screen::SetScreenInstance(screen_.get()); 139 display::Screen::SetScreenInstance(screen_.get());
139 #endif 140 #endif
140 #if defined(OS_MACOSX) 141 #if defined(OS_MACOSX)
141 if (base::ThreadTaskRunnerHandle::IsSet()) 142 if (base::ThreadTaskRunnerHandle::IsSet())
142 ui::WindowResizeHelperMac::Get()->Init(base::ThreadTaskRunnerHandle::Get()); 143 ui::WindowResizeHelperMac::Get()->Init(base::ThreadTaskRunnerHandle::Get());
143 #endif // OS_MACOSX 144 #endif // OS_MACOSX
145 // TODO(ananta)
146 // Tests which use the RenderViewHostTestEnabler can run
147 // content/browser/loader code which assumes UI thread, IO thread task runner
148 // availability. As a workaround we instantiate the
149 // content/browser/loader/LoaderGlobals class which provides access to these
150 // task runners to the relevant code. This hack will go away when the loader
151 // code becomes part of the network service. We don't want to create the
152 // LoaderGlobals class if it already exists.
153 if (!LoaderGlobals::Get()) {
154 loader_globals_.reset(new content::LoaderGlobals(
155 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI),
156 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)));
157 }
144 } 158 }
145 159
146 RenderViewHostTestEnabler::~RenderViewHostTestEnabler() { 160 RenderViewHostTestEnabler::~RenderViewHostTestEnabler() {
147 #if defined(OS_MACOSX) 161 #if defined(OS_MACOSX)
148 ui::WindowResizeHelperMac::Get()->ShutdownForTests(); 162 ui::WindowResizeHelperMac::Get()->ShutdownForTests();
149 #endif // OS_MACOSX 163 #endif // OS_MACOSX
150 #if !defined(OS_ANDROID) 164 #if !defined(OS_ANDROID)
151 // RenderWidgetHostView holds on to a reference to SurfaceManager, so it 165 // RenderWidgetHostView holds on to a reference to SurfaceManager, so it
152 // must be shut down before the ImageTransportFactory. 166 // must be shut down before the ImageTransportFactory.
153 ImageTransportFactory::Terminate(); 167 ImageTransportFactory::Terminate();
154 #else 168 #else
155 display::Screen::SetScreenInstance(nullptr); 169 display::Screen::SetScreenInstance(nullptr);
156 #endif 170 #endif
157 } 171 }
158 172
159 173
160 // RenderViewHostTestHarness -------------------------------------------------- 174 // RenderViewHostTestHarness --------------------------------------------------
161
162 RenderViewHostTestHarness::RenderViewHostTestHarness() 175 RenderViewHostTestHarness::RenderViewHostTestHarness()
163 : thread_bundle_options_(TestBrowserThreadBundle::DEFAULT) {} 176 : thread_bundle_options_(TestBrowserThreadBundle::DEFAULT) {}
164 177
165 RenderViewHostTestHarness::~RenderViewHostTestHarness() { 178 RenderViewHostTestHarness::~RenderViewHostTestHarness() {
166 } 179 }
167 180
168 NavigationController& RenderViewHostTestHarness::controller() { 181 NavigationController& RenderViewHostTestHarness::controller() {
169 return web_contents()->GetController(); 182 return web_contents()->GetController();
170 } 183 }
171 184
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 290
278 sanity_checker_.reset(new ContentBrowserSanityChecker()); 291 sanity_checker_.reset(new ContentBrowserSanityChecker());
279 292
280 DCHECK(!browser_context_); 293 DCHECK(!browser_context_);
281 browser_context_.reset(CreateBrowserContext()); 294 browser_context_.reset(CreateBrowserContext());
282 295
283 SetContents(CreateTestWebContents()); 296 SetContents(CreateTestWebContents());
284 297
285 if (IsBrowserSideNavigationEnabled()) 298 if (IsBrowserSideNavigationEnabled())
286 BrowserSideNavigationSetUp(); 299 BrowserSideNavigationSetUp();
300
301 // TODO(ananta)
302 // Tests which use the RenderViewHostTestHarness can run
303 // content/browser/loader code which assumes UI thread, IO thread task runner
304 // availability. As a workaround we instantiate the
305 // content/browser/loader/LoaderGlobals class which provides access to these
306 // task runners to the relevant code. This hack will go away when the loader
307 // code becomes part of the network service. We don't want to create the
308 // LoaderGlobals class if it already exists.
309 if (!LoaderGlobals::Get()) {
310 loader_globals_.reset(new content::LoaderGlobals(
311 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI),
312 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)));
313 }
287 } 314 }
288 315
289 void RenderViewHostTestHarness::TearDown() { 316 void RenderViewHostTestHarness::TearDown() {
290 if (IsBrowserSideNavigationEnabled()) 317 if (IsBrowserSideNavigationEnabled())
291 BrowserSideNavigationTearDown(); 318 BrowserSideNavigationTearDown();
292 319
293 SetContents(NULL); 320 SetContents(NULL);
294 #if defined(USE_AURA) 321 #if defined(USE_AURA)
295 aura_test_helper_->TearDown(); 322 aura_test_helper_->TearDown();
296 ui::TerminateContextFactoryForTests(); 323 ui::TerminateContextFactoryForTests();
(...skipping 28 matching lines...) Expand all
325 352
326 void RenderViewHostTestHarness::SetRenderProcessHostFactory( 353 void RenderViewHostTestHarness::SetRenderProcessHostFactory(
327 RenderProcessHostFactory* factory) { 354 RenderProcessHostFactory* factory) {
328 if (rvh_test_enabler_) 355 if (rvh_test_enabler_)
329 rvh_test_enabler_->rvh_factory_->set_render_process_host_factory(factory); 356 rvh_test_enabler_->rvh_factory_->set_render_process_host_factory(factory);
330 else 357 else
331 factory_ = factory; 358 factory_ = factory;
332 } 359 }
333 360
334 } // namespace content 361 } // namespace content
OLDNEW
« content/browser/loader/temporary_file_stream.cc ('K') | « content/public/test/test_renderer_host.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698