Chromium Code Reviews| Index: chrome/browser/ui/webui/omnibox/omnibox_ui_handler.cc |
| diff --git a/chrome/browser/ui/webui/omnibox/omnibox_ui_handler.cc b/chrome/browser/ui/webui/omnibox/omnibox_ui_handler.cc |
| index facaecf8c051486aa73d4435170ba3efb808eb7e..26f9aa745e5828231b102e4ba3c6b1bc39bb37d3 100644 |
| --- a/chrome/browser/ui/webui/omnibox/omnibox_ui_handler.cc |
| +++ b/chrome/browser/ui/webui/omnibox/omnibox_ui_handler.cc |
| @@ -24,89 +24,85 @@ |
| #include "chrome/browser/search_engines/template_url.h" |
| #include "content/public/browser/web_ui.h" |
| #include "mojo/common/common_type_converters.h" |
| -#include "mojo/public/cpp/bindings/allocation_scope.h" |
| namespace mojo { |
| template <> |
| -class TypeConverter<mojo::Array<AutocompleteAdditionalInfo>, |
| +class TypeConverter<mojo::Array<AutocompleteAdditionalInfoPtr>, |
| AutocompleteMatch::AdditionalInfo> { |
| public: |
| - static mojo::Array<AutocompleteAdditionalInfo> ConvertFrom( |
| - const AutocompleteMatch::AdditionalInfo& input, |
| - Buffer* buf) { |
| - mojo::Array<AutocompleteAdditionalInfo>::Builder array_builder( |
| - input.size(), buf); |
| + static mojo::Array<AutocompleteAdditionalInfoPtr> ConvertFrom( |
| + const AutocompleteMatch::AdditionalInfo& input) { |
| + mojo::Array<AutocompleteAdditionalInfoPtr> array(input.size()); |
| size_t index = 0; |
| for (AutocompleteMatch::AdditionalInfo::const_iterator i = input.begin(); |
| i != input.end(); ++i, index++) { |
| - AutocompleteAdditionalInfo::Builder item_builder(buf); |
| - item_builder.set_key(i->first); |
| - item_builder.set_value(i->second); |
| - array_builder[index] = item_builder.Finish(); |
| + AutocompleteAdditionalInfoPtr item(AutocompleteAdditionalInfo::New()); |
|
sky
2014/05/22 14:12:05
It's too bad the empty constructor can't create th
|
| + item->key = mojo::String::From(i->first); |
|
sky
2014/05/22 14:12:05
I like the old in this case. How come mojo::String
|
| + item->value = mojo::String::From(i->second); |
| + array[index] = item.Pass(); |
| } |
| - return array_builder.Finish(); |
| + return array.Pass(); |
| } |
| - |
| - MOJO_ALLOW_IMPLICIT_TYPE_CONVERSION(); |
| }; |
| template <> |
| -class TypeConverter<AutocompleteMatchMojo, AutocompleteMatch> { |
| +class TypeConverter<AutocompleteMatchMojoPtr, AutocompleteMatch> { |
| public: |
| - static AutocompleteMatchMojo ConvertFrom(const AutocompleteMatch& input, |
| - Buffer* buf) { |
| - AutocompleteMatchMojo::Builder builder(buf); |
| + static AutocompleteMatchMojoPtr ConvertFrom(const AutocompleteMatch& input) { |
| + AutocompleteMatchMojoPtr result(AutocompleteMatchMojo::New()); |
| if (input.provider != NULL) { |
| - builder.set_provider_name(input.provider->GetName()); |
| - builder.set_provider_done(input.provider->done()); |
| + result->provider_name = mojo::String::From(input.provider->GetName()); |
| + result->provider_done = input.provider->done(); |
| } |
| - builder.set_relevance(input.relevance); |
| - builder.set_deletable(input.deletable); |
| - builder.set_fill_into_edit(input.fill_into_edit); |
| - builder.set_inline_autocompletion(input.inline_autocompletion); |
| - builder.set_destination_url(input.destination_url.spec()); |
| - builder.set_contents(input.contents); |
| + result->relevance = input.relevance; |
| + result->deletable = input.deletable; |
| + result->fill_into_edit = mojo::String::From(input.fill_into_edit); |
| + result->inline_autocompletion = |
| + mojo::String::From(input.inline_autocompletion); |
| + result->destination_url = mojo::String::From(input.destination_url.spec()); |
| + result->contents = mojo::String::From(input.contents); |
| // At this time, we're not bothering to send along the long vector that |
| // represent contents classification. i.e., for each character, what |
| // type of text it is. |
| - builder.set_description(input.description); |
| + result->description = mojo::String::From(input.description); |
| // At this time, we're not bothering to send along the long vector that |
| // represents description classification. i.e., for each character, what |
| // type of text it is. |
| - builder.set_transition(input.transition); |
| - builder.set_is_history_what_you_typed_match( |
| - input.is_history_what_you_typed_match); |
| - builder.set_allowed_to_be_default_match(input.allowed_to_be_default_match); |
| - builder.set_type(AutocompleteMatchType::ToString(input.type)); |
| - if (input.associated_keyword.get() != NULL) |
| - builder.set_associated_keyword(input.associated_keyword->keyword); |
| - builder.set_keyword(input.keyword); |
| - builder.set_starred(input.starred); |
| - builder.set_duplicates(static_cast<int32>(input.duplicate_matches.size())); |
| - builder.set_from_previous(input.from_previous); |
| - |
| - builder.set_additional_info(input.additional_info); |
| - return builder.Finish(); |
| + result->transition = input.transition; |
| + result->is_history_what_you_typed_match = |
| + input.is_history_what_you_typed_match; |
| + result->allowed_to_be_default_match = input.allowed_to_be_default_match; |
| + result->type = |
| + mojo::String::From(AutocompleteMatchType::ToString(input.type)); |
| + if (input.associated_keyword.get() != NULL) { |
| + result->associated_keyword = |
| + mojo::String::From(input.associated_keyword->keyword); |
| + } |
| + result->keyword = mojo::String::From(input.keyword); |
| + result->starred = input.starred; |
| + result->duplicates = static_cast<int32>(input.duplicate_matches.size()); |
| + result->from_previous = input.from_previous; |
| + |
| + result->additional_info = |
| + mojo::Array<AutocompleteAdditionalInfoPtr>::From(input.additional_info); |
| + return result.Pass(); |
| } |
| - |
| - MOJO_ALLOW_IMPLICIT_TYPE_CONVERSION(); |
| }; |
| template <> |
| -class TypeConverter<AutocompleteResultsForProviderMojo, AutocompleteProvider*> { |
| +class TypeConverter<AutocompleteResultsForProviderMojoPtr, |
| + AutocompleteProvider*> { |
| public: |
| - static AutocompleteResultsForProviderMojo ConvertFrom( |
| - const AutocompleteProvider* input, |
| - Buffer* buf) { |
| - AutocompleteResultsForProviderMojo::Builder builder(buf); |
| - builder.set_provider_name(input->GetName()); |
| - builder.set_results( |
| - mojo::Array<AutocompleteMatchMojo>::From(input->matches())); |
| - return builder.Finish(); |
| + static AutocompleteResultsForProviderMojoPtr ConvertFrom( |
| + const AutocompleteProvider* input) { |
| + AutocompleteResultsForProviderMojoPtr result( |
| + AutocompleteResultsForProviderMojo::New()); |
| + result->provider_name = mojo::String::From(input->GetName()); |
| + result->results = |
| + mojo::Array<AutocompleteMatchMojoPtr>::From(input->matches()); |
| + return result.Pass(); |
| } |
| - |
| - MOJO_ALLOW_IMPLICIT_TYPE_CONVERSION(); |
| }; |
| } // namespace mojo |
| @@ -119,32 +115,31 @@ OmniboxUIHandler::OmniboxUIHandler(Profile* profile) |
| OmniboxUIHandler::~OmniboxUIHandler() {} |
| void OmniboxUIHandler::OnResultChanged(bool default_match_changed) { |
| - mojo::AllocationScope scope; |
| - OmniboxResultMojo::Builder builder; |
| - builder.set_done(controller_->done()); |
| - builder.set_time_since_omnibox_started_ms( |
| - (base::Time::Now() - time_omnibox_started_).InMilliseconds()); |
| + OmniboxResultMojoPtr result(OmniboxResultMojo::New()); |
| + result->done = controller_->done(); |
| + result->time_since_omnibox_started_ms = |
| + (base::Time::Now() - time_omnibox_started_).InMilliseconds(); |
| const base::string16 host = input_.text().substr( |
| input_.parts().host.begin, |
| input_.parts().host.len); |
| - builder.set_host(host); |
| + result->host = mojo::String::From(host); |
| bool is_typed_host; |
| if (!LookupIsTypedHost(host, &is_typed_host)) |
| is_typed_host = false; |
| - builder.set_is_typed_host(is_typed_host); |
| + result->is_typed_host = is_typed_host; |
| { |
| // Copy to an ACMatches to make conversion easier. Since this isn't |
| // performance critical we don't worry about the cost here. |
| ACMatches matches(controller_->result().begin(), |
| controller_->result().end()); |
| - builder.set_combined_results( |
| - mojo::Array<AutocompleteMatchMojo>::From(matches)); |
| + result->combined_results = |
| + mojo::Array<AutocompleteMatchMojoPtr>::From(matches); |
| } |
| - builder.set_results_by_provider( |
| - mojo::Array<AutocompleteResultsForProviderMojo>::From( |
| - *controller_->providers())); |
| - client()->HandleNewAutocompleteResult(builder.Finish()); |
| + result->results_by_provider = |
| + mojo::Array<AutocompleteResultsForProviderMojoPtr>::From( |
| + *controller_->providers()); |
| + client()->HandleNewAutocompleteResult(result.Pass()); |
| } |
| bool OmniboxUIHandler::LookupIsTypedHost(const base::string16& host, |
| @@ -161,7 +156,7 @@ bool OmniboxUIHandler::LookupIsTypedHost(const base::string16& host, |
| return true; |
| } |
| -void OmniboxUIHandler::StartOmniboxQuery(const mojo::String& input_string, |
| +void OmniboxUIHandler::StartOmniboxQuery(mojo::String input_string, |
| int32_t cursor_position, |
| bool prevent_inline_autocomplete, |
| bool prefer_keyword, |
| @@ -174,7 +169,7 @@ void OmniboxUIHandler::StartOmniboxQuery(const mojo::String& input_string, |
| ResetController(); |
| time_omnibox_started_ = base::Time::Now(); |
| input_ = AutocompleteInput( |
| - input_string, |
| + input_string.To<base::string16>(), |
| cursor_position, |
| base::string16(), // user's desired tld (top-level domain) |
| GURL(), |