Chromium Code Reviews| Index: chrome/browser/extensions/api/omnibox/omnibox_api.cc |
| diff --git a/chrome/browser/extensions/api/omnibox/omnibox_api.cc b/chrome/browser/extensions/api/omnibox/omnibox_api.cc |
| index 55a6ee7689c27e467c7926fe35aebedbc8e0d050..ea2aa075ccc5374b0bee9c67ac9f00fe03c4b1de 100644 |
| --- a/chrome/browser/extensions/api/omnibox/omnibox_api.cc |
| +++ b/chrome/browser/extensions/api/omnibox/omnibox_api.cc |
| @@ -28,6 +28,9 @@ |
| #include "content/public/browser/notification_service.h" |
| #include "ui/gfx/image/image.h" |
| +namespace SendSuggestions = extensions::api::omnibox::SendSuggestions; |
| +namespace SetDefaultSuggestion = extensions::api::omnibox::SetDefaultSuggestion; |
| + |
| namespace events { |
| const char kOnInputStarted[] = "omnibox.onInputStarted"; |
| const char kOnInputChanged[] = "omnibox.onInputChanged"; |
| @@ -224,17 +227,20 @@ gfx::Image OmniboxAPI::GetOmniboxPopupIcon(const std::string& extension_id) { |
| bool OmniboxSendSuggestionsFunction::RunImpl() { |
| ExtensionOmniboxSuggestions suggestions; |
| - ListValue* suggestions_value; |
| - EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &suggestions.request_id)); |
| - EXTENSION_FUNCTION_VALIDATE(args_->GetList(1, &suggestions_value)); |
| + scoped_ptr<SendSuggestions::Params> params( |
| + SendSuggestions::Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params.get()); |
|
not at google - send to devlin
2013/03/11 16:32:40
just params not params.get().
Aaron Jacobs
2013/03/14 22:00:51
Done.
|
| + |
| + suggestions.request_id = params->request_id; |
| + std::vector<linked_ptr<SendSuggestions::Params::SuggestResultsType> > |
| + suggest_results = params->suggest_results; |
| - suggestions.suggestions.resize(suggestions_value->GetSize()); |
| - for (size_t i = 0; i < suggestions_value->GetSize(); ++i) { |
| + suggestions.suggestions.resize(suggest_results.size()); |
| + for (size_t i = 0; i < suggest_results.size(); ++i) { |
| ExtensionOmniboxSuggestion& suggestion = suggestions.suggestions[i]; |
|
not at google - send to devlin
2013/03/11 16:32:40
inline this
Aaron Jacobs
2013/03/14 22:00:51
Done.
|
| - DictionaryValue* suggestion_value; |
| - EXTENSION_FUNCTION_VALIDATE(suggestions_value->GetDictionary( |
| - i, &suggestion_value)); |
| - EXTENSION_FUNCTION_VALIDATE(suggestion.Populate(*suggestion_value, true)); |
| + |
| + EXTENSION_FUNCTION_VALIDATE(suggestion.Populate( |
| + suggest_results[i]->additional_properties, true)); |
| } |
| content::NotificationService::current()->Notify( |
| @@ -247,9 +253,12 @@ bool OmniboxSendSuggestionsFunction::RunImpl() { |
| bool OmniboxSetDefaultSuggestionFunction::RunImpl() { |
| ExtensionOmniboxSuggestion suggestion; |
| - DictionaryValue* suggestion_value; |
| - EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &suggestion_value)); |
| - EXTENSION_FUNCTION_VALIDATE(suggestion.Populate(*suggestion_value, false)); |
| + scoped_ptr<SetDefaultSuggestion::Params> params( |
| + SetDefaultSuggestion::Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params.get()); |
| + |
|
not at google - send to devlin
2013/03/11 16:32:40
blank line unnecessary
Aaron Jacobs
2013/03/14 22:00:51
Done.
|
| + EXTENSION_FUNCTION_VALIDATE( |
| + suggestion.PopulateFromDefaultSuggestion(params->suggestion)); |
| ExtensionPrefs* prefs = |
| ExtensionSystem::Get(profile())->extension_service()->extension_prefs(); |
| @@ -310,6 +319,17 @@ bool ExtensionOmniboxSuggestion::Populate(const base::DictionaryValue& value, |
| return true; |
| } |
| +bool ExtensionOmniboxSuggestion::PopulateFromDefaultSuggestion( |
| + const SetDefaultSuggestion::Params::Suggestion& suggestion) { |
| + description_styles.clear(); |
| + description_styles.push_back( |
| + ACMatchClassification(0, ACMatchClassification::NONE)); |
| + |
| + description = UTF8ToUTF16(suggestion.description); |
| + |
|
not at google - send to devlin
2013/03/11 16:32:40
blank lines unecessary
Aaron Jacobs
2013/03/14 22:00:51
Done.
|
| + return true; |
| +} |
| + |
| bool ExtensionOmniboxSuggestion::ReadStylesFromValue( |
| const ListValue& styles_value) { |
| description_styles.clear(); |