| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/extensions/api/preference/chrome_direct_setting_api.h" | 5 #include "chrome/browser/extensions/api/preference/chrome_direct_setting_api.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/containers/hash_tables.h" | 8 #include "base/containers/hash_tables.h" |
| 9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
| 10 #include "base/prefs/pref_change_registrar.h" | 10 #include "base/prefs/pref_change_registrar.h" |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 | 68 |
| 69 DISALLOW_COPY_AND_ASSIGN(PreferenceWhitelist); | 69 DISALLOW_COPY_AND_ASSIGN(PreferenceWhitelist); |
| 70 }; | 70 }; |
| 71 | 71 |
| 72 base::LazyInstance<PreferenceWhitelist> preference_whitelist = | 72 base::LazyInstance<PreferenceWhitelist> preference_whitelist = |
| 73 LAZY_INSTANCE_INITIALIZER; | 73 LAZY_INSTANCE_INITIALIZER; |
| 74 | 74 |
| 75 static base::LazyInstance<ProfileKeyedAPIFactory<ChromeDirectSettingAPI> > | 75 static base::LazyInstance<ProfileKeyedAPIFactory<ChromeDirectSettingAPI> > |
| 76 g_factory = LAZY_INSTANCE_INITIALIZER; | 76 g_factory = LAZY_INSTANCE_INITIALIZER; |
| 77 | 77 |
| 78 ChromeDirectSettingAPI::ChromeDirectSettingAPI(Profile* profile) | 78 ChromeDirectSettingAPI::ChromeDirectSettingAPI(content::BrowserContext* context) |
| 79 : profile_(profile) { | 79 : profile_(Profile::FromBrowserContext(context)) { |
| 80 preference_whitelist.Get().RegisterEventListeners(profile, this); | 80 preference_whitelist.Get().RegisterEventListeners(profile_, this); |
| 81 } | 81 } |
| 82 | 82 |
| 83 ChromeDirectSettingAPI::~ChromeDirectSettingAPI() {} | 83 ChromeDirectSettingAPI::~ChromeDirectSettingAPI() {} |
| 84 | 84 |
| 85 // BrowserContextKeyedService implementation. | 85 // BrowserContextKeyedService implementation. |
| 86 void ChromeDirectSettingAPI::Shutdown() {} | 86 void ChromeDirectSettingAPI::Shutdown() {} |
| 87 | 87 |
| 88 // ProfileKeyedAPI implementation. | 88 // ProfileKeyedAPI implementation. |
| 89 ProfileKeyedAPIFactory<ChromeDirectSettingAPI>* | 89 ProfileKeyedAPIFactory<ChromeDirectSettingAPI>* |
| 90 ChromeDirectSettingAPI::GetFactoryInstance() { | 90 ChromeDirectSettingAPI::GetFactoryInstance() { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 101 base::Bind(&ChromeDirectSettingAPI::OnPrefChanged, | 101 base::Bind(&ChromeDirectSettingAPI::OnPrefChanged, |
| 102 base::Unretained(this), | 102 base::Unretained(this), |
| 103 registrar_.prefs())); | 103 registrar_.prefs())); |
| 104 } | 104 } |
| 105 | 105 |
| 106 bool ChromeDirectSettingAPI::IsPreferenceOnWhitelist( | 106 bool ChromeDirectSettingAPI::IsPreferenceOnWhitelist( |
| 107 const std::string& pref_key) { | 107 const std::string& pref_key) { |
| 108 return preference_whitelist.Get().IsPreferenceOnWhitelist(pref_key); | 108 return preference_whitelist.Get().IsPreferenceOnWhitelist(pref_key); |
| 109 } | 109 } |
| 110 | 110 |
| 111 ChromeDirectSettingAPI* ChromeDirectSettingAPI::Get(Profile* profile) { | 111 ChromeDirectSettingAPI* ChromeDirectSettingAPI::Get( |
| 112 return | 112 content::BrowserContext* context) { |
| 113 ProfileKeyedAPIFactory<ChromeDirectSettingAPI>::GetForProfile(profile); | 113 return ProfileKeyedAPIFactory<ChromeDirectSettingAPI>::GetForProfile(context); |
| 114 } | 114 } |
| 115 | 115 |
| 116 // ProfileKeyedAPI implementation. | 116 // ProfileKeyedAPI implementation. |
| 117 const char* ChromeDirectSettingAPI::service_name() { | 117 const char* ChromeDirectSettingAPI::service_name() { |
| 118 return "ChromeDirectSettingAPI"; | 118 return "ChromeDirectSettingAPI"; |
| 119 } | 119 } |
| 120 | 120 |
| 121 void ChromeDirectSettingAPI::OnPrefChanged( | 121 void ChromeDirectSettingAPI::OnPrefChanged( |
| 122 PrefService* pref_service, const std::string& pref_key) { | 122 PrefService* pref_service, const std::string& pref_key) { |
| 123 std::string event_name = base::StringPrintf(kOnPrefChangeFormat, | 123 std::string event_name = base::StringPrintf(kOnPrefChangeFormat, |
| (...skipping 21 matching lines...) Expand all Loading... |
| 145 scoped_ptr<Event> event(new Event(event_name, args_copy.Pass())); | 145 scoped_ptr<Event> event(new Event(event_name, args_copy.Pass())); |
| 146 router->DispatchEventToExtension(extension_id, event.Pass()); | 146 router->DispatchEventToExtension(extension_id, event.Pass()); |
| 147 } | 147 } |
| 148 } | 148 } |
| 149 } | 149 } |
| 150 } | 150 } |
| 151 } | 151 } |
| 152 | 152 |
| 153 } // namespace chromedirectsetting | 153 } // namespace chromedirectsetting |
| 154 } // namespace extensions | 154 } // namespace extensions |
| OLD | NEW |