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

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

Issue 6312121: Add initial device policy infrastructure. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: cleanup/compile fixes. Created 9 years, 10 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_context.h"
21 #include "chrome/browser/policy/configuration_policy_provider.h" 22 #include "chrome/browser/policy/configuration_policy_provider.h"
22 #include "chrome/browser/policy/configuration_policy_provider_keeper.h"
23 #include "chrome/browser/policy/device_management_policy_provider.h"
24 #include "chrome/browser/policy/profile_policy_context.h" 23 #include "chrome/browser/policy/profile_policy_context.h"
25 #include "chrome/browser/prefs/pref_value_map.h" 24 #include "chrome/browser/prefs/pref_value_map.h"
26 #include "chrome/browser/prefs/proxy_prefs.h" 25 #include "chrome/browser/prefs/proxy_prefs.h"
27 #include "chrome/browser/profiles/profile.h" 26 #include "chrome/browser/profiles/profile.h"
28 #include "chrome/browser/search_engines/search_terms_data.h" 27 #include "chrome/browser/search_engines/search_terms_data.h"
29 #include "chrome/browser/search_engines/template_url.h" 28 #include "chrome/browser/search_engines/template_url.h"
30 #include "chrome/common/notification_service.h" 29 #include "chrome/common/notification_service.h"
31 #include "chrome/common/pref_names.h" 30 #include "chrome/common/pref_names.h"
32 #include "policy/policy_constants.h" 31 #include "policy/policy_constants.h"
33 32
(...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 Refresh(); 722 Refresh();
724 } 723 }
725 724
726 void ConfigurationPolicyPrefStore::OnProviderGoingAway() { 725 void ConfigurationPolicyPrefStore::OnProviderGoingAway() {
727 provider_ = NULL; 726 provider_ = NULL;
728 } 727 }
729 728
730 // static 729 // static
731 ConfigurationPolicyPrefStore* 730 ConfigurationPolicyPrefStore*
732 ConfigurationPolicyPrefStore::CreateManagedPlatformPolicyPrefStore() { 731 ConfigurationPolicyPrefStore::CreateManagedPlatformPolicyPrefStore() {
733 ConfigurationPolicyProviderKeeper* keeper = 732 BrowserPolicyContext* context = g_browser_process->browser_policy_context();
734 g_browser_process->configuration_policy_provider_keeper(); 733 return new ConfigurationPolicyPrefStore(
735 return new ConfigurationPolicyPrefStore(keeper->managed_platform_provider()); 734 context->GetManagedPlatformProvider());
danno 2011/02/04 16:01:33 indentation
Jakob Kummerow 2011/02/14 13:50:34 Done.
736 } 735 }
737 736
738 // static 737 // static
739 ConfigurationPolicyPrefStore* 738 ConfigurationPolicyPrefStore*
740 ConfigurationPolicyPrefStore::CreateManagedCloudPolicyPrefStore( 739 ConfigurationPolicyPrefStore::CreateManagedCloudPolicyPrefStore(
741 Profile* profile) { 740 Profile* profile) {
742 return new ConfigurationPolicyPrefStore( 741 ConfigurationPolicyProvider* provider = NULL;
743 profile->GetPolicyContext()->GetDeviceManagementPolicyProvider()); 742 if (profile)
743 provider = profile->GetPolicyContext()->GetManagedPolicyProvider();
744 if (!provider) {
745 BrowserPolicyContext* context = g_browser_process->browser_policy_context();
746 provider = context->GetManagedCloudProvider();
747 }
748 return new ConfigurationPolicyPrefStore(provider);
744 } 749 }
745 750
746 // static 751 // static
747 ConfigurationPolicyPrefStore* 752 ConfigurationPolicyPrefStore*
748 ConfigurationPolicyPrefStore::CreateRecommendedPlatformPolicyPrefStore() { 753 ConfigurationPolicyPrefStore::CreateRecommendedPlatformPolicyPrefStore() {
749 ConfigurationPolicyProviderKeeper* keeper = 754 BrowserPolicyContext* context = g_browser_process->browser_policy_context();
750 g_browser_process->configuration_policy_provider_keeper(); 755 return new ConfigurationPolicyPrefStore(
751 return new ConfigurationPolicyPrefStore(keeper->recommended_provider()); 756 context->GetRecommendedPlatformProvider());
danno 2011/02/04 16:01:33 indentation
Jakob Kummerow 2011/02/14 13:50:34 Done.
752 } 757 }
753 758
754 // static 759 // static
755 ConfigurationPolicyPrefStore* 760 ConfigurationPolicyPrefStore*
756 ConfigurationPolicyPrefStore::CreateRecommendedCloudPolicyPrefStore( 761 ConfigurationPolicyPrefStore::CreateRecommendedCloudPolicyPrefStore(
757 Profile* profile) { 762 Profile* profile) {
758 return new ConfigurationPolicyPrefStore(NULL); 763 ConfigurationPolicyProvider* provider = NULL;
764 if (profile)
765 provider = profile->GetPolicyContext()->GetRecommendedPolicyProvider();
766 if (!provider) {
767 BrowserPolicyContext* context = g_browser_process->browser_policy_context();
768 provider = context->GetRecommendedCloudProvider();
769 }
770 return new ConfigurationPolicyPrefStore(provider);
759 } 771 }
760 772
761 /* static */ 773 /* static */
762 const ConfigurationPolicyProvider::PolicyDefinitionList* 774 const ConfigurationPolicyProvider::PolicyDefinitionList*
763 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList() { 775 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList() {
764 static ConfigurationPolicyProvider::PolicyDefinitionList::Entry entries[] = { 776 static ConfigurationPolicyProvider::PolicyDefinitionList::Entry entries[] = {
765 { kPolicyHomepageLocation, Value::TYPE_STRING, key::kHomepageLocation }, 777 { kPolicyHomepageLocation, Value::TYPE_STRING, key::kHomepageLocation },
766 { kPolicyHomepageIsNewTabPage, Value::TYPE_BOOLEAN, 778 { kPolicyHomepageIsNewTabPage, Value::TYPE_BOOLEAN,
767 key::kHomepageIsNewTabPage }, 779 key::kHomepageIsNewTabPage },
768 { kPolicyRestoreOnStartup, Value::TYPE_INTEGER, key::kRestoreOnStartup }, 780 { kPolicyRestoreOnStartup, Value::TYPE_INTEGER, key::kRestoreOnStartup },
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
895 // Update the initialization flag. 907 // Update the initialization flag.
896 if (!initialization_complete_ && 908 if (!initialization_complete_ &&
897 provider_->IsInitializationComplete()) { 909 provider_->IsInitializationComplete()) {
898 initialization_complete_ = true; 910 initialization_complete_ = true;
899 FOR_EACH_OBSERVER(PrefStore::Observer, observers_, 911 FOR_EACH_OBSERVER(PrefStore::Observer, observers_,
900 OnInitializationCompleted()); 912 OnInitializationCompleted());
901 } 913 }
902 } 914 }
903 915
904 } // namespace policy 916 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698