OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/omnibox/omnibox_api.h" | 5 #include "chrome/browser/extensions/api/omnibox/omnibox_api.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 pending_extensions_.clear(); | 277 pending_extensions_.clear(); |
278 } | 278 } |
279 | 279 |
280 template <> | 280 template <> |
281 void BrowserContextKeyedAPIFactory<OmniboxAPI>::DeclareFactoryDependencies() { | 281 void BrowserContextKeyedAPIFactory<OmniboxAPI>::DeclareFactoryDependencies() { |
282 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); | 282 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); |
283 DependsOn(ExtensionPrefsFactory::GetInstance()); | 283 DependsOn(ExtensionPrefsFactory::GetInstance()); |
284 DependsOn(TemplateURLServiceFactory::GetInstance()); | 284 DependsOn(TemplateURLServiceFactory::GetInstance()); |
285 } | 285 } |
286 | 286 |
287 bool OmniboxSendSuggestionsFunction::RunSync() { | 287 ExtensionFunction::ResponseAction OmniboxSendSuggestionsFunction::Run() { |
288 std::unique_ptr<SendSuggestions::Params> params( | 288 std::unique_ptr<SendSuggestions::Params> params( |
289 SendSuggestions::Params::Create(*args_)); | 289 SendSuggestions::Params::Create(*args_)); |
290 EXTENSION_FUNCTION_VALIDATE(params); | 290 EXTENSION_FUNCTION_VALIDATE(params); |
291 | 291 |
292 content::NotificationService::current()->Notify( | 292 content::NotificationService::current()->Notify( |
293 extensions::NOTIFICATION_EXTENSION_OMNIBOX_SUGGESTIONS_READY, | 293 extensions::NOTIFICATION_EXTENSION_OMNIBOX_SUGGESTIONS_READY, |
294 content::Source<Profile>(GetProfile()->GetOriginalProfile()), | 294 content::Source<Profile>( |
| 295 Profile::FromBrowserContext(browser_context())->GetOriginalProfile()), |
295 content::Details<SendSuggestions::Params>(params.get())); | 296 content::Details<SendSuggestions::Params>(params.get())); |
296 | 297 |
297 return true; | 298 return RespondNow(NoArguments()); |
298 } | 299 } |
299 | 300 |
300 bool OmniboxSetDefaultSuggestionFunction::RunSync() { | 301 ExtensionFunction::ResponseAction OmniboxSetDefaultSuggestionFunction::Run() { |
301 std::unique_ptr<SetDefaultSuggestion::Params> params( | 302 std::unique_ptr<SetDefaultSuggestion::Params> params( |
302 SetDefaultSuggestion::Params::Create(*args_)); | 303 SetDefaultSuggestion::Params::Create(*args_)); |
303 EXTENSION_FUNCTION_VALIDATE(params); | 304 EXTENSION_FUNCTION_VALIDATE(params); |
304 | 305 |
305 if (SetOmniboxDefaultSuggestion( | 306 Profile* profile = Profile::FromBrowserContext(browser_context()); |
306 GetProfile(), extension_id(), params->suggestion)) { | 307 if (SetOmniboxDefaultSuggestion(profile, extension_id(), |
| 308 params->suggestion)) { |
307 content::NotificationService::current()->Notify( | 309 content::NotificationService::current()->Notify( |
308 extensions::NOTIFICATION_EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED, | 310 extensions::NOTIFICATION_EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED, |
309 content::Source<Profile>(GetProfile()->GetOriginalProfile()), | 311 content::Source<Profile>(profile->GetOriginalProfile()), |
310 content::NotificationService::NoDetails()); | 312 content::NotificationService::NoDetails()); |
311 } | 313 } |
312 | 314 |
313 return true; | 315 return RespondNow(NoArguments()); |
314 } | 316 } |
315 | 317 |
316 // This function converts style information populated by the JSON schema | 318 // This function converts style information populated by the JSON schema |
317 // compiler into an ACMatchClassifications object. | 319 // compiler into an ACMatchClassifications object. |
318 ACMatchClassifications StyleTypesToACMatchClassifications( | 320 ACMatchClassifications StyleTypesToACMatchClassifications( |
319 const omnibox::SuggestResult &suggestion) { | 321 const omnibox::SuggestResult &suggestion) { |
320 ACMatchClassifications match_classifications; | 322 ACMatchClassifications match_classifications; |
321 if (suggestion.description_styles) { | 323 if (suggestion.description_styles) { |
322 base::string16 description = base::UTF8ToUTF16(suggestion.description); | 324 base::string16 description = base::UTF8ToUTF16(suggestion.description); |
323 std::vector<int> styles(description.length(), 0); | 325 std::vector<int> styles(description.length(), 0); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
393 for (size_t i = 0; i < description_styles.size(); ++i) { | 395 for (size_t i = 0; i < description_styles.size(); ++i) { |
394 if (description_styles[i].offset > placeholder) | 396 if (description_styles[i].offset > placeholder) |
395 description_styles[i].offset += replacement.length() - 2; | 397 description_styles[i].offset += replacement.length() - 2; |
396 } | 398 } |
397 } | 399 } |
398 | 400 |
399 match->contents.assign(description); | 401 match->contents.assign(description); |
400 } | 402 } |
401 | 403 |
402 } // namespace extensions | 404 } // namespace extensions |
OLD | NEW |