| OLD | NEW |
| 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/lazy_instance.h" |
| 8 #include "base/logging.h" | 9 #include "base/logging.h" |
| 9 #include "base/path_service.h" | 10 #include "base/path_service.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/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
| 16 #include "chrome/browser/policy/configuration_policy_provider.h" | 16 #include "chrome/browser/policy/configuration_policy_provider.h" |
| 17 #if defined(OS_WIN) | 17 #if defined(OS_WIN) |
| 18 #include "chrome/browser/policy/configuration_policy_provider_win.h" | 18 #include "chrome/browser/policy/configuration_policy_provider_win.h" |
| 19 #elif defined(OS_MACOSX) | 19 #elif defined(OS_MACOSX) |
| 20 #include "chrome/browser/policy/configuration_policy_provider_mac.h" | 20 #include "chrome/browser/policy/configuration_policy_provider_mac.h" |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 scoped_ptr<ConfigurationPolicyProvider> device_management_provider_; | 61 scoped_ptr<ConfigurationPolicyProvider> device_management_provider_; |
| 62 scoped_ptr<ConfigurationPolicyProvider> recommended_provider_; | 62 scoped_ptr<ConfigurationPolicyProvider> recommended_provider_; |
| 63 | 63 |
| 64 static ConfigurationPolicyProvider* CreateManagedPlatformProvider(); | 64 static ConfigurationPolicyProvider* CreateManagedPlatformProvider(); |
| 65 static ConfigurationPolicyProvider* CreateDeviceManagementProvider(); | 65 static ConfigurationPolicyProvider* CreateDeviceManagementProvider(); |
| 66 static ConfigurationPolicyProvider* CreateRecommendedProvider(); | 66 static ConfigurationPolicyProvider* CreateRecommendedProvider(); |
| 67 | 67 |
| 68 DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyProviderKeeper); | 68 DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyProviderKeeper); |
| 69 }; | 69 }; |
| 70 | 70 |
| 71 static base::LazyInstance<ConfigurationPolicyProviderKeeper> |
| 72 g_configuration_policy_provider_keeper(base::LINKER_INITIALIZED); |
| 73 |
| 71 ConfigurationPolicyProvider* | 74 ConfigurationPolicyProvider* |
| 72 ConfigurationPolicyProviderKeeper::CreateManagedPlatformProvider() { | 75 ConfigurationPolicyProviderKeeper::CreateManagedPlatformProvider() { |
| 73 const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list = | 76 const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list = |
| 74 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(); | 77 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(); |
| 75 #if defined(OS_WIN) | 78 #if defined(OS_WIN) |
| 76 return new ConfigurationPolicyProviderWin(policy_list); | 79 return new ConfigurationPolicyProviderWin(policy_list); |
| 77 #elif defined(OS_MACOSX) | 80 #elif defined(OS_MACOSX) |
| 78 return new ConfigurationPolicyProviderMac(policy_list); | 81 return new ConfigurationPolicyProviderMac(policy_list); |
| 79 #elif defined(OS_POSIX) | 82 #elif defined(OS_POSIX) |
| 80 FilePath config_dir_path; | 83 FilePath config_dir_path; |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 return; | 360 return; |
| 358 | 361 |
| 359 // Other policy implementations go here. | 362 // Other policy implementations go here. |
| 360 NOTIMPLEMENTED(); | 363 NOTIMPLEMENTED(); |
| 361 delete value; | 364 delete value; |
| 362 } | 365 } |
| 363 | 366 |
| 364 // static | 367 // static |
| 365 ConfigurationPolicyPrefStore* | 368 ConfigurationPolicyPrefStore* |
| 366 ConfigurationPolicyPrefStore::CreateManagedPlatformPolicyPrefStore() { | 369 ConfigurationPolicyPrefStore::CreateManagedPlatformPolicyPrefStore() { |
| 367 ConfigurationPolicyProviderKeeper* keeper = | 370 return new ConfigurationPolicyPrefStore( |
| 368 Singleton<ConfigurationPolicyProviderKeeper>::get(); | 371 g_configuration_policy_provider_keeper.Get().managed_platform_provider()); |
| 369 return new ConfigurationPolicyPrefStore(keeper->managed_platform_provider()); | |
| 370 } | 372 } |
| 371 | 373 |
| 372 // static | 374 // static |
| 373 ConfigurationPolicyPrefStore* | 375 ConfigurationPolicyPrefStore* |
| 374 ConfigurationPolicyPrefStore::CreateDeviceManagementPolicyPrefStore( | 376 ConfigurationPolicyPrefStore::CreateDeviceManagementPolicyPrefStore( |
| 375 Profile* profile) { | 377 Profile* profile) { |
| 376 ConfigurationPolicyProviderKeeper* keeper = | 378 ConfigurationPolicyProviderKeeper* keeper = |
| 377 Singleton<ConfigurationPolicyProviderKeeper>::get(); | 379 g_configuration_policy_provider_keeper.Pointer(); |
| 378 ConfigurationPolicyProvider* provider = NULL; | 380 ConfigurationPolicyProvider* provider = NULL; |
| 379 if (profile) | 381 if (profile) |
| 380 provider = profile->GetPolicyContext()->GetDeviceManagementPolicyProvider(); | 382 provider = profile->GetPolicyContext()->GetDeviceManagementPolicyProvider(); |
| 381 if (!provider) | 383 if (!provider) |
| 382 provider = keeper->device_management_provider(); | 384 provider = keeper->device_management_provider(); |
| 383 return new ConfigurationPolicyPrefStore(provider); | 385 return new ConfigurationPolicyPrefStore(provider); |
| 384 } | 386 } |
| 385 | 387 |
| 386 // static | 388 // static |
| 387 ConfigurationPolicyPrefStore* | 389 ConfigurationPolicyPrefStore* |
| 388 ConfigurationPolicyPrefStore::CreateRecommendedPolicyPrefStore() { | 390 ConfigurationPolicyPrefStore::CreateRecommendedPolicyPrefStore() { |
| 389 ConfigurationPolicyProviderKeeper* keeper = | 391 return new ConfigurationPolicyPrefStore( |
| 390 Singleton<ConfigurationPolicyProviderKeeper>::get(); | 392 g_configuration_policy_provider_keeper.Get().recommended_provider()); |
| 391 return new ConfigurationPolicyPrefStore(keeper->recommended_provider()); | |
| 392 } | 393 } |
| 393 | 394 |
| 394 // static | 395 // static |
| 395 void ConfigurationPolicyPrefStore::GetProxyPreferenceSet( | 396 void ConfigurationPolicyPrefStore::GetProxyPreferenceSet( |
| 396 ProxyPreferenceSet* proxy_pref_set) { | 397 ProxyPreferenceSet* proxy_pref_set) { |
| 397 proxy_pref_set->clear(); | 398 proxy_pref_set->clear(); |
| 398 for (size_t current = 0; current < arraysize(kProxyPolicyMap); ++current) { | 399 for (size_t current = 0; current < arraysize(kProxyPolicyMap); ++current) { |
| 399 proxy_pref_set->insert(kProxyPolicyMap[current].preference_path); | 400 proxy_pref_set->insert(kProxyPolicyMap[current].preference_path); |
| 400 } | 401 } |
| 401 proxy_pref_set->insert(prefs::kNoProxyServer); | 402 proxy_pref_set->insert(prefs::kNoProxyServer); |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 645 std::string()); | 646 std::string()); |
| 646 return; | 647 return; |
| 647 } | 648 } |
| 648 } | 649 } |
| 649 // Required entries are not there. Remove any related entries. | 650 // Required entries are not there. Remove any related entries. |
| 650 RemovePreferencesOfMap(kDefaultSearchPolicyMap, | 651 RemovePreferencesOfMap(kDefaultSearchPolicyMap, |
| 651 arraysize(kDefaultSearchPolicyMap)); | 652 arraysize(kDefaultSearchPolicyMap)); |
| 652 } | 653 } |
| 653 | 654 |
| 654 } // namespace policy | 655 } // namespace policy |
| OLD | NEW |