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

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

Issue 16658015: Add device policies to control accessibility settings on the login screen (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix copy&paste mistake found by clang. Created 7 years, 6 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/profile_policy_connector.h" 5 #include "chrome/browser/policy/profile_policy_connector.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
11 #include "chrome/browser/policy/browser_policy_connector.h" 11 #include "chrome/browser/policy/browser_policy_connector.h"
12 #include "chrome/browser/policy/configuration_policy_provider.h" 12 #include "chrome/browser/policy/configuration_policy_provider.h"
13 #include "chrome/browser/policy/policy_service_impl.h" 13 #include "chrome/browser/policy/policy_service_impl.h"
14 14
15 #if defined(ENABLE_MANAGED_USERS) 15 #if defined(ENABLE_MANAGED_USERS)
16 #include "chrome/browser/policy/managed_mode_policy_provider.h" 16 #include "chrome/browser/policy/managed_mode_policy_provider.h"
17 #endif 17 #endif
18 18
19 #if defined(OS_CHROMEOS) 19 #if defined(OS_CHROMEOS)
20 #include "base/bind.h" 20 #include "base/bind.h"
21 #include "base/message_loop.h" 21 #include "base/message_loop.h"
22 #include "base/prefs/pref_service.h" 22 #include "base/prefs/pref_service.h"
23 #include "chrome/browser/chromeos/login/user.h" 23 #include "chrome/browser/chromeos/login/user.h"
24 #include "chrome/browser/chromeos/login/user_manager.h" 24 #include "chrome/browser/chromeos/login/user_manager.h"
25 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h" 25 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h"
26 #include "chrome/browser/chromeos/policy/login_profile_policy_provider.cc"
Mattias Nissler (ping if slow) 2013/06/12 13:55:16 ah, no.
bartfab (slow) 2013/06/12 18:57:49 Huh, where did that come from? Deleted.
27 #include "chrome/browser/chromeos/policy/login_profile_policy_provider.h"
26 #include "chrome/browser/chromeos/policy/network_configuration_updater.h" 28 #include "chrome/browser/chromeos/policy/network_configuration_updater.h"
27 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" 29 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
28 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h" 30 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h"
29 #include "chrome/browser/chromeos/profiles/profile_helper.h" 31 #include "chrome/browser/chromeos/profiles/profile_helper.h"
32 #include "chrome/browser/policy/policy_service.h"
30 #include "chrome/common/pref_names.h" 33 #include "chrome/common/pref_names.h"
31 #include "chromeos/dbus/cryptohome_client.h" 34 #include "chromeos/dbus/cryptohome_client.h"
32 #include "chromeos/dbus/dbus_thread_manager.h" 35 #include "chromeos/dbus/dbus_thread_manager.h"
33 #else 36 #else
34 #include "chrome/browser/policy/cloud/user_cloud_policy_manager.h" 37 #include "chrome/browser/policy/cloud/user_cloud_policy_manager.h"
35 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" 38 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
36 #endif 39 #endif
37 40
38 namespace policy { 41 namespace policy {
39 42
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 std::vector<ConfigurationPolicyProvider*> providers; 109 std::vector<ConfigurationPolicyProvider*> providers;
107 110
108 #if defined(OS_CHROMEOS) 111 #if defined(OS_CHROMEOS)
109 UserCloudPolicyManagerChromeOS* cloud_policy_manager = 112 UserCloudPolicyManagerChromeOS* cloud_policy_manager =
110 UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile_); 113 UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile_);
111 if (cloud_policy_manager) 114 if (cloud_policy_manager)
112 providers.push_back(cloud_policy_manager); 115 providers.push_back(cloud_policy_manager);
113 116
114 bool is_managed = false; 117 bool is_managed = false;
115 std::string username; 118 std::string username;
116 if (!chromeos::ProfileHelper::IsSigninProfile(profile_)) { 119 if (chromeos::ProfileHelper::IsSigninProfile(profile_)) {
120 login_profile_policy_provider_.reset(new LoginProfilePolicyProvider(
121 connector->GetPolicyService()));
122 login_profile_policy_provider_->Init();
123 providers.push_back(login_profile_policy_provider_.get());
124 } else {
117 // |user| should never be NULL except for the signin profile. 125 // |user| should never be NULL except for the signin profile.
118 // TODO(joaodasilva): get the |user| that corresponds to the |profile_| 126 // TODO(joaodasilva): get the |user| that corresponds to the |profile_|
119 // from the ProfileHelper, once that's ready. 127 // from the ProfileHelper, once that's ready.
120 chromeos::UserManager* user_manager = chromeos::UserManager::Get(); 128 chromeos::UserManager* user_manager = chromeos::UserManager::Get();
121 chromeos::User* user = user_manager->GetActiveUser(); 129 chromeos::User* user = user_manager->GetActiveUser();
122 CHECK(user); 130 CHECK(user);
123 // Check if |user| is managed, and if it's a public account. 131 // Check if |user| is managed, and if it's a public account.
124 username = user->email(); 132 username = user->email();
125 is_managed = 133 is_managed =
126 connector->GetUserAffiliation(username) == USER_AFFILIATION_MANAGED; 134 connector->GetUserAffiliation(username) == USER_AFFILIATION_MANAGED;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 void ProfilePolicyConnector::InitForTesting(scoped_ptr<PolicyService> service) { 179 void ProfilePolicyConnector::InitForTesting(scoped_ptr<PolicyService> service) {
172 policy_service_ = service.Pass(); 180 policy_service_ = service.Pass();
173 } 181 }
174 182
175 void ProfilePolicyConnector::Shutdown() { 183 void ProfilePolicyConnector::Shutdown() {
176 #if defined(OS_CHROMEOS) 184 #if defined(OS_CHROMEOS)
177 if (is_primary_user_) { 185 if (is_primary_user_) {
178 g_browser_process->browser_policy_connector()->SetUserPolicyDelegate(NULL); 186 g_browser_process->browser_policy_connector()->SetUserPolicyDelegate(NULL);
179 user_policy_init_observer_.reset(); 187 user_policy_init_observer_.reset();
180 } 188 }
189 if (login_profile_policy_provider_)
190 login_profile_policy_provider_->Shutdown();
181 if (device_local_account_policy_provider_) 191 if (device_local_account_policy_provider_)
182 device_local_account_policy_provider_->Shutdown(); 192 device_local_account_policy_provider_->Shutdown();
183 #endif 193 #endif
184 194
185 #if defined(ENABLE_MANAGED_USERS) 195 #if defined(ENABLE_MANAGED_USERS)
186 if (managed_mode_policy_provider_) 196 if (managed_mode_policy_provider_)
187 managed_mode_policy_provider_->Shutdown(); 197 managed_mode_policy_provider_->Shutdown();
188 #endif 198 #endif
189 } 199 }
190 200
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 user_policy_init_observer_.reset(new PolicyInitializationObserver( 236 user_policy_init_observer_.reset(new PolicyInitializationObserver(
227 base::Bind(&NetworkConfigurationUpdater::OnUserPolicyInitialized, 237 base::Bind(&NetworkConfigurationUpdater::OnUserPolicyInitialized,
228 base::Unretained(network_updater), 238 base::Unretained(network_updater),
229 is_managed, 239 is_managed,
230 hashed_username), 240 hashed_username),
231 policy_service())); 241 policy_service()));
232 } 242 }
233 #endif 243 #endif
234 244
235 } // namespace policy 245 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698