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 "chrome/test/base/testing_browser_process.h" | 5 #include "chrome/test/base/testing_browser_process.h" |
6 | 6 |
7 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "base/time/default_tick_clock.h" | 9 #include "base/time/default_tick_clock.h" |
10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 // g_browser_process must be NULL during its own destruction. | 61 // g_browser_process must be NULL during its own destruction. |
62 BrowserProcess* browser_process = g_browser_process; | 62 BrowserProcess* browser_process = g_browser_process; |
63 g_browser_process = NULL; | 63 g_browser_process = NULL; |
64 delete browser_process; | 64 delete browser_process; |
65 } | 65 } |
66 | 66 |
67 TestingBrowserProcess::TestingBrowserProcess() | 67 TestingBrowserProcess::TestingBrowserProcess() |
68 : notification_service_(content::NotificationService::Create()), | 68 : notification_service_(content::NotificationService::Create()), |
69 module_ref_count_(0), | 69 module_ref_count_(0), |
70 app_locale_("en"), | 70 app_locale_("en"), |
71 network_time_tracker_(new NetworkTimeTracker( | |
72 scoped_ptr<base::TickClock>(new base::DefaultTickClock))), | |
73 local_state_(NULL), | 71 local_state_(NULL), |
74 io_thread_(NULL), | 72 io_thread_(NULL), |
75 system_request_context_(NULL), | 73 system_request_context_(NULL), |
76 platform_part_(new TestingBrowserProcessPlatformPart()), | 74 platform_part_(new TestingBrowserProcessPlatformPart()), |
77 extensions_browser_client_( | 75 extensions_browser_client_( |
78 new extensions::ChromeExtensionsBrowserClient) { | 76 new extensions::ChromeExtensionsBrowserClient) { |
79 extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get()); | 77 extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get()); |
80 apps::AppsClient::Set(ChromeAppsClient::GetInstance()); | 78 apps::AppsClient::Set(ChromeAppsClient::GetInstance()); |
81 } | 79 } |
82 | 80 |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
358 return (local_state_ != NULL); | 356 return (local_state_ != NULL); |
359 } | 357 } |
360 | 358 |
361 #if defined(ENABLE_WEBRTC) | 359 #if defined(ENABLE_WEBRTC) |
362 WebRtcLogUploader* TestingBrowserProcess::webrtc_log_uploader() { | 360 WebRtcLogUploader* TestingBrowserProcess::webrtc_log_uploader() { |
363 return NULL; | 361 return NULL; |
364 } | 362 } |
365 #endif | 363 #endif |
366 | 364 |
367 NetworkTimeTracker* TestingBrowserProcess::network_time_tracker() { | 365 NetworkTimeTracker* TestingBrowserProcess::network_time_tracker() { |
| 366 if (!network_time_tracker_) { |
| 367 DCHECK(local_state_); |
| 368 network_time_tracker_.reset(new NetworkTimeTracker( |
| 369 scoped_ptr<base::TickClock>(new base::DefaultTickClock()), |
| 370 local_state_)); |
| 371 } |
368 return network_time_tracker_.get(); | 372 return network_time_tracker_.get(); |
369 } | 373 } |
370 | 374 |
371 void TestingBrowserProcess::SetSystemRequestContext( | 375 void TestingBrowserProcess::SetSystemRequestContext( |
372 net::URLRequestContextGetter* context_getter) { | 376 net::URLRequestContextGetter* context_getter) { |
373 system_request_context_ = context_getter; | 377 system_request_context_ = context_getter; |
374 } | 378 } |
375 | 379 |
376 void TestingBrowserProcess::SetLocalState(PrefService* local_state) { | 380 void TestingBrowserProcess::SetLocalState(PrefService* local_state) { |
377 if (!local_state) { | 381 if (!local_state) { |
378 // The local_state_ PrefService is owned outside of TestingBrowserProcess, | 382 // The local_state_ PrefService is owned outside of TestingBrowserProcess, |
379 // but some of the members of TestingBrowserProcess hold references to it | 383 // but some of the members of TestingBrowserProcess hold references to it |
380 // (for example, via PrefNotifier members). But given our test | 384 // (for example, via PrefNotifier members). But given our test |
381 // infrastructure which tears down individual tests before freeing the | 385 // infrastructure which tears down individual tests before freeing the |
382 // TestingBrowserProcess, there's not a good way to make local_state outlive | 386 // TestingBrowserProcess, there's not a good way to make local_state outlive |
383 // these dependencies. As a workaround, whenever local_state_ is cleared | 387 // these dependencies. As a workaround, whenever local_state_ is cleared |
384 // (assumedly as part of exiting the test and freeing TestingBrowserProcess) | 388 // (assumedly as part of exiting the test and freeing TestingBrowserProcess) |
385 // any components owned by TestingBrowserProcess that depend on local_state | 389 // any components owned by TestingBrowserProcess that depend on local_state |
386 // are also freed. | 390 // are also freed. |
| 391 network_time_tracker_.reset(); |
387 #if !defined(OS_IOS) | 392 #if !defined(OS_IOS) |
388 notification_ui_manager_.reset(); | 393 notification_ui_manager_.reset(); |
389 #endif | 394 #endif |
390 #if defined(ENABLE_CONFIGURATION_POLICY) | 395 #if defined(ENABLE_CONFIGURATION_POLICY) |
391 SetBrowserPolicyConnector(NULL); | 396 SetBrowserPolicyConnector(NULL); |
392 #endif | 397 #endif |
393 } | 398 } |
394 local_state_ = local_state; | 399 local_state_ = local_state; |
395 } | 400 } |
396 | 401 |
(...skipping 23 matching lines...) Expand all Loading... |
420 | 425 |
421 /////////////////////////////////////////////////////////////////////////////// | 426 /////////////////////////////////////////////////////////////////////////////// |
422 | 427 |
423 TestingBrowserProcessInitializer::TestingBrowserProcessInitializer() { | 428 TestingBrowserProcessInitializer::TestingBrowserProcessInitializer() { |
424 TestingBrowserProcess::CreateInstance(); | 429 TestingBrowserProcess::CreateInstance(); |
425 } | 430 } |
426 | 431 |
427 TestingBrowserProcessInitializer::~TestingBrowserProcessInitializer() { | 432 TestingBrowserProcessInitializer::~TestingBrowserProcessInitializer() { |
428 TestingBrowserProcess::DeleteInstance(); | 433 TestingBrowserProcess::DeleteInstance(); |
429 } | 434 } |
OLD | NEW |