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 <memory> | 8 #include <memory> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 } | 221 } |
222 } | 222 } |
223 | 223 |
224 void SettingsOverridesAPI::RegisterSearchProvider( | 224 void SettingsOverridesAPI::RegisterSearchProvider( |
225 const Extension* extension) const { | 225 const Extension* extension) const { |
226 DCHECK(url_service_); | 226 DCHECK(url_service_); |
227 DCHECK(extension); | 227 DCHECK(extension); |
228 const SettingsOverrides* settings = SettingsOverrides::Get(extension); | 228 const SettingsOverrides* settings = SettingsOverrides::Get(extension); |
229 DCHECK(settings); | 229 DCHECK(settings); |
230 DCHECK(settings->search_engine); | 230 DCHECK(settings->search_engine); |
231 auto info = | |
232 base::MakeUnique<TemplateURL::AssociatedExtensionInfo>(extension->id()); | |
233 info->wants_to_be_default_engine = settings->search_engine->is_default; | |
234 | 231 |
235 ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_); | 232 ExtensionPrefs* prefs = ExtensionPrefs::Get(profile_); |
236 info->install_time = prefs->GetInstallTime(extension->id()); | |
237 std::string install_parameter = prefs->GetInstallParam(extension->id()); | 233 std::string install_parameter = prefs->GetInstallParam(extension->id()); |
238 std::unique_ptr<TemplateURLData> data = ConvertSearchProvider( | 234 std::unique_ptr<TemplateURLData> data = ConvertSearchProvider( |
239 profile_->GetPrefs(), *settings->search_engine, install_parameter); | 235 profile_->GetPrefs(), *settings->search_engine, install_parameter); |
240 auto turl = base::MakeUnique<TemplateURL>( | 236 auto turl = base::MakeUnique<TemplateURL>( |
241 *data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); | 237 *data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, extension->id(), |
| 238 prefs->GetInstallTime(extension->id()), |
| 239 settings->search_engine->is_default); |
242 | 240 |
243 url_service_->AddExtensionControlledTURL(std::move(turl), std::move(info)); | 241 url_service_->Add(std::move(turl)); |
244 | 242 |
245 if (settings->search_engine->is_default) { | 243 if (settings->search_engine->is_default) { |
246 // Override current DSE pref to have extension overriden value. | 244 // Override current DSE pref to have extension overriden value. |
247 SetPref(extension->id(), | 245 SetPref(extension->id(), |
248 DefaultSearchManager::kDefaultSearchProviderDataPrefName, | 246 DefaultSearchManager::kDefaultSearchProviderDataPrefName, |
249 TemplateURLDataToDictionary(*data)); | 247 TemplateURLDataToDictionary(*data)); |
250 } | 248 } |
251 } | 249 } |
252 | 250 |
253 template <> | 251 template <> |
254 void BrowserContextKeyedAPIFactory< | 252 void BrowserContextKeyedAPIFactory< |
255 SettingsOverridesAPI>::DeclareFactoryDependencies() { | 253 SettingsOverridesAPI>::DeclareFactoryDependencies() { |
256 DependsOn(ExtensionPrefsFactory::GetInstance()); | 254 DependsOn(ExtensionPrefsFactory::GetInstance()); |
257 DependsOn(PreferenceAPI::GetFactoryInstance()); | 255 DependsOn(PreferenceAPI::GetFactoryInstance()); |
258 DependsOn(TemplateURLServiceFactory::GetInstance()); | 256 DependsOn(TemplateURLServiceFactory::GetInstance()); |
259 } | 257 } |
260 | 258 |
261 } // namespace extensions | 259 } // namespace extensions |
OLD | NEW |