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

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

Issue 6979011: Move user cloud policy to BrowserProcess. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments by mnissler. Added unittest. Created 9 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/configuration_policy_pref_store.h" 5 #include "chrome/browser/policy/configuration_policy_pref_store.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/command_line.h" 12 #include "base/command_line.h"
13 #include "base/lazy_instance.h" 13 #include "base/lazy_instance.h"
14 #include "base/logging.h" 14 #include "base/logging.h"
15 #include "base/stl_util-inl.h" 15 #include "base/stl_util-inl.h"
16 #include "base/string16.h" 16 #include "base/string16.h"
17 #include "base/string_util.h" 17 #include "base/string_util.h"
18 #include "base/utf_string_conversions.h" 18 #include "base/utf_string_conversions.h"
19 #include "base/values.h" 19 #include "base/values.h"
20 #include "chrome/browser/browser_process.h" 20 #include "chrome/browser/browser_process.h"
21 #include "chrome/browser/policy/browser_policy_connector.h" 21 #include "chrome/browser/policy/browser_policy_connector.h"
22 #include "chrome/browser/policy/configuration_policy_provider.h" 22 #include "chrome/browser/policy/configuration_policy_provider.h"
23 #include "chrome/browser/policy/policy_path_parser.h" 23 #include "chrome/browser/policy/policy_path_parser.h"
24 #include "chrome/browser/policy/profile_policy_connector.h" 24 #include "chrome/browser/policy/user_policy_connector.h"
25 #include "chrome/browser/policy/profile_policy_connector_factory.h"
26 #include "chrome/browser/prefs/pref_value_map.h" 25 #include "chrome/browser/prefs/pref_value_map.h"
27 #include "chrome/browser/prefs/proxy_config_dictionary.h" 26 #include "chrome/browser/prefs/proxy_config_dictionary.h"
28 #include "chrome/browser/profiles/profile.h" 27 #include "chrome/browser/profiles/profile.h"
29 #include "chrome/browser/search_engines/search_terms_data.h" 28 #include "chrome/browser/search_engines/search_terms_data.h"
30 #include "chrome/browser/search_engines/template_url.h" 29 #include "chrome/browser/search_engines/template_url.h"
31 #include "chrome/common/pref_names.h" 30 #include "chrome/common/pref_names.h"
32 #include "content/common/notification_service.h" 31 #include "content/common/notification_service.h"
33 #include "policy/policy_constants.h" 32 #include "policy/policy_constants.h"
34 33
35 namespace policy { 34 namespace policy {
(...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 ConfigurationPolicyPrefStore* 816 ConfigurationPolicyPrefStore*
818 ConfigurationPolicyPrefStore::CreateManagedPlatformPolicyPrefStore() { 817 ConfigurationPolicyPrefStore::CreateManagedPlatformPolicyPrefStore() {
819 BrowserPolicyConnector* connector = 818 BrowserPolicyConnector* connector =
820 g_browser_process->browser_policy_connector(); 819 g_browser_process->browser_policy_connector();
821 return new ConfigurationPolicyPrefStore( 820 return new ConfigurationPolicyPrefStore(
822 connector->GetManagedPlatformProvider()); 821 connector->GetManagedPlatformProvider());
823 } 822 }
824 823
825 // static 824 // static
826 ConfigurationPolicyPrefStore* 825 ConfigurationPolicyPrefStore*
827 ConfigurationPolicyPrefStore::CreateManagedCloudPolicyPrefStore( 826 ConfigurationPolicyPrefStore::CreateManagedCloudPolicyPrefStore() {
828 Profile* profile) { 827 return new ConfigurationPolicyPrefStore(
829 ConfigurationPolicyProvider* provider = NULL; 828 g_browser_process->managed_cloud_policy_provider());
830 if (profile) {
831 // For user policy, return the profile's policy provider.
832 provider = policy::ProfilePolicyConnectorFactory::GetForProfile(profile)->
833 GetManagedCloudProvider();
834 } else {
835 // For device policy, return the provider of the browser process.
836 BrowserPolicyConnector* connector =
837 g_browser_process->browser_policy_connector();
838 provider = connector->GetManagedCloudProvider();
839 }
840 return new ConfigurationPolicyPrefStore(provider);
841 } 829 }
842 830
843 // static 831 // static
844 ConfigurationPolicyPrefStore* 832 ConfigurationPolicyPrefStore*
845 ConfigurationPolicyPrefStore::CreateRecommendedPlatformPolicyPrefStore() { 833 ConfigurationPolicyPrefStore::CreateRecommendedPlatformPolicyPrefStore() {
846 BrowserPolicyConnector* connector = 834 BrowserPolicyConnector* connector =
847 g_browser_process->browser_policy_connector(); 835 g_browser_process->browser_policy_connector();
848 return new ConfigurationPolicyPrefStore( 836 return new ConfigurationPolicyPrefStore(
849 connector->GetRecommendedPlatformProvider()); 837 connector->GetRecommendedPlatformProvider());
850 } 838 }
851 839
852 // static 840 // static
853 ConfigurationPolicyPrefStore* 841 ConfigurationPolicyPrefStore*
854 ConfigurationPolicyPrefStore::CreateRecommendedCloudPolicyPrefStore( 842 ConfigurationPolicyPrefStore::CreateRecommendedCloudPolicyPrefStore() {
855 Profile* profile) { 843 return new ConfigurationPolicyPrefStore(
856 ConfigurationPolicyProvider* provider = NULL; 844 g_browser_process->recommended_cloud_policy_provider());
857 if (profile) {
858 // For user policy, return the profile's policy provider.
859 provider = policy::ProfilePolicyConnectorFactory::GetForProfile(profile)->
860 GetRecommendedCloudProvider();
861 } else {
862 // For device policy, return the provider of the browser process.
863 BrowserPolicyConnector* connector =
864 g_browser_process->browser_policy_connector();
865 provider = connector->GetRecommendedCloudProvider();
866 }
867 return new ConfigurationPolicyPrefStore(provider);
868 } 845 }
869 846
870 /* static */ 847 /* static */
871 const ConfigurationPolicyProvider::PolicyDefinitionList* 848 const ConfigurationPolicyProvider::PolicyDefinitionList*
872 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList() { 849 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList() {
873 static ConfigurationPolicyProvider::PolicyDefinitionList::Entry entries[] = { 850 static ConfigurationPolicyProvider::PolicyDefinitionList::Entry entries[] = {
874 { kPolicyHomepageLocation, Value::TYPE_STRING, key::kHomepageLocation }, 851 { kPolicyHomepageLocation, Value::TYPE_STRING, key::kHomepageLocation },
875 { kPolicyHomepageIsNewTabPage, Value::TYPE_BOOLEAN, 852 { kPolicyHomepageIsNewTabPage, Value::TYPE_BOOLEAN,
876 key::kHomepageIsNewTabPage }, 853 key::kHomepageIsNewTabPage },
877 { kPolicyRestoreOnStartup, Value::TYPE_INTEGER, key::kRestoreOnStartup }, 854 { kPolicyRestoreOnStartup, Value::TYPE_INTEGER, key::kRestoreOnStartup },
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 // Update the initialization flag. 1024 // Update the initialization flag.
1048 if (!initialization_complete_ && 1025 if (!initialization_complete_ &&
1049 provider_->IsInitializationComplete()) { 1026 provider_->IsInitializationComplete()) {
1050 initialization_complete_ = true; 1027 initialization_complete_ = true;
1051 FOR_EACH_OBSERVER(PrefStore::Observer, observers_, 1028 FOR_EACH_OBSERVER(PrefStore::Observer, observers_,
1052 OnInitializationCompleted(true)); 1029 OnInitializationCompleted(true));
1053 } 1030 }
1054 } 1031 }
1055 1032
1056 } // namespace policy 1033 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698