15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/test/base/testing_browser_process.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/prefs/pref_service.h"
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/string_util.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "build/build_config.h"
10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "chrome/browser/background/background_mode_manager.h"
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/browser_process.h"
12ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "chrome/browser/browser_process_impl.h"
13a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "chrome/browser/extensions/chrome_extensions_browser_client.h"
14d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "chrome/browser/printing/print_job_manager.h"
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile_manager.h"
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/bookmarks/bookmark_prompt_controller.h"
1790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "chrome/test/base/testing_browser_process_platform_part.h"
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/notification_service.h"
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "net/url_request/url_request_context_getter.h"
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h"
21a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)#include "ui/message_center/message_center.h"
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if !defined(OS_IOS)
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/notifications/notification_ui_manager.h"
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/prerender/prerender_tracker.h"
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/safe_browsing/safe_browsing_service.h"
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/thumbnails/render_widget_snapshot_taker.h"
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
30ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#if !defined(OS_IOS) && !defined(OS_ANDROID)
31ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "chrome/browser/media_galleries/media_file_system_registry.h"
32ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "chrome/browser/storage_monitor/storage_monitor.h"
33ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "chrome/browser/storage_monitor/test_storage_monitor.h"
34ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#endif
35ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY)
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/policy/browser_policy_connector.h"
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
39a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "components/policy/core/common/policy_service_stub.h"
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // defined(ENABLE_CONFIGURATION_POLICY)
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
42c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch#if defined(ENABLE_FULL_PRINTING)
43c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch#include "chrome/browser/printing/background_printing_manager.h"
44c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch#include "chrome/browser/printing/print_preview_dialog_controller.h"
45c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch#endif
46c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static
482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TestingBrowserProcess* TestingBrowserProcess::GetGlobal() {
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return static_cast<TestingBrowserProcess*>(g_browser_process);
502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// static
53a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)void TestingBrowserProcess::CreateInstance() {
54a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  DCHECK(!g_browser_process);
55a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  g_browser_process = new TestingBrowserProcess;
56a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)}
57a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
58a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// static
59a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)void TestingBrowserProcess::DeleteInstance() {
60a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  // g_browser_process must be NULL during its own destruction.
61a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  BrowserProcess* browser_process = g_browser_process;
62a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  g_browser_process = NULL;
63a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  delete browser_process;
64a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)}
65a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TestingBrowserProcess::TestingBrowserProcess()
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : notification_service_(content::NotificationService::Create()),
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      module_ref_count_(0),
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      app_locale_("en"),
702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if !defined(OS_IOS)
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      render_widget_snapshot_taker_(new RenderWidgetSnapshotTaker),
722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      local_state_(NULL),
742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      io_thread_(NULL),
75c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      system_request_context_(NULL),
76a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)      platform_part_(new TestingBrowserProcessPlatformPart()),
77a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)      extensions_browser_client_(
78a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)          new extensions::ChromeExtensionsBrowserClient) {
79a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get());
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TestingBrowserProcess::~TestingBrowserProcess() {
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_FALSE(local_state_);
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY)
852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  SetBrowserPolicyConnector(NULL);
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
87a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  extensions::ExtensionsBrowserClient::Set(NULL);
88eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
89eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  // Destructors for some objects owned by TestingBrowserProcess will use
90eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  // g_browser_process if it is not NULL, so it must be NULL before proceeding.
91eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  DCHECK_EQ(static_cast<BrowserProcess*>(NULL), g_browser_process);
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestingBrowserProcess::ResourceDispatcherHostCreated() {
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestingBrowserProcess::EndSession() {
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MetricsService* TestingBrowserProcess::metrics_service() {
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IOThread* TestingBrowserProcess::io_thread() {
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return io_thread_;
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WatchDogThread* TestingBrowserProcess::watchdog_thread() {
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ProfileManager* TestingBrowserProcess::profile_manager() {
1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(OS_IOS)
1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  NOTIMPLEMENTED();
1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return NULL;
1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return profile_manager_.get();
1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestingBrowserProcess::SetProfileManager(ProfileManager* profile_manager) {
1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if !defined(OS_IOS)
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  profile_manager_.reset(profile_manager);
1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PrefService* TestingBrowserProcess::local_state() {
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return local_state_;
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)chrome_variations::VariationsService*
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    TestingBrowserProcess::variations_service() {
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)policy::BrowserPolicyConnector*
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    TestingBrowserProcess::browser_policy_connector() {
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY)
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (!browser_policy_connector_)
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    browser_policy_connector_.reset(new policy::BrowserPolicyConnector());
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return browser_policy_connector_.get();
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)policy::PolicyService* TestingBrowserProcess::policy_service() {
1482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(OS_IOS)
1492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  NOTIMPLEMENTED();
1502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return NULL;
1512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#elif defined(ENABLE_CONFIGURATION_POLICY)
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return browser_policy_connector()->GetPolicyService();
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (!policy_service_)
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    policy_service_.reset(new policy::PolicyServiceStub());
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return policy_service_.get();
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IconManager* TestingBrowserProcess::icon_manager() {
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)GLStringManager* TestingBrowserProcess::gl_string_manager() {
1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return NULL;
1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)GpuModeManager* TestingBrowserProcess::gpu_mode_manager() {
1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return NULL;
1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RenderWidgetSnapshotTaker*
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TestingBrowserProcess::GetRenderWidgetSnapshotTaker() {
1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(OS_IOS)
1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  NOTREACHED();
1762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return NULL;
1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return render_widget_snapshot_taker_.get();
1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)BackgroundModeManager* TestingBrowserProcess::background_mode_manager() {
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
186eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochvoid TestingBrowserProcess::set_background_mode_manager_for_test(
187eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    scoped_ptr<BackgroundModeManager> manager) {
188eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  NOTREACHED();
189eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
190eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)StatusTray* TestingBrowserProcess::status_tray() {
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SafeBrowsingService* TestingBrowserProcess::safe_browsing_service() {
1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(OS_IOS)
1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  NOTIMPLEMENTED();
1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return NULL;
1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return sb_service_.get();
2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)safe_browsing::ClientSideDetectionService*
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TestingBrowserProcess::safe_browsing_detection_service() {
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)net::URLRequestContextGetter* TestingBrowserProcess::system_request_context() {
2102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return system_request_context_;
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
213c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)BrowserProcessPlatformPart* TestingBrowserProcess::platform_part() {
214c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return platform_part_.get();
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extensions::EventRouterForwarder*
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TestingBrowserProcess::extension_event_router_forwarder() {
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NotificationUIManager* TestingBrowserProcess::notification_ui_manager() {
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_NOTIFICATIONS)
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (!notification_ui_manager_.get())
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    notification_ui_manager_.reset(
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        NotificationUIManager::Create(local_state()));
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return notification_ui_manager_.get();
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)message_center::MessageCenter* TestingBrowserProcess::message_center() {
2352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return message_center::MessageCenter::Get();
2362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
2372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IntranetRedirectDetector* TestingBrowserProcess::intranet_redirect_detector() {
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)AutomationProviderList* TestingBrowserProcess::GetAutomationProviderList() {
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestingBrowserProcess::CreateDevToolsHttpProtocolHandler(
2472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    chrome::HostDesktopType host_desktop_type,
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const std::string& ip,
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int port,
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const std::string& frontend_url) {
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)unsigned int TestingBrowserProcess::AddRefModule() {
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return ++module_ref_count_;
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)unsigned int TestingBrowserProcess::ReleaseModule() {
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DCHECK_GT(module_ref_count_, 0U);
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return --module_ref_count_;
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestingBrowserProcess::IsShuttingDown() {
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)printing::PrintJobManager* TestingBrowserProcess::print_job_manager() {
267d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#if defined(ENABLE_FULL_PRINTING)
268d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  if (!print_job_manager_.get())
269d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    print_job_manager_.reset(new printing::PrintJobManager());
270d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  return print_job_manager_.get();
271d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#else
272d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  NOTIMPLEMENTED();
2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
274d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#endif
2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)printing::PrintPreviewDialogController*
2782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TestingBrowserProcess::print_preview_dialog_controller() {
279c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch#if defined(ENABLE_FULL_PRINTING)
2802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (!print_preview_dialog_controller_.get())
2812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    print_preview_dialog_controller_ =
2822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        new printing::PrintPreviewDialogController();
2832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return print_preview_dialog_controller_.get();
2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)printing::BackgroundPrintingManager*
2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TestingBrowserProcess::background_printing_manager() {
292c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch#if defined(ENABLE_FULL_PRINTING)
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (!background_printing_manager_.get()) {
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    background_printing_manager_.reset(
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        new printing::BackgroundPrintingManager());
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return background_printing_manager_.get();
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const std::string& TestingBrowserProcess::GetApplicationLocale() {
3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return app_locale_;
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestingBrowserProcess::SetApplicationLocale(
3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const std::string& app_locale) {
3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  app_locale_ = app_locale;
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)DownloadStatusUpdater* TestingBrowserProcess::download_status_updater() {
3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)DownloadRequestLimiter* TestingBrowserProcess::download_request_limiter() {
3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ChromeNetLog* TestingBrowserProcess::net_log() {
3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)prerender::PrerenderTracker* TestingBrowserProcess::prerender_tracker() {
3262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(OS_IOS)
3272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  NOTIMPLEMENTED();
3282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return NULL;
3292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (!prerender_tracker_.get())
3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    prerender_tracker_.reset(new prerender::PrerenderTracker());
3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return prerender_tracker_.get();
3332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ComponentUpdateService* TestingBrowserProcess::component_updater() {
3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)CRLSetFetcher* TestingBrowserProcess::crl_set_fetcher() {
3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
344c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)PnaclComponentInstaller* TestingBrowserProcess::pnacl_component_installer() {
345c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return NULL;
346c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
347c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)BookmarkPromptController* TestingBrowserProcess::bookmark_prompt_controller() {
3492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(OS_IOS)
3502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  NOTIMPLEMENTED();
3512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return NULL;
3522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return bookmark_prompt_controller_.get();
3542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
3562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
357d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)StorageMonitor* TestingBrowserProcess::storage_monitor() {
358ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#if defined(OS_IOS) || defined(OS_ANDROID)
359ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  NOTIMPLEMENTED();
360ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  return NULL;
361ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#else
362ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  return storage_monitor_.get();
363ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#endif
364ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch}
365ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
366d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)MediaFileSystemRegistry* TestingBrowserProcess::media_file_system_registry() {
367ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#if defined(OS_IOS) || defined(OS_ANDROID)
3682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  NOTIMPLEMENTED();
3692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return NULL;
3702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else
3712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (!media_file_system_registry_)
372d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    media_file_system_registry_.reset(new MediaFileSystemRegistry());
3732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return media_file_system_registry_.get();
3742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
3762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
377c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool TestingBrowserProcess::created_local_state() const {
378c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    return (local_state_ != NULL);
379c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
380c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
381868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#if defined(ENABLE_WEBRTC)
382868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)WebRtcLogUploader* TestingBrowserProcess::webrtc_log_uploader() {
383868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  return NULL;
384868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
385868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#endif
386868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestingBrowserProcess::SetBookmarkPromptController(
3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    BookmarkPromptController* controller) {
3892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if !defined(OS_IOS)
3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bookmark_prompt_controller_.reset(controller);
3912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
3932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
3942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void TestingBrowserProcess::SetSystemRequestContext(
3952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    net::URLRequestContextGetter* context_getter) {
3962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  system_request_context_ = context_getter;
3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestingBrowserProcess::SetLocalState(PrefService* local_state) {
4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (!local_state) {
4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    // The local_state_ PrefService is owned outside of TestingBrowserProcess,
4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    // but some of the members of TestingBrowserProcess hold references to it
4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    // (for example, via PrefNotifier members). But given our test
4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    // infrastructure which tears down individual tests before freeing the
4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    // TestingBrowserProcess, there's not a good way to make local_state outlive
4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    // these dependencies. As a workaround, whenever local_state_ is cleared
4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    // (assumedly as part of exiting the test and freeing TestingBrowserProcess)
4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    // any components owned by TestingBrowserProcess that depend on local_state
4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    // are also freed.
4102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if !defined(OS_IOS)
4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    notification_ui_manager_.reset();
4122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY)
4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    SetBrowserPolicyConnector(NULL);
4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  local_state_ = local_state;
4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestingBrowserProcess::SetIOThread(IOThread* io_thread) {
4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  io_thread_ = io_thread;
4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestingBrowserProcess::SetBrowserPolicyConnector(
4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    policy::BrowserPolicyConnector* connector) {
4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY)
4272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (browser_policy_connector_) {
4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    browser_policy_connector_->Shutdown();
4292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  browser_policy_connector_.reset(connector);
4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  CHECK(false);
4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestingBrowserProcess::SetSafeBrowsingService(
4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    SafeBrowsingService* sb_service) {
4382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if !defined(OS_IOS)
4392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  NOTIMPLEMENTED();
4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sb_service_ = sb_service;
4412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
443ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
444ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochvoid TestingBrowserProcess::SetStorageMonitor(
445d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    scoped_ptr<StorageMonitor> storage_monitor) {
446ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#if !defined(OS_IOS) && !defined(OS_ANDROID)
447558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch  storage_monitor_ = storage_monitor.Pass();
448ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#endif
449ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch}
450a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
451a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)///////////////////////////////////////////////////////////////////////////////
452a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
453a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)TestingBrowserProcessInitializer::TestingBrowserProcessInitializer() {
454a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  TestingBrowserProcess::CreateInstance();
455a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)}
456a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
457a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)TestingBrowserProcessInitializer::~TestingBrowserProcessInitializer() {
458a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  TestingBrowserProcess::DeleteInstance();
459a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)}
460