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

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

Issue 5711001: Add a new GetInstance() method for remaining files with singleton classes under chrome/browser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 10 years 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/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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698