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

Side by Side Diff: chrome/browser/chromeos/policy/browser_policy_connector_chromeos.cc

Issue 2382833002: Rename policy::EnterpriseInstallAttributes to chromeos::InstallAttributes. (Closed)
Patch Set: Add missing #includes. Created 4 years, 2 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/browser/chromeos/policy/browser_policy_connector_chromeos.h" 5 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 12 matching lines...) Expand all
23 #include "chrome/browser/chromeos/policy/affiliated_cloud_policy_invalidator.h" 23 #include "chrome/browser/chromeos/policy/affiliated_cloud_policy_invalidator.h"
24 #include "chrome/browser/chromeos/policy/affiliated_invalidation_service_provide r.h" 24 #include "chrome/browser/chromeos/policy/affiliated_invalidation_service_provide r.h"
25 #include "chrome/browser/chromeos/policy/affiliated_invalidation_service_provide r_impl.h" 25 #include "chrome/browser/chromeos/policy/affiliated_invalidation_service_provide r_impl.h"
26 #include "chrome/browser/chromeos/policy/bluetooth_policy_handler.h" 26 #include "chrome/browser/chromeos/policy/bluetooth_policy_handler.h"
27 #include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h" 27 #include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h"
28 #include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h" 28 #include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h"
29 #include "chrome/browser/chromeos/policy/device_local_account.h" 29 #include "chrome/browser/chromeos/policy/device_local_account.h"
30 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" 30 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
31 #include "chrome/browser/chromeos/policy/device_network_configuration_updater.h" 31 #include "chrome/browser/chromeos/policy/device_network_configuration_updater.h"
32 #include "chrome/browser/chromeos/policy/enrollment_config.h" 32 #include "chrome/browser/chromeos/policy/enrollment_config.h"
33 #include "chrome/browser/chromeos/policy/enterprise_install_attributes.h"
34 #include "chrome/browser/chromeos/policy/remote_commands/affiliated_remote_comma nds_invalidator.h" 33 #include "chrome/browser/chromeos/policy/remote_commands/affiliated_remote_comma nds_invalidator.h"
35 #include "chrome/browser/chromeos/policy/server_backed_state_keys_broker.h" 34 #include "chrome/browser/chromeos/policy/server_backed_state_keys_broker.h"
36 #include "chrome/browser/chromeos/settings/cros_settings.h" 35 #include "chrome/browser/chromeos/settings/cros_settings.h"
37 #include "chrome/browser/chromeos/settings/device_settings_service.h" 36 #include "chrome/browser/chromeos/settings/device_settings_service.h"
37 #include "chrome/browser/chromeos/settings/install_attributes.h"
38 #include "chrome/browser/policy/device_management_service_configuration.h" 38 #include "chrome/browser/policy/device_management_service_configuration.h"
39 #include "chrome/common/pref_names.h" 39 #include "chrome/common/pref_names.h"
40 #include "chromeos/attestation/attestation_flow.h" 40 #include "chromeos/attestation/attestation_flow.h"
41 #include "chromeos/chromeos_paths.h" 41 #include "chromeos/chromeos_paths.h"
42 #include "chromeos/chromeos_switches.h" 42 #include "chromeos/chromeos_switches.h"
43 #include "chromeos/cryptohome/async_method_caller.h" 43 #include "chromeos/cryptohome/async_method_caller.h"
44 #include "chromeos/cryptohome/system_salt_getter.h" 44 #include "chromeos/cryptohome/system_salt_getter.h"
45 #include "chromeos/dbus/cryptohome_client.h" 45 #include "chromeos/dbus/cryptohome_client.h"
46 #include "chromeos/dbus/dbus_thread_manager.h" 46 #include "chromeos/dbus/dbus_thread_manager.h"
47 #include "chromeos/network/network_handler.h" 47 #include "chromeos/network/network_handler.h"
(...skipping 10 matching lines...) Expand all
58 #include "google_apis/gaia/gaia_auth_util.h" 58 #include "google_apis/gaia/gaia_auth_util.h"
59 #include "net/url_request/url_request_context_getter.h" 59 #include "net/url_request/url_request_context_getter.h"
60 60
61 using content::BrowserThread; 61 using content::BrowserThread;
62 62
63 namespace policy { 63 namespace policy {
64 64
65 namespace { 65 namespace {
66 66
67 // Install attributes for tests. 67 // Install attributes for tests.
68 EnterpriseInstallAttributes* g_testing_install_attributes = nullptr; 68 chromeos::InstallAttributes* g_testing_install_attributes = nullptr;
69 69
70 // Helper that returns a new SequencedTaskRunner backed by the blocking pool. 70 // Helper that returns a new SequencedTaskRunner backed by the blocking pool.
71 // Each SequencedTaskRunner returned is independent from the others. 71 // Each SequencedTaskRunner returned is independent from the others.
72 scoped_refptr<base::SequencedTaskRunner> GetBackgroundTaskRunner() { 72 scoped_refptr<base::SequencedTaskRunner> GetBackgroundTaskRunner() {
73 base::SequencedWorkerPool* pool = BrowserThread::GetBlockingPool(); 73 base::SequencedWorkerPool* pool = BrowserThread::GetBlockingPool();
74 CHECK(pool); 74 CHECK(pool);
75 return pool->GetSequencedTaskRunnerWithShutdownBehavior( 75 return pool->GetSequencedTaskRunnerWithShutdownBehavior(
76 pool->GetSequenceToken(), base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); 76 pool->GetSequenceToken(), base::SequencedWorkerPool::SKIP_ON_SHUTDOWN);
77 } 77 }
78 78
79 } // namespace 79 } // namespace
80 80
81 BrowserPolicyConnectorChromeOS::BrowserPolicyConnectorChromeOS() 81 BrowserPolicyConnectorChromeOS::BrowserPolicyConnectorChromeOS()
82 : device_cloud_policy_manager_(nullptr), 82 : device_cloud_policy_manager_(nullptr),
83 global_user_cloud_policy_provider_(nullptr), 83 global_user_cloud_policy_provider_(nullptr),
84 weak_ptr_factory_(this) { 84 weak_ptr_factory_(this) {
85 if (g_testing_install_attributes) { 85 if (g_testing_install_attributes) {
86 install_attributes_.reset(g_testing_install_attributes); 86 install_attributes_.reset(g_testing_install_attributes);
87 g_testing_install_attributes = nullptr; 87 g_testing_install_attributes = nullptr;
88 } 88 }
89 89
90 // SystemSaltGetter or DBusThreadManager may be uninitialized on unit tests. 90 // SystemSaltGetter or DBusThreadManager may be uninitialized on unit tests.
91 91
92 // TODO(satorux): Remove SystemSaltGetter::IsInitialized() when it's ready 92 // TODO(satorux): Remove SystemSaltGetter::IsInitialized() when it's ready
93 // (removing it now breaks tests). crbug.com/141016. 93 // (removing it now breaks tests). crbug.com/141016.
94 if (chromeos::SystemSaltGetter::IsInitialized() && 94 if (chromeos::SystemSaltGetter::IsInitialized() &&
95 chromeos::DBusThreadManager::IsInitialized()) { 95 chromeos::DBusThreadManager::IsInitialized()) {
96 state_keys_broker_.reset(new ServerBackedStateKeysBroker( 96 state_keys_broker_ = base::MakeUnique<ServerBackedStateKeysBroker>(
97 chromeos::DBusThreadManager::Get()->GetSessionManagerClient(), 97 chromeos::DBusThreadManager::Get()->GetSessionManagerClient(),
98 base::ThreadTaskRunnerHandle::Get())); 98 base::ThreadTaskRunnerHandle::Get());
99 99
100 chromeos::CryptohomeClient* cryptohome_client = 100 chromeos::CryptohomeClient* cryptohome_client =
101 chromeos::DBusThreadManager::Get()->GetCryptohomeClient(); 101 chromeos::DBusThreadManager::Get()->GetCryptohomeClient();
102 102
103 // Don't initialize install attributes if g_testing_install_attributes have 103 // Don't initialize install attributes if g_testing_install_attributes have
104 // been injected. 104 // been injected.
105 if (!install_attributes_) { 105 if (!install_attributes_) {
106 install_attributes_.reset( 106 install_attributes_ =
107 new EnterpriseInstallAttributes(cryptohome_client)); 107 base::MakeUnique<chromeos::InstallAttributes>(cryptohome_client);
108 base::FilePath install_attrs_file; 108 base::FilePath install_attrs_file;
109 CHECK(PathService::Get(chromeos::FILE_INSTALL_ATTRIBUTES, 109 CHECK(PathService::Get(chromeos::FILE_INSTALL_ATTRIBUTES,
110 &install_attrs_file)); 110 &install_attrs_file));
111 install_attributes_->Init(install_attrs_file); 111 install_attributes_->Init(install_attrs_file);
112 } 112 }
113 113
114 std::unique_ptr<DeviceCloudPolicyStoreChromeOS> device_cloud_policy_store( 114 std::unique_ptr<DeviceCloudPolicyStoreChromeOS> device_cloud_policy_store =
115 new DeviceCloudPolicyStoreChromeOS( 115 base::MakeUnique<DeviceCloudPolicyStoreChromeOS>(
116 chromeos::DeviceSettingsService::Get(), install_attributes_.get(), 116 chromeos::DeviceSettingsService::Get(), install_attributes_.get(),
117 GetBackgroundTaskRunner())); 117 GetBackgroundTaskRunner());
118 device_cloud_policy_manager_ = new DeviceCloudPolicyManagerChromeOS( 118 device_cloud_policy_manager_ = new DeviceCloudPolicyManagerChromeOS(
119 std::move(device_cloud_policy_store), 119 std::move(device_cloud_policy_store),
120 base::ThreadTaskRunnerHandle::Get(), state_keys_broker_.get()); 120 base::ThreadTaskRunnerHandle::Get(), state_keys_broker_.get());
121 AddPolicyProvider(std::unique_ptr<ConfigurationPolicyProvider>( 121 AddPolicyProvider(std::unique_ptr<ConfigurationPolicyProvider>(
122 device_cloud_policy_manager_)); 122 device_cloud_policy_manager_));
123 } 123 }
124 124
125 global_user_cloud_policy_provider_ = new ProxyPolicyProvider(); 125 global_user_cloud_policy_provider_ = new ProxyPolicyProvider();
126 AddPolicyProvider(std::unique_ptr<ConfigurationPolicyProvider>( 126 AddPolicyProvider(std::unique_ptr<ConfigurationPolicyProvider>(
127 global_user_cloud_policy_provider_)); 127 global_user_cloud_policy_provider_));
128 } 128 }
129 129
130 BrowserPolicyConnectorChromeOS::~BrowserPolicyConnectorChromeOS() {} 130 BrowserPolicyConnectorChromeOS::~BrowserPolicyConnectorChromeOS() {}
131 131
132 void BrowserPolicyConnectorChromeOS::Init( 132 void BrowserPolicyConnectorChromeOS::Init(
133 PrefService* local_state, 133 PrefService* local_state,
134 scoped_refptr<net::URLRequestContextGetter> request_context) { 134 scoped_refptr<net::URLRequestContextGetter> request_context) {
135 local_state_ = local_state; 135 local_state_ = local_state;
136 ChromeBrowserPolicyConnector::Init(local_state, request_context); 136 ChromeBrowserPolicyConnector::Init(local_state, request_context);
137 137
138 affiliated_invalidation_service_provider_.reset( 138 affiliated_invalidation_service_provider_ =
139 new AffiliatedInvalidationServiceProviderImpl); 139 base::MakeUnique<AffiliatedInvalidationServiceProviderImpl>();
140 140
141 if (device_cloud_policy_manager_) { 141 if (device_cloud_policy_manager_) {
142 // Note: for now the |device_cloud_policy_manager_| is using the global 142 // Note: for now the |device_cloud_policy_manager_| is using the global
143 // schema registry. Eventually it will have its own registry, once device 143 // schema registry. Eventually it will have its own registry, once device
144 // cloud policy for extensions is introduced. That means it'd have to be 144 // cloud policy for extensions is introduced. That means it'd have to be
145 // initialized from here instead of BrowserPolicyConnector::Init(). 145 // initialized from here instead of BrowserPolicyConnector::Init().
146 146
147 device_cloud_policy_manager_->Initialize(local_state); 147 device_cloud_policy_manager_->Initialize(local_state);
148 device_cloud_policy_manager_->AddDeviceCloudPolicyManagerObserver(this); 148 device_cloud_policy_manager_->AddDeviceCloudPolicyManagerObserver(this);
149 RestartDeviceCloudPolicyInitializer(); 149 RestartDeviceCloudPolicyInitializer();
150 } 150 }
151 151
152 device_local_account_policy_service_.reset( 152 device_local_account_policy_service_ =
153 new DeviceLocalAccountPolicyService( 153 base::MakeUnique<DeviceLocalAccountPolicyService>(
154 chromeos::DBusThreadManager::Get()->GetSessionManagerClient(), 154 chromeos::DBusThreadManager::Get()->GetSessionManagerClient(),
155 chromeos::DeviceSettingsService::Get(), chromeos::CrosSettings::Get(), 155 chromeos::DeviceSettingsService::Get(), chromeos::CrosSettings::Get(),
156 affiliated_invalidation_service_provider_.get(), 156 affiliated_invalidation_service_provider_.get(),
157 GetBackgroundTaskRunner(), GetBackgroundTaskRunner(), 157 GetBackgroundTaskRunner(), GetBackgroundTaskRunner(),
158 GetBackgroundTaskRunner(), 158 GetBackgroundTaskRunner(),
159 content::BrowserThread::GetTaskRunnerForThread( 159 content::BrowserThread::GetTaskRunnerForThread(
160 content::BrowserThread::IO), 160 content::BrowserThread::IO),
161 request_context)); 161 request_context);
162 device_local_account_policy_service_->Connect(device_management_service()); 162 device_local_account_policy_service_->Connect(device_management_service());
163 if (device_cloud_policy_manager_) { 163 if (device_cloud_policy_manager_) {
164 device_cloud_policy_invalidator_.reset(new AffiliatedCloudPolicyInvalidator( 164 device_cloud_policy_invalidator_ =
165 enterprise_management::DeviceRegisterRequest::DEVICE, 165 base::MakeUnique<AffiliatedCloudPolicyInvalidator>(
166 device_cloud_policy_manager_->core(), 166 enterprise_management::DeviceRegisterRequest::DEVICE,
167 affiliated_invalidation_service_provider_.get()));
168 device_remote_commands_invalidator_.reset(
169 new AffiliatedRemoteCommandsInvalidator(
170 device_cloud_policy_manager_->core(), 167 device_cloud_policy_manager_->core(),
171 affiliated_invalidation_service_provider_.get())); 168 affiliated_invalidation_service_provider_.get());
169 device_remote_commands_invalidator_ =
170 base::MakeUnique<AffiliatedRemoteCommandsInvalidator>(
171 device_cloud_policy_manager_->core(),
172 affiliated_invalidation_service_provider_.get());
172 } 173 }
173 174
174 SetTimezoneIfPolicyAvailable(); 175 SetTimezoneIfPolicyAvailable();
175 176
176 network_configuration_updater_ = 177 network_configuration_updater_ =
177 DeviceNetworkConfigurationUpdater::CreateForDevicePolicy( 178 DeviceNetworkConfigurationUpdater::CreateForDevicePolicy(
178 GetPolicyService(), 179 GetPolicyService(),
179 chromeos::NetworkHandler::Get() 180 chromeos::NetworkHandler::Get()
180 ->managed_network_configuration_handler(), 181 ->managed_network_configuration_handler(),
181 chromeos::NetworkHandler::Get()->network_device_handler(), 182 chromeos::NetworkHandler::Get()->network_device_handler(),
182 chromeos::CrosSettings::Get()); 183 chromeos::CrosSettings::Get());
183 184
184 bluetooth_policy_handler_.reset( 185 bluetooth_policy_handler_ =
185 new BluetoothPolicyHandler(chromeos::CrosSettings::Get())); 186 base::MakeUnique<BluetoothPolicyHandler>(chromeos::CrosSettings::Get());
186 } 187 }
187 188
188 void BrowserPolicyConnectorChromeOS::PreShutdown() { 189 void BrowserPolicyConnectorChromeOS::PreShutdown() {
189 // Let the |affiliated_invalidation_service_provider_| unregister itself as an 190 // Let the |affiliated_invalidation_service_provider_| unregister itself as an
190 // observer of per-Profile InvalidationServices and the device-global 191 // observer of per-Profile InvalidationServices and the device-global
191 // invalidation::TiclInvalidationService it may have created as an observer of 192 // invalidation::TiclInvalidationService it may have created as an observer of
192 // the DeviceOAuth2TokenService that is destroyed before Shutdown() is called. 193 // the DeviceOAuth2TokenService that is destroyed before Shutdown() is called.
193 if (affiliated_invalidation_service_provider_) 194 if (affiliated_invalidation_service_provider_)
194 affiliated_invalidation_service_provider_->Shutdown(); 195 affiliated_invalidation_service_provider_->Shutdown();
195 } 196 }
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 global_user_cloud_policy_provider_->SetDelegate(user_policy_provider); 256 global_user_cloud_policy_provider_->SetDelegate(user_policy_provider);
256 } 257 }
257 258
258 void BrowserPolicyConnectorChromeOS::SetDeviceCloudPolicyInitializerForTesting( 259 void BrowserPolicyConnectorChromeOS::SetDeviceCloudPolicyInitializerForTesting(
259 std::unique_ptr<DeviceCloudPolicyInitializer> initializer) { 260 std::unique_ptr<DeviceCloudPolicyInitializer> initializer) {
260 device_cloud_policy_initializer_ = std::move(initializer); 261 device_cloud_policy_initializer_ = std::move(initializer);
261 } 262 }
262 263
263 // static 264 // static
264 void BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting( 265 void BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting(
265 EnterpriseInstallAttributes* attributes) { 266 chromeos::InstallAttributes* attributes) {
266 DCHECK(!g_testing_install_attributes); 267 DCHECK(!g_testing_install_attributes);
267 g_testing_install_attributes = attributes; 268 g_testing_install_attributes = attributes;
268 } 269 }
269 270
270 // static 271 // static
271 void BrowserPolicyConnectorChromeOS::RemoveInstallAttributesForTesting() { 272 void BrowserPolicyConnectorChromeOS::RemoveInstallAttributesForTesting() {
272 if (g_testing_install_attributes) { 273 if (g_testing_install_attributes) {
273 delete g_testing_install_attributes; 274 delete g_testing_install_attributes;
274 g_testing_install_attributes = nullptr; 275 g_testing_install_attributes = nullptr;
275 } 276 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 std::string timezone; 313 std::string timezone;
313 if (chromeos::CrosSettings::Get()->GetString(chromeos::kSystemTimezonePolicy, 314 if (chromeos::CrosSettings::Get()->GetString(chromeos::kSystemTimezonePolicy,
314 &timezone) && 315 &timezone) &&
315 !timezone.empty()) { 316 !timezone.empty()) {
316 chromeos::system::TimezoneSettings::GetInstance()->SetTimezoneFromID( 317 chromeos::system::TimezoneSettings::GetInstance()->SetTimezoneFromID(
317 base::UTF8ToUTF16(timezone)); 318 base::UTF8ToUTF16(timezone));
318 } 319 }
319 } 320 }
320 321
321 void BrowserPolicyConnectorChromeOS::RestartDeviceCloudPolicyInitializer() { 322 void BrowserPolicyConnectorChromeOS::RestartDeviceCloudPolicyInitializer() {
322 device_cloud_policy_initializer_.reset(new DeviceCloudPolicyInitializer( 323 device_cloud_policy_initializer_ =
323 local_state_, device_management_service(), GetBackgroundTaskRunner(), 324 base::MakeUnique<DeviceCloudPolicyInitializer>(
324 install_attributes_.get(), state_keys_broker_.get(), 325 local_state_, device_management_service(), GetBackgroundTaskRunner(),
325 device_cloud_policy_manager_->device_store(), 326 install_attributes_.get(), state_keys_broker_.get(),
326 device_cloud_policy_manager_, 327 device_cloud_policy_manager_->device_store(),
327 cryptohome::AsyncMethodCaller::GetInstance(), CreateAttestationFlow())); 328 device_cloud_policy_manager_,
329 cryptohome::AsyncMethodCaller::GetInstance(),
330 CreateAttestationFlow());
328 device_cloud_policy_initializer_->Init(); 331 device_cloud_policy_initializer_->Init();
329 } 332 }
330 333
331 std::unique_ptr<chromeos::attestation::AttestationFlow> 334 std::unique_ptr<chromeos::attestation::AttestationFlow>
332 BrowserPolicyConnectorChromeOS::CreateAttestationFlow() { 335 BrowserPolicyConnectorChromeOS::CreateAttestationFlow() {
333 return base::MakeUnique<chromeos::attestation::AttestationFlow>( 336 return base::MakeUnique<chromeos::attestation::AttestationFlow>(
334 cryptohome::AsyncMethodCaller::GetInstance(), 337 cryptohome::AsyncMethodCaller::GetInstance(),
335 chromeos::DBusThreadManager::Get()->GetCryptohomeClient(), 338 chromeos::DBusThreadManager::Get()->GetCryptohomeClient(),
336 base::MakeUnique<chromeos::attestation::AttestationCAClient>()); 339 base::MakeUnique<chromeos::attestation::AttestationCAClient>());
337 } 340 }
338 341
339 chromeos::AffiliationIDSet 342 chromeos::AffiliationIDSet
340 BrowserPolicyConnectorChromeOS::GetDeviceAffiliationIDs() const { 343 BrowserPolicyConnectorChromeOS::GetDeviceAffiliationIDs() const {
341 chromeos::AffiliationIDSet affiliation_ids; 344 chromeos::AffiliationIDSet affiliation_ids;
342 if (device_cloud_policy_manager_) { 345 if (device_cloud_policy_manager_) {
343 const enterprise_management::PolicyData* const policy_data = 346 const enterprise_management::PolicyData* const policy_data =
344 device_cloud_policy_manager_->device_store()->policy(); 347 device_cloud_policy_manager_->device_store()->policy();
345 if (policy_data) { 348 if (policy_data) {
346 affiliation_ids.insert(policy_data->device_affiliation_ids().begin(), 349 affiliation_ids.insert(policy_data->device_affiliation_ids().begin(),
347 policy_data->device_affiliation_ids().end()); 350 policy_data->device_affiliation_ids().end());
348 } 351 }
349 } 352 }
350 return affiliation_ids; 353 return affiliation_ids;
351 } 354 }
352 355
353 } // namespace policy 356 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698