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

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

Issue 5174006: Move DeviceManagementPolicyProvider into the profile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address feedback. Created 10 years, 1 month 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "base/singleton.h" 10 #include "base/singleton.h"
11 #include "base/string16.h" 11 #include "base/string16.h"
12 #include "base/string_util.h" 12 #include "base/string_util.h"
13 #include "base/utf_string_conversions.h" 13 #include "base/utf_string_conversions.h"
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "chrome/browser/profile.h"
15 #include "chrome/browser/policy/configuration_policy_provider.h" 16 #include "chrome/browser/policy/configuration_policy_provider.h"
16 #if defined(OS_WIN) 17 #if defined(OS_WIN)
17 #include "chrome/browser/policy/configuration_policy_provider_win.h" 18 #include "chrome/browser/policy/configuration_policy_provider_win.h"
18 #elif defined(OS_MACOSX) 19 #elif defined(OS_MACOSX)
19 #include "chrome/browser/policy/configuration_policy_provider_mac.h" 20 #include "chrome/browser/policy/configuration_policy_provider_mac.h"
20 #elif defined(OS_POSIX) 21 #elif defined(OS_POSIX)
21 #include "chrome/browser/policy/config_dir_policy_provider.h" 22 #include "chrome/browser/policy/config_dir_policy_provider.h"
22 #endif 23 #endif
23 #include "chrome/browser/policy/device_management_policy_provider.h" 24 #include "chrome/browser/policy/device_management_policy_provider.h"
24 #include "chrome/browser/policy/dummy_configuration_policy_provider.h" 25 #include "chrome/browser/policy/dummy_configuration_policy_provider.h"
(...skipping 18 matching lines...) Expand all
43 virtual ~ConfigurationPolicyProviderKeeper() {} 44 virtual ~ConfigurationPolicyProviderKeeper() {}
44 45
45 ConfigurationPolicyProvider* managed_platform_provider() const { 46 ConfigurationPolicyProvider* managed_platform_provider() const {
46 return managed_platform_provider_.get(); 47 return managed_platform_provider_.get();
47 } 48 }
48 49
49 ConfigurationPolicyProvider* device_management_provider() const { 50 ConfigurationPolicyProvider* device_management_provider() const {
50 return device_management_provider_.get(); 51 return device_management_provider_.get();
51 } 52 }
52 53
53 ConfigurationPolicyProvider* recommended_provider() const { 54 ConfigurationPolicyProvider* recommended_provider() const {
54 return recommended_provider_.get(); 55 return recommended_provider_.get();
55 } 56 }
56 57
57 private: 58 private:
58 scoped_ptr<ConfigurationPolicyProvider> managed_platform_provider_; 59 scoped_ptr<ConfigurationPolicyProvider> managed_platform_provider_;
59 scoped_ptr<ConfigurationPolicyProvider> device_management_provider_; 60 scoped_ptr<ConfigurationPolicyProvider> device_management_provider_;
60 scoped_ptr<ConfigurationPolicyProvider> recommended_provider_; 61 scoped_ptr<ConfigurationPolicyProvider> recommended_provider_;
61 62
62 static ConfigurationPolicyProvider* CreateManagedPlatformProvider(); 63 static ConfigurationPolicyProvider* CreateManagedPlatformProvider();
63 static ConfigurationPolicyProvider* CreateDeviceManagementProvider(); 64 static ConfigurationPolicyProvider* CreateDeviceManagementProvider();
64 static ConfigurationPolicyProvider* CreateRecommendedProvider(); 65 static ConfigurationPolicyProvider* CreateRecommendedProvider();
65 66
66 DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyProviderKeeper); 67 DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyProviderKeeper);
67 }; 68 };
68 69
69
70 ConfigurationPolicyProvider*
71 ConfigurationPolicyProviderKeeper::CreateDeviceManagementProvider() {
72 const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list =
73 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList();
74 if (CommandLine::ForCurrentProcess()->HasSwitch(
75 switches::kDeviceManagementUrl)) {
76 return new DeviceManagementPolicyProvider(policy_list);
77 } else {
78 return new DummyConfigurationPolicyProvider(policy_list);
79 }
80 }
81
82 ConfigurationPolicyProvider* 70 ConfigurationPolicyProvider*
83 ConfigurationPolicyProviderKeeper::CreateManagedPlatformProvider() { 71 ConfigurationPolicyProviderKeeper::CreateManagedPlatformProvider() {
84 const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list = 72 const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list =
85 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(); 73 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList();
86 #if defined(OS_WIN) 74 #if defined(OS_WIN)
87 return new ConfigurationPolicyProviderWin(policy_list); 75 return new ConfigurationPolicyProviderWin(policy_list);
88 #elif defined(OS_MACOSX) 76 #elif defined(OS_MACOSX)
89 return new ConfigurationPolicyProviderMac(policy_list); 77 return new ConfigurationPolicyProviderMac(policy_list);
90 #elif defined(OS_POSIX) 78 #elif defined(OS_POSIX)
91 FilePath config_dir_path; 79 FilePath config_dir_path;
92 if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) { 80 if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) {
93 return new ConfigDirPolicyProvider( 81 return new ConfigDirPolicyProvider(
94 policy_list, 82 policy_list,
95 config_dir_path.Append(FILE_PATH_LITERAL("managed"))); 83 config_dir_path.Append(FILE_PATH_LITERAL("managed")));
96 } else { 84 } else {
97 return new DummyConfigurationPolicyProvider(policy_list); 85 return new DummyConfigurationPolicyProvider(policy_list);
98 } 86 }
99 #else 87 #else
100 return new DummyConfigurationPolicyProvider(policy_list); 88 return new DummyConfigurationPolicyProvider(policy_list);
101 #endif 89 #endif
102 } 90 }
103 91
104 ConfigurationPolicyProvider* 92 ConfigurationPolicyProvider*
93 ConfigurationPolicyProviderKeeper::CreateDeviceManagementProvider() {
94 return new DummyConfigurationPolicyProvider(
markusheintz_ 2010/11/18 15:42:33 Do you really want to create a DummyConfigurationP
Mattias Nissler (ping if slow) 2010/11/18 16:06:38 No. The factory method (see below) will only fall
markusheintz_ 2010/11/19 11:00:46 I see. Sry I thought this was the factory method b
95 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList());
96 }
97
98 ConfigurationPolicyProvider*
105 ConfigurationPolicyProviderKeeper::CreateRecommendedProvider() { 99 ConfigurationPolicyProviderKeeper::CreateRecommendedProvider() {
106 const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list = 100 const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list =
107 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(); 101 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList();
108 #if defined(OS_POSIX) && !defined(OS_MACOSX) 102 #if defined(OS_POSIX) && !defined(OS_MACOSX)
109 FilePath config_dir_path; 103 FilePath config_dir_path;
110 if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) { 104 if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) {
111 return new ConfigDirPolicyProvider( 105 return new ConfigDirPolicyProvider(
112 policy_list, 106 policy_list,
113 config_dir_path.Append(FILE_PATH_LITERAL("recommended"))); 107 config_dir_path.Append(FILE_PATH_LITERAL("recommended")));
114 } else { 108 } else {
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 // static 361 // static
368 ConfigurationPolicyPrefStore* 362 ConfigurationPolicyPrefStore*
369 ConfigurationPolicyPrefStore::CreateManagedPlatformPolicyPrefStore() { 363 ConfigurationPolicyPrefStore::CreateManagedPlatformPolicyPrefStore() {
370 ConfigurationPolicyProviderKeeper* keeper = 364 ConfigurationPolicyProviderKeeper* keeper =
371 Singleton<ConfigurationPolicyProviderKeeper>::get(); 365 Singleton<ConfigurationPolicyProviderKeeper>::get();
372 return new ConfigurationPolicyPrefStore(keeper->managed_platform_provider()); 366 return new ConfigurationPolicyPrefStore(keeper->managed_platform_provider());
373 } 367 }
374 368
375 // static 369 // static
376 ConfigurationPolicyPrefStore* 370 ConfigurationPolicyPrefStore*
377 ConfigurationPolicyPrefStore::CreateDeviceManagementPolicyPrefStore() { 371 ConfigurationPolicyPrefStore::CreateDeviceManagementPolicyPrefStore(
372 Profile* profile) {
378 ConfigurationPolicyProviderKeeper* keeper = 373 ConfigurationPolicyProviderKeeper* keeper =
379 Singleton<ConfigurationPolicyProviderKeeper>::get(); 374 Singleton<ConfigurationPolicyProviderKeeper>::get();
380 return new ConfigurationPolicyPrefStore( 375 ConfigurationPolicyProvider* provider = NULL;
381 keeper->device_management_provider()); 376 if (profile)
377 provider = profile->GetDeviceManagementPolicyProvider();
378 if (!provider)
379 provider = keeper->device_management_provider();
380 return new ConfigurationPolicyPrefStore(provider);
382 } 381 }
383 382
384 // static 383 // static
385 ConfigurationPolicyPrefStore* 384 ConfigurationPolicyPrefStore*
386 ConfigurationPolicyPrefStore::CreateRecommendedPolicyPrefStore() { 385 ConfigurationPolicyPrefStore::CreateRecommendedPolicyPrefStore() {
387 ConfigurationPolicyProviderKeeper* keeper = 386 ConfigurationPolicyProviderKeeper* keeper =
388 Singleton<ConfigurationPolicyProviderKeeper>::get(); 387 Singleton<ConfigurationPolicyProviderKeeper>::get();
389 return new ConfigurationPolicyPrefStore(keeper->recommended_provider()); 388 return new ConfigurationPolicyPrefStore(keeper->recommended_provider());
390 } 389 }
391 390
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 std::string()); 642 std::string());
644 return; 643 return;
645 } 644 }
646 } 645 }
647 // Required entries are not there. Remove any related entries. 646 // Required entries are not there. Remove any related entries.
648 RemovePreferencesOfMap(kDefaultSearchPolicyMap, 647 RemovePreferencesOfMap(kDefaultSearchPolicyMap,
649 arraysize(kDefaultSearchPolicyMap)); 648 arraysize(kDefaultSearchPolicyMap));
650 } 649 }
651 650
652 } // namespace policy 651 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698