1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/browser_process_platform_part_chromeos.h"
#include "base/command_line.h"
#include "base/logging.h"
#include "base/time/default_tick_clock.h"
#include "base/time/tick_clock.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/login/session/chrome_session_manager.h"
#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h"
#include "chrome/browser/chromeos/memory/oom_priority_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/system/automatic_reboot_manager.h"
#include "chrome/browser/chromeos/system/device_disabling_manager.h"
#include "chrome/browser/chromeos/system/device_disabling_manager_default_delegate.h"
#include "chrome/browser/profiles/profile.h"
#include "components/session_manager/core/session_manager.h"
#include "components/user_manager/user_manager.h"
BrowserProcessPlatformPart::BrowserProcessPlatformPart()
: created_profile_helper_(false) {
}
BrowserProcessPlatformPart::~BrowserProcessPlatformPart() {
}
void BrowserProcessPlatformPart::InitializeAutomaticRebootManager() {
DCHECK(!automatic_reboot_manager_);
automatic_reboot_manager_.reset(new chromeos::system::AutomaticRebootManager(
scoped_ptr<base::TickClock>(new base::DefaultTickClock)));
}
void BrowserProcessPlatformPart::ShutdownAutomaticRebootManager() {
automatic_reboot_manager_.reset();
}
void BrowserProcessPlatformPart::InitializeChromeUserManager() {
DCHECK(!chrome_user_manager_);
chrome_user_manager_ =
chromeos::ChromeUserManagerImpl::CreateChromeUserManager();
chrome_user_manager_->Initialize();
}
void BrowserProcessPlatformPart::DestroyChromeUserManager() {
chrome_user_manager_->Destroy();
chrome_user_manager_.reset();
}
void BrowserProcessPlatformPart::InitializeDeviceDisablingManager() {
DCHECK(!device_disabling_manager_);
device_disabling_manager_delegate_.reset(
new chromeos::system::DeviceDisablingManagerDefaultDelegate);
device_disabling_manager_.reset(new chromeos::system::DeviceDisablingManager(
device_disabling_manager_delegate_.get(),
chromeos::CrosSettings::Get(),
user_manager::UserManager::Get()));
}
void BrowserProcessPlatformPart::ShutdownDeviceDisablingManager() {
device_disabling_manager_.reset();
device_disabling_manager_delegate_.reset();
}
void BrowserProcessPlatformPart::InitializeSessionManager(
const base::CommandLine& parsed_command_line,
Profile* profile,
bool is_running_test) {
DCHECK(!session_manager_);
session_manager_ = chromeos::ChromeSessionManager::CreateSessionManager(
parsed_command_line, profile, is_running_test);
}
void BrowserProcessPlatformPart::ShutdownSessionManager() {
session_manager_.reset();
}
session_manager::SessionManager* BrowserProcessPlatformPart::SessionManager() {
DCHECK(CalledOnValidThread());
return session_manager_.get();
}
chromeos::OomPriorityManager*
BrowserProcessPlatformPart::oom_priority_manager() {
DCHECK(CalledOnValidThread());
if (!oom_priority_manager_.get())
oom_priority_manager_.reset(new chromeos::OomPriorityManager());
return oom_priority_manager_.get();
}
chromeos::ProfileHelper* BrowserProcessPlatformPart::profile_helper() {
DCHECK(CalledOnValidThread());
if (!created_profile_helper_)
CreateProfileHelper();
return profile_helper_.get();
}
policy::BrowserPolicyConnectorChromeOS*
BrowserProcessPlatformPart::browser_policy_connector_chromeos() {
return static_cast<policy::BrowserPolicyConnectorChromeOS*>(
g_browser_process->browser_policy_connector());
}
void BrowserProcessPlatformPart::StartTearDown() {
profile_helper_.reset();
}
scoped_ptr<policy::BrowserPolicyConnector>
BrowserProcessPlatformPart::CreateBrowserPolicyConnector() {
return scoped_ptr<policy::BrowserPolicyConnector>(
new policy::BrowserPolicyConnectorChromeOS());
}
void BrowserProcessPlatformPart::CreateProfileHelper() {
DCHECK(!created_profile_helper_ && profile_helper_.get() == NULL);
created_profile_helper_ = true;
profile_helper_.reset(new chromeos::ProfileHelper());
}
|