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

Side by Side Diff: chrome/browser/extensions/api/settings_private/prefs_util.cc

Issue 1342033002: Add tooltips to cr-policy-indicator (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@issue_521791_settings_policy_1
Patch Set: . Created 5 years, 3 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/extensions/api/settings_private/prefs_util.h" 5 #include "chrome/browser/extensions/api/settings_private/prefs_util.h"
6 6
7 #include "base/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
8 #include "chrome/browser/browser_process.h" 8 #include "chrome/browser/browser_process.h"
9 #include "chrome/browser/extensions/chrome_extension_function.h" 9 #include "chrome/browser/extensions/chrome_extension_function.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
11 #include "chrome/common/pref_names.h" 11 #include "chrome/common/pref_names.h"
12 #include "components/proxy_config/proxy_config_pref_names.h" 12 #include "components/proxy_config/proxy_config_pref_names.h"
13 #include "components/url_formatter/url_fixer.h" 13 #include "components/url_formatter/url_fixer.h"
14 #include "extensions/browser/extension_pref_value_map.h" 14 #include "extensions/browser/extension_pref_value_map.h"
15 #include "extensions/browser/extension_pref_value_map_factory.h" 15 #include "extensions/browser/extension_pref_value_map_factory.h"
16 #include "extensions/browser/extension_registry.h" 16 #include "extensions/browser/extension_registry.h"
17 #include "extensions/common/extension.h"
17 18
18 #if defined(OS_CHROMEOS) 19 #if defined(OS_CHROMEOS)
19 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h" 20 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h"
20 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_fact ory.h" 21 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_fact ory.h"
21 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 22 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
22 #include "chrome/browser/chromeos/profiles/profile_helper.h" 23 #include "chrome/browser/chromeos/profiles/profile_helper.h"
23 #include "chrome/browser/chromeos/settings/cros_settings.h" 24 #include "chrome/browser/chromeos/settings/cros_settings.h"
24 #include "chromeos/settings/cros_settings_names.h" 25 #include "chromeos/settings/cros_settings_names.h"
25 #endif 26 #endif
26 27
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 pref_object->type = GetType(name, pref->GetType()); 183 pref_object->type = GetType(name, pref->GetType());
183 pref_object->value.reset(pref->GetValue()->DeepCopy()); 184 pref_object->value.reset(pref->GetValue()->DeepCopy());
184 } 185 }
185 186
186 #if defined(OS_CHROMEOS) 187 #if defined(OS_CHROMEOS)
187 if (IsPrefPrimaryUserControlled(name)) { 188 if (IsPrefPrimaryUserControlled(name)) {
188 pref_object->policy_source = 189 pref_object->policy_source =
189 settings_private::PolicySource::POLICY_SOURCE_PRIMARY_USER; 190 settings_private::PolicySource::POLICY_SOURCE_PRIMARY_USER;
190 pref_object->policy_enforcement = 191 pref_object->policy_enforcement =
191 settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED; 192 settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED;
193 pref_object->policy_source_name.reset(new std::string(
194 user_manager::UserManager::Get()->GetPrimaryUser()->email()));
192 return pref_object.Pass(); 195 return pref_object.Pass();
193 } 196 }
194 if (IsPrefEnterpriseManaged(name)) { 197 if (IsPrefEnterpriseManaged(name)) {
195 // Enterprise managed prefs are treated the same as device policy restricted 198 // Enterprise managed prefs are treated the same as device policy restricted
196 // prefs in the UI. 199 // prefs in the UI.
197 pref_object->policy_source = 200 pref_object->policy_source =
198 settings_private::PolicySource::POLICY_SOURCE_DEVICE_POLICY; 201 settings_private::PolicySource::POLICY_SOURCE_DEVICE_POLICY;
199 pref_object->policy_enforcement = 202 pref_object->policy_enforcement =
200 settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED; 203 settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED;
201 return pref_object.Pass(); 204 return pref_object.Pass();
(...skipping 20 matching lines...) Expand all
222 #if defined(OS_CHROMEOS) 225 #if defined(OS_CHROMEOS)
223 if (IsPrefOwnerControlled(name)) { 226 if (IsPrefOwnerControlled(name)) {
224 // Check for owner controlled after managed checks because if there is a 227 // Check for owner controlled after managed checks because if there is a
225 // device policy there is no "owner". (In the unlikely case that both 228 // device policy there is no "owner". (In the unlikely case that both
226 // situations apply, either badge is potentially relevant, so the order 229 // situations apply, either badge is potentially relevant, so the order
227 // is somewhat arbitrary). 230 // is somewhat arbitrary).
228 pref_object->policy_source = 231 pref_object->policy_source =
229 settings_private::PolicySource::POLICY_SOURCE_OWNER; 232 settings_private::PolicySource::POLICY_SOURCE_OWNER;
230 pref_object->policy_enforcement = 233 pref_object->policy_enforcement =
231 settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED; 234 settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED;
235 pref_object->policy_source_name.reset(
236 new std::string(user_manager::UserManager::Get()->GetOwnerEmail()));
232 return pref_object.Pass(); 237 return pref_object.Pass();
233 } 238 }
234 #endif 239 #endif
235 240
236 if (pref && pref->IsExtensionControlled()) { 241 if (pref && pref->IsExtensionControlled()) {
237 pref_object->policy_source =
238 settings_private::PolicySource::POLICY_SOURCE_EXTENSION;
239 pref_object->policy_enforcement =
240 settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED;
241 std::string extension_id = 242 std::string extension_id =
242 ExtensionPrefValueMapFactory::GetForBrowserContext(profile_) 243 ExtensionPrefValueMapFactory::GetForBrowserContext(profile_)
243 ->GetExtensionControllingPref(pref->name()); 244 ->GetExtensionControllingPref(pref->name());
244 pref_object->extension_id.reset(new std::string(extension_id)); 245 const Extension* extension = ExtensionRegistry::Get(profile_)->
245 return pref_object.Pass(); 246 GetExtensionById(extension_id, ExtensionRegistry::ENABLED);
247 if (extension) {
248 pref_object->policy_source =
249 settings_private::PolicySource::POLICY_SOURCE_EXTENSION;
250 pref_object->policy_enforcement =
251 settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED;
252 pref_object->extension_id.reset(new std::string(extension_id));
253 pref_object->policy_source_name.reset(new std::string(extension->name()));
254 return pref_object.Pass();
255 }
246 } 256 }
247 if (pref && (!pref->IsUserModifiable() || IsPrefSupervisorControlled(name))) { 257 if (pref && (!pref->IsUserModifiable() || IsPrefSupervisorControlled(name))) {
248 // TODO(stevenjb): Investigate whether either of these should be badged. 258 // TODO(stevenjb): Investigate whether either of these should be badged.
249 pref_object->read_only.reset(new bool(true)); 259 pref_object->read_only.reset(new bool(true));
250 return pref_object.Pass(); 260 return pref_object.Pass();
251 } 261 }
252 262
253 return pref_object.Pass(); 263 return pref_object.Pass();
254 } 264 }
255 265
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 463
454 bool PrefsUtil::IsCrosSetting(const std::string& pref_name) { 464 bool PrefsUtil::IsCrosSetting(const std::string& pref_name) {
455 #if defined(OS_CHROMEOS) 465 #if defined(OS_CHROMEOS)
456 return CrosSettings::Get()->IsCrosSettings(pref_name); 466 return CrosSettings::Get()->IsCrosSettings(pref_name);
457 #else 467 #else
458 return false; 468 return false;
459 #endif 469 #endif
460 } 470 }
461 471
462 } // namespace extensions 472 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698