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

Side by Side Diff: chrome/browser/policy/browser_policy_connector.cc

Issue 12556004: Created AttestationPolicyObserver. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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 | Annotate | Revision Log
OLDNEW
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/browser/policy/browser_policy_connector.h" 5 #include "chrome/browser/policy/browser_policy_connector.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 29 matching lines...) Expand all
40 #include "chrome/browser/policy/policy_loader_win.h" 40 #include "chrome/browser/policy/policy_loader_win.h"
41 #elif defined(OS_MACOSX) 41 #elif defined(OS_MACOSX)
42 #include "chrome/browser/policy/policy_loader_mac.h" 42 #include "chrome/browser/policy/policy_loader_mac.h"
43 #include "chrome/browser/policy/preferences_mac.h" 43 #include "chrome/browser/policy/preferences_mac.h"
44 #elif defined(OS_POSIX) 44 #elif defined(OS_POSIX)
45 #include "chrome/browser/policy/config_dir_policy_loader.h" 45 #include "chrome/browser/policy/config_dir_policy_loader.h"
46 #endif 46 #endif
47 47
48 #if defined(OS_CHROMEOS) 48 #if defined(OS_CHROMEOS)
49 #include "base/utf_string_conversions.h" 49 #include "base/utf_string_conversions.h"
50 #include "chrome/browser/chromeos/attestation/attestation_ca_client.h"
51 #include "chrome/browser/chromeos/attestation/attestation_policy_observer.h"
50 #include "chrome/browser/chromeos/cros/cros_library.h" 52 #include "chrome/browser/chromeos/cros/cros_library.h"
51 #include "chrome/browser/chromeos/login/user_manager.h" 53 #include "chrome/browser/chromeos/login/user_manager.h"
52 #include "chrome/browser/chromeos/policy/app_pack_updater.h" 54 #include "chrome/browser/chromeos/policy/app_pack_updater.h"
53 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" 55 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
54 #include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h" 56 #include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h"
55 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h" 57 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h"
56 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" 58 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
57 #include "chrome/browser/chromeos/policy/device_status_collector.h" 59 #include "chrome/browser/chromeos/policy/device_status_collector.h"
58 #include "chrome/browser/chromeos/policy/enterprise_install_attributes.h" 60 #include "chrome/browser/chromeos/policy/enterprise_install_attributes.h"
59 #include "chrome/browser/chromeos/policy/network_configuration_updater.h" 61 #include "chrome/browser/chromeos/policy/network_configuration_updater.h"
60 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" 62 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
61 #include "chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.h" 63 #include "chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.h"
62 #include "chrome/browser/chromeos/settings/cros_settings.h" 64 #include "chrome/browser/chromeos/settings/cros_settings.h"
63 #include "chrome/browser/chromeos/settings/cros_settings_provider.h" 65 #include "chrome/browser/chromeos/settings/cros_settings_provider.h"
64 #include "chrome/browser/chromeos/settings/device_settings_service.h" 66 #include "chrome/browser/chromeos/settings/device_settings_service.h"
65 #include "chrome/browser/chromeos/system/statistics_provider.h" 67 #include "chrome/browser/chromeos/system/statistics_provider.h"
66 #include "chrome/browser/chromeos/system/timezone_settings.h" 68 #include "chrome/browser/chromeos/system/timezone_settings.h"
67 #include "chrome/browser/policy/cloud/resource_cache.h" 69 #include "chrome/browser/policy/cloud/resource_cache.h"
70 #include "chromeos/attestation/attestation_flow.h"
71 #include "chromeos/cryptohome/async_method_caller.h"
68 #include "chromeos/dbus/dbus_thread_manager.h" 72 #include "chromeos/dbus/dbus_thread_manager.h"
69 #else 73 #else
70 #include "chrome/browser/policy/cloud/user_cloud_policy_manager.h" 74 #include "chrome/browser/policy/cloud/user_cloud_policy_manager.h"
71 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" 75 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
72 #endif 76 #endif
73 77
74 using content::BrowserThread; 78 using content::BrowserThread;
75 79
76 namespace policy { 80 namespace policy {
77 81
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 device_cloud_policy_manager_->Init(); 185 device_cloud_policy_manager_->Init();
182 scoped_ptr<CloudPolicyClient::StatusProvider> status_provider( 186 scoped_ptr<CloudPolicyClient::StatusProvider> status_provider(
183 new DeviceStatusCollector( 187 new DeviceStatusCollector(
184 local_state_, 188 local_state_,
185 chromeos::system::StatisticsProvider::GetInstance(), 189 chromeos::system::StatisticsProvider::GetInstance(),
186 NULL)); 190 NULL));
187 device_cloud_policy_manager_->Connect( 191 device_cloud_policy_manager_->Connect(
188 local_state_, 192 local_state_,
189 device_management_service_.get(), 193 device_management_service_.get(),
190 status_provider.Pass()); 194 status_provider.Pass());
195
196 scoped_ptr<chromeos::attestation::ServerProxy> attestation_ca_client(
197 new chromeos::attestation::AttestationCAClient());
198 scoped_ptr<chromeos::attestation::AttestationFlow> attestation_flow(
199 new chromeos::attestation::AttestationFlow(
200 cryptohome::AsyncMethodCaller::GetInstance(),
201 chromeos::DBusThreadManager::Get()->GetCryptohomeClient(),
202 attestation_ca_client.Pass()));
203 attestation_policy_observer_.reset(
204 new chromeos::attestation::AttestationPolicyObserver(
205 chromeos::CrosSettings::Get(),
206 device_cloud_policy_manager_.get(),
207 attestation_flow.Pass()));
191 } 208 }
192 209
193 CommandLine* command_line = CommandLine::ForCurrentProcess(); 210 CommandLine* command_line = CommandLine::ForCurrentProcess();
194 if (!command_line->HasSwitch(switches::kDisableLocalAccounts)) { 211 if (!command_line->HasSwitch(switches::kDisableLocalAccounts)) {
195 device_local_account_policy_service_.reset( 212 device_local_account_policy_service_.reset(
196 new DeviceLocalAccountPolicyService( 213 new DeviceLocalAccountPolicyService(
197 chromeos::DBusThreadManager::Get()->GetSessionManagerClient(), 214 chromeos::DBusThreadManager::Get()->GetSessionManagerClient(),
198 chromeos::DeviceSettingsService::Get())); 215 chromeos::DeviceSettingsService::Get()));
199 device_local_account_policy_service_->Connect( 216 device_local_account_policy_service_->Connect(
200 device_management_service_.get()); 217 device_management_service_.get());
201 } 218 }
202 219
203 GetAppPackUpdater(); 220 GetAppPackUpdater();
204 221
205 SetTimezoneIfPolicyAvailable(); 222 SetTimezoneIfPolicyAvailable();
223
Mattias Nissler (ping if slow) 2013/03/27 14:16:34 nit: remove
dkrahn 2013/03/27 21:20:44 Done.
206 #endif 224 #endif
207 225
208 policy_statistics_collector_.reset( 226 policy_statistics_collector_.reset(
209 new policy::PolicyStatisticsCollector( 227 new policy::PolicyStatisticsCollector(
210 GetPolicyService(), 228 GetPolicyService(),
211 local_state_, 229 local_state_,
212 MessageLoop::current()->message_loop_proxy())); 230 MessageLoop::current()->message_loop_proxy()));
213 policy_statistics_collector_->Initialize(); 231 policy_statistics_collector_->Initialize();
214 232
215 is_initialized_ = true; 233 is_initialized_ = true;
216 } 234 }
217 235
218 void BrowserPolicyConnector::Shutdown() { 236 void BrowserPolicyConnector::Shutdown() {
219 is_initialized_ = false; 237 is_initialized_ = false;
220 238
221 if (g_testing_provider) 239 if (g_testing_provider)
222 g_testing_provider->Shutdown(); 240 g_testing_provider->Shutdown();
223 // Drop g_testing_provider so that tests executed with --single_process can 241 // Drop g_testing_provider so that tests executed with --single_process can
224 // call SetPolicyProviderForTesting() again. It is still owned by the test. 242 // call SetPolicyProviderForTesting() again. It is still owned by the test.
225 g_testing_provider = NULL; 243 g_testing_provider = NULL;
226 if (platform_provider_) 244 if (platform_provider_)
227 platform_provider_->Shutdown(); 245 platform_provider_->Shutdown();
228 246
229 #if defined(OS_CHROMEOS) 247 #if defined(OS_CHROMEOS)
230 // The AppPackUpdater may be observing the |device_cloud_policy_subsystem_|. 248 // The AppPackUpdater may be observing the |device_cloud_policy_subsystem_|.
231 // Delete it first. 249 // Delete it first.
232 app_pack_updater_.reset(); 250 app_pack_updater_.reset();
233 251
252 attestation_policy_observer_.reset();
253
234 if (device_cloud_policy_manager_) 254 if (device_cloud_policy_manager_)
235 device_cloud_policy_manager_->Shutdown(); 255 device_cloud_policy_manager_->Shutdown();
236 if (device_local_account_policy_provider_) 256 if (device_local_account_policy_provider_)
237 device_local_account_policy_provider_->Shutdown(); 257 device_local_account_policy_provider_->Shutdown();
238 if (device_local_account_policy_service_) 258 if (device_local_account_policy_service_)
239 device_local_account_policy_service_->Disconnect(); 259 device_local_account_policy_service_->Disconnect();
240 if (user_cloud_policy_manager_) 260 if (user_cloud_policy_manager_)
241 user_cloud_policy_manager_->Shutdown(); 261 user_cloud_policy_manager_->Shutdown();
242 global_user_cloud_policy_provider_.Shutdown(); 262 global_user_cloud_policy_provider_.Shutdown();
243 #endif 263 #endif
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 return new AsyncPolicyProvider(loader.Pass()); 572 return new AsyncPolicyProvider(loader.Pass());
553 } else { 573 } else {
554 return NULL; 574 return NULL;
555 } 575 }
556 #else 576 #else
557 return NULL; 577 return NULL;
558 #endif 578 #endif
559 } 579 }
560 580
561 } // namespace policy 581 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698