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/settings_overrides/settings_overrides_ap
i.h" | 5 #include "chrome/browser/extensions/api/settings_overrides/settings_overrides_ap
i.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
| 11 #include "base/memory/ptr_util.h" |
11 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
12 #include "chrome/browser/extensions/api/preference/preference_api.h" | 13 #include "chrome/browser/extensions/api/preference/preference_api.h" |
13 #include "chrome/browser/prefs/session_startup_pref.h" | 14 #include "chrome/browser/prefs/session_startup_pref.h" |
14 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
15 #include "chrome/browser/search_engines/template_url_service_factory.h" | 16 #include "chrome/browser/search_engines/template_url_service_factory.h" |
16 #include "chrome/common/extensions/manifest_handlers/settings_overrides_handler.
h" | 17 #include "chrome/common/extensions/manifest_handlers/settings_overrides_handler.
h" |
17 #include "chrome/common/pref_names.h" | 18 #include "chrome/common/pref_names.h" |
18 #include "components/search_engines/search_engines_pref_names.h" | 19 #include "components/search_engines/search_engines_pref_names.h" |
19 #include "components/search_engines/template_url.h" | 20 #include "components/search_engines/template_url.h" |
20 #include "components/search_engines/template_url_prepopulate_data.h" | 21 #include "components/search_engines/template_url_prepopulate_data.h" |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> info( | 271 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> info( |
271 new TemplateURL::AssociatedExtensionInfo( | 272 new TemplateURL::AssociatedExtensionInfo( |
272 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, extension->id())); | 273 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, extension->id())); |
273 info->wants_to_be_default_engine = settings->search_engine->is_default; | 274 info->wants_to_be_default_engine = settings->search_engine->is_default; |
274 ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_); | 275 ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_); |
275 info->install_time = prefs->GetInstallTime(extension->id()); | 276 info->install_time = prefs->GetInstallTime(extension->id()); |
276 std::string install_parameter = prefs->GetInstallParam(extension->id()); | 277 std::string install_parameter = prefs->GetInstallParam(extension->id()); |
277 TemplateURLData data = ConvertSearchProvider( | 278 TemplateURLData data = ConvertSearchProvider( |
278 profile_->GetPrefs(), *settings->search_engine, install_parameter); | 279 profile_->GetPrefs(), *settings->search_engine, install_parameter); |
279 data.show_in_default_list = info->wants_to_be_default_engine; | 280 data.show_in_default_list = info->wants_to_be_default_engine; |
280 url_service_->AddExtensionControlledTURL(new TemplateURL(data), | 281 url_service_->AddExtensionControlledTURL(base::MakeUnique<TemplateURL>(data), |
281 std::move(info)); | 282 std::move(info)); |
282 } | 283 } |
283 | 284 |
284 template <> | 285 template <> |
285 void BrowserContextKeyedAPIFactory< | 286 void BrowserContextKeyedAPIFactory< |
286 SettingsOverridesAPI>::DeclareFactoryDependencies() { | 287 SettingsOverridesAPI>::DeclareFactoryDependencies() { |
287 DependsOn(ExtensionPrefsFactory::GetInstance()); | 288 DependsOn(ExtensionPrefsFactory::GetInstance()); |
288 DependsOn(PreferenceAPI::GetFactoryInstance()); | 289 DependsOn(PreferenceAPI::GetFactoryInstance()); |
289 DependsOn(TemplateURLServiceFactory::GetInstance()); | 290 DependsOn(TemplateURLServiceFactory::GetInstance()); |
290 } | 291 } |
291 | 292 |
292 } // namespace extensions | 293 } // namespace extensions |
OLD | NEW |