| 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/strings/string_util.h" | 7 #include "base/strings/string_util.h" |
| 8 #include "base/time/default_clock.h" | 8 #include "base/time/default_clock.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" |
| 11 #include "chrome/browser/browser_process.h" | 11 #include "chrome/browser/browser_process.h" |
| 12 #include "chrome/browser/browser_process_impl.h" | 12 #include "chrome/browser/browser_process_impl.h" |
| 13 #include "chrome/browser/notifications/notification_ui_manager.h" | 13 #include "chrome/browser/notifications/notification_ui_manager.h" |
| 14 #include "chrome/browser/printing/print_job_manager.h" | 14 #include "chrome/browser/printing/print_job_manager.h" |
| 15 #include "chrome/browser/profiles/profile_manager.h" | 15 #include "chrome/browser/profiles/profile_manager.h" |
| 16 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 16 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
| 17 #include "chrome/common/features.h" | 17 #include "chrome/common/features.h" |
| 18 #include "chrome/test/base/testing_browser_process_platform_part.h" | 18 #include "chrome/test/base/testing_browser_process_platform_part.h" |
| 19 #include "components/network_time/network_time_tracker.h" | 19 #include "components/network_time/network_time_tracker.h" |
| 20 #include "components/policy/core/browser/browser_policy_connector.h" |
| 20 #include "components/prefs/pref_service.h" | 21 #include "components/prefs/pref_service.h" |
| 21 #include "content/public/browser/notification_service.h" | 22 #include "content/public/browser/notification_service.h" |
| 22 #include "net/url_request/url_request_context_getter.h" | 23 #include "net/url_request/url_request_context_getter.h" |
| 23 #include "testing/gtest/include/gtest/gtest.h" | 24 #include "testing/gtest/include/gtest/gtest.h" |
| 24 #include "ui/message_center/message_center.h" | 25 #include "ui/message_center/message_center.h" |
| 25 | 26 |
| 26 | |
| 27 #if BUILDFLAG(ENABLE_BACKGROUND) | 27 #if BUILDFLAG(ENABLE_BACKGROUND) |
| 28 #include "chrome/browser/background/background_mode_manager.h" | 28 #include "chrome/browser/background/background_mode_manager.h" |
| 29 #endif | 29 #endif |
| 30 | 30 |
| 31 #if defined(ENABLE_CONFIGURATION_POLICY) | |
| 32 #include "components/policy/core/browser/browser_policy_connector.h" | |
| 33 #else | |
| 34 #include "components/policy/core/common/policy_service_stub.h" | |
| 35 #endif // defined(ENABLE_CONFIGURATION_POLICY) | |
| 36 | |
| 37 #if defined(ENABLE_EXTENSIONS) | 31 #if defined(ENABLE_EXTENSIONS) |
| 38 #include "chrome/browser/extensions/chrome_extensions_browser_client.h" | 32 #include "chrome/browser/extensions/chrome_extensions_browser_client.h" |
| 39 #include "chrome/browser/media_galleries/media_file_system_registry.h" | 33 #include "chrome/browser/media_galleries/media_file_system_registry.h" |
| 40 #include "chrome/browser/ui/apps/chrome_app_window_client.h" | 34 #include "chrome/browser/ui/apps/chrome_app_window_client.h" |
| 41 #include "components/storage_monitor/storage_monitor.h" | 35 #include "components/storage_monitor/storage_monitor.h" |
| 42 #include "components/storage_monitor/test_storage_monitor.h" | 36 #include "components/storage_monitor/test_storage_monitor.h" |
| 43 #endif | 37 #endif |
| 44 | 38 |
| 45 #if defined(ENABLE_PRINT_PREVIEW) | 39 #if defined(ENABLE_PRINT_PREVIEW) |
| 46 #include "chrome/browser/printing/background_printing_manager.h" | 40 #include "chrome/browser/printing/background_printing_manager.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 #if defined(ENABLE_EXTENSIONS) | 72 #if defined(ENABLE_EXTENSIONS) |
| 79 extensions_browser_client_.reset( | 73 extensions_browser_client_.reset( |
| 80 new extensions::ChromeExtensionsBrowserClient); | 74 new extensions::ChromeExtensionsBrowserClient); |
| 81 extensions::AppWindowClient::Set(ChromeAppWindowClient::GetInstance()); | 75 extensions::AppWindowClient::Set(ChromeAppWindowClient::GetInstance()); |
| 82 extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get()); | 76 extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get()); |
| 83 #endif | 77 #endif |
| 84 } | 78 } |
| 85 | 79 |
| 86 TestingBrowserProcess::~TestingBrowserProcess() { | 80 TestingBrowserProcess::~TestingBrowserProcess() { |
| 87 EXPECT_FALSE(local_state_); | 81 EXPECT_FALSE(local_state_); |
| 88 #if defined(ENABLE_CONFIGURATION_POLICY) | |
| 89 ShutdownBrowserPolicyConnector(); | 82 ShutdownBrowserPolicyConnector(); |
| 90 #endif | |
| 91 #if defined(ENABLE_EXTENSIONS) | 83 #if defined(ENABLE_EXTENSIONS) |
| 92 extensions::ExtensionsBrowserClient::Set(nullptr); | 84 extensions::ExtensionsBrowserClient::Set(nullptr); |
| 93 #endif | 85 #endif |
| 94 | 86 |
| 95 // Destructors for some objects owned by TestingBrowserProcess will use | 87 // Destructors for some objects owned by TestingBrowserProcess will use |
| 96 // g_browser_process if it is not null, so it must be null before proceeding. | 88 // g_browser_process if it is not null, so it must be null before proceeding. |
| 97 DCHECK_EQ(static_cast<BrowserProcess*>(nullptr), g_browser_process); | 89 DCHECK_EQ(static_cast<BrowserProcess*>(nullptr), g_browser_process); |
| 98 } | 90 } |
| 99 | 91 |
| 100 void TestingBrowserProcess::ResourceDispatcherHostCreated() { | 92 void TestingBrowserProcess::ResourceDispatcherHostCreated() { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 return nullptr; | 139 return nullptr; |
| 148 } | 140 } |
| 149 | 141 |
| 150 web_resource::PromoResourceService* | 142 web_resource::PromoResourceService* |
| 151 TestingBrowserProcess::promo_resource_service() { | 143 TestingBrowserProcess::promo_resource_service() { |
| 152 return nullptr; | 144 return nullptr; |
| 153 } | 145 } |
| 154 | 146 |
| 155 policy::BrowserPolicyConnector* | 147 policy::BrowserPolicyConnector* |
| 156 TestingBrowserProcess::browser_policy_connector() { | 148 TestingBrowserProcess::browser_policy_connector() { |
| 157 #if defined(ENABLE_CONFIGURATION_POLICY) | |
| 158 if (!browser_policy_connector_) { | 149 if (!browser_policy_connector_) { |
| 159 EXPECT_FALSE(created_browser_policy_connector_); | 150 EXPECT_FALSE(created_browser_policy_connector_); |
| 160 created_browser_policy_connector_ = true; | 151 created_browser_policy_connector_ = true; |
| 161 browser_policy_connector_ = platform_part_->CreateBrowserPolicyConnector(); | 152 browser_policy_connector_ = platform_part_->CreateBrowserPolicyConnector(); |
| 162 } | 153 } |
| 163 return browser_policy_connector_.get(); | 154 return browser_policy_connector_.get(); |
| 164 #else | |
| 165 return nullptr; | |
| 166 #endif | |
| 167 } | 155 } |
| 168 | 156 |
| 169 policy::PolicyService* TestingBrowserProcess::policy_service() { | 157 policy::PolicyService* TestingBrowserProcess::policy_service() { |
| 170 #if defined(ENABLE_CONFIGURATION_POLICY) | |
| 171 return browser_policy_connector()->GetPolicyService(); | 158 return browser_policy_connector()->GetPolicyService(); |
| 172 #else | |
| 173 if (!policy_service_) | |
| 174 policy_service_.reset(new policy::PolicyServiceStub()); | |
| 175 return policy_service_.get(); | |
| 176 #endif | |
| 177 } | 159 } |
| 178 | 160 |
| 179 IconManager* TestingBrowserProcess::icon_manager() { | 161 IconManager* TestingBrowserProcess::icon_manager() { |
| 180 return nullptr; | 162 return nullptr; |
| 181 } | 163 } |
| 182 | 164 |
| 183 GLStringManager* TestingBrowserProcess::gl_string_manager() { | 165 GLStringManager* TestingBrowserProcess::gl_string_manager() { |
| 184 return nullptr; | 166 return nullptr; |
| 185 } | 167 } |
| 186 | 168 |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 // but some of the members of TestingBrowserProcess hold references to it | 386 // but some of the members of TestingBrowserProcess hold references to it |
| 405 // (for example, via PrefNotifier members). But given our test | 387 // (for example, via PrefNotifier members). But given our test |
| 406 // infrastructure which tears down individual tests before freeing the | 388 // infrastructure which tears down individual tests before freeing the |
| 407 // TestingBrowserProcess, there's not a good way to make local_state outlive | 389 // TestingBrowserProcess, there's not a good way to make local_state outlive |
| 408 // these dependencies. As a workaround, whenever local_state_ is cleared | 390 // these dependencies. As a workaround, whenever local_state_ is cleared |
| 409 // (assumedly as part of exiting the test and freeing TestingBrowserProcess) | 391 // (assumedly as part of exiting the test and freeing TestingBrowserProcess) |
| 410 // any components owned by TestingBrowserProcess that depend on local_state | 392 // any components owned by TestingBrowserProcess that depend on local_state |
| 411 // are also freed. | 393 // are also freed. |
| 412 network_time_tracker_.reset(); | 394 network_time_tracker_.reset(); |
| 413 notification_ui_manager_.reset(); | 395 notification_ui_manager_.reset(); |
| 414 #if defined(ENABLE_CONFIGURATION_POLICY) | |
| 415 ShutdownBrowserPolicyConnector(); | 396 ShutdownBrowserPolicyConnector(); |
| 416 created_browser_policy_connector_ = false; | 397 created_browser_policy_connector_ = false; |
| 417 #endif | |
| 418 } | 398 } |
| 419 local_state_ = local_state; | 399 local_state_ = local_state; |
| 420 } | 400 } |
| 421 | 401 |
| 422 void TestingBrowserProcess::SetIOThread(IOThread* io_thread) { | 402 void TestingBrowserProcess::SetIOThread(IOThread* io_thread) { |
| 423 io_thread_ = io_thread; | 403 io_thread_ = io_thread; |
| 424 } | 404 } |
| 425 | 405 |
| 426 void TestingBrowserProcess::ShutdownBrowserPolicyConnector() { | 406 void TestingBrowserProcess::ShutdownBrowserPolicyConnector() { |
| 427 #if defined(ENABLE_CONFIGURATION_POLICY) | |
| 428 if (browser_policy_connector_) | 407 if (browser_policy_connector_) |
| 429 browser_policy_connector_->Shutdown(); | 408 browser_policy_connector_->Shutdown(); |
| 430 browser_policy_connector_.reset(); | 409 browser_policy_connector_.reset(); |
| 431 #else | |
| 432 CHECK(false); | |
| 433 #endif | |
| 434 } | 410 } |
| 435 | 411 |
| 436 void TestingBrowserProcess::SetSafeBrowsingService( | 412 void TestingBrowserProcess::SetSafeBrowsingService( |
| 437 safe_browsing::SafeBrowsingService* sb_service) { | 413 safe_browsing::SafeBrowsingService* sb_service) { |
| 438 sb_service_ = sb_service; | 414 sb_service_ = sb_service; |
| 439 } | 415 } |
| 440 | 416 |
| 441 void TestingBrowserProcess::SetRapporService( | 417 void TestingBrowserProcess::SetRapporService( |
| 442 rappor::RapporService* rappor_service) { | 418 rappor::RapporService* rappor_service) { |
| 443 rappor_service_ = rappor_service; | 419 rappor_service_ = rappor_service; |
| 444 } | 420 } |
| 445 | 421 |
| 446 /////////////////////////////////////////////////////////////////////////////// | 422 /////////////////////////////////////////////////////////////////////////////// |
| 447 | 423 |
| 448 TestingBrowserProcessInitializer::TestingBrowserProcessInitializer() { | 424 TestingBrowserProcessInitializer::TestingBrowserProcessInitializer() { |
| 449 TestingBrowserProcess::CreateInstance(); | 425 TestingBrowserProcess::CreateInstance(); |
| 450 } | 426 } |
| 451 | 427 |
| 452 TestingBrowserProcessInitializer::~TestingBrowserProcessInitializer() { | 428 TestingBrowserProcessInitializer::~TestingBrowserProcessInitializer() { |
| 453 TestingBrowserProcess::DeleteInstance(); | 429 TestingBrowserProcess::DeleteInstance(); |
| 454 } | 430 } |
| OLD | NEW |