Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3831)

Unified Diff: chrome/browser/ui/webui/omnibox/omnibox_ui_handler.cc

Issue 294833002: Mojo: more idiomatic C++ bindings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(),

Powered by Google App Engine
This is Rietveld 408576698