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

Side by Side Diff: chrome/browser/ui/webui/omnibox/omnibox_ui_handler.cc

Issue 1550053002: Convert Pass()→std::move() in //chrome/browser/ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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 unified diff | Download patch
OLDNEW
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/ui/webui/omnibox/omnibox_ui_handler.h" 5 #include "chrome/browser/ui/webui/omnibox/omnibox_ui_handler.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8
9 #include <string> 8 #include <string>
9 #include <utility>
10 10
11 #include "base/auto_reset.h" 11 #include "base/auto_reset.h"
12 #include "base/bind.h" 12 #include "base/bind.h"
13 #include "base/strings/string16.h" 13 #include "base/strings/string16.h"
14 #include "base/strings/stringprintf.h" 14 #include "base/strings/stringprintf.h"
15 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
16 #include "base/time/time.h" 16 #include "base/time/time.h"
17 #include "base/values.h" 17 #include "base/values.h"
18 #include "chrome/browser/autocomplete/chrome_autocomplete_provider_client.h" 18 #include "chrome/browser/autocomplete/chrome_autocomplete_provider_client.h"
19 #include "chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.h" 19 #include "chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.h"
(...skipping 22 matching lines...) Expand all
42 AutocompleteMatch::AdditionalInfo> { 42 AutocompleteMatch::AdditionalInfo> {
43 static mojo::Array<AutocompleteAdditionalInfoPtr> Convert( 43 static mojo::Array<AutocompleteAdditionalInfoPtr> Convert(
44 const AutocompleteMatch::AdditionalInfo& input) { 44 const AutocompleteMatch::AdditionalInfo& input) {
45 mojo::Array<AutocompleteAdditionalInfoPtr> array(input.size()); 45 mojo::Array<AutocompleteAdditionalInfoPtr> array(input.size());
46 size_t index = 0; 46 size_t index = 0;
47 for (AutocompleteMatch::AdditionalInfo::const_iterator i = input.begin(); 47 for (AutocompleteMatch::AdditionalInfo::const_iterator i = input.begin();
48 i != input.end(); ++i, index++) { 48 i != input.end(); ++i, index++) {
49 AutocompleteAdditionalInfoPtr item(AutocompleteAdditionalInfo::New()); 49 AutocompleteAdditionalInfoPtr item(AutocompleteAdditionalInfo::New());
50 item->key = i->first; 50 item->key = i->first;
51 item->value = i->second; 51 item->value = i->second;
52 array[index] = item.Pass(); 52 array[index] = std::move(item);
53 } 53 }
54 return array.Pass(); 54 return array;
55 } 55 }
56 }; 56 };
57 57
58 template <> 58 template <>
59 struct TypeConverter<AutocompleteMatchMojoPtr, AutocompleteMatch> { 59 struct TypeConverter<AutocompleteMatchMojoPtr, AutocompleteMatch> {
60 static AutocompleteMatchMojoPtr Convert(const AutocompleteMatch& input) { 60 static AutocompleteMatchMojoPtr Convert(const AutocompleteMatch& input) {
61 AutocompleteMatchMojoPtr result(AutocompleteMatchMojo::New()); 61 AutocompleteMatchMojoPtr result(AutocompleteMatchMojo::New());
62 if (input.provider != NULL) { 62 if (input.provider != NULL) {
63 result->provider_name = input.provider->GetName(); 63 result->provider_name = input.provider->GetName();
64 result->provider_done = input.provider->done(); 64 result->provider_done = input.provider->done();
(...skipping 18 matching lines...) Expand all
83 if (input.associated_keyword.get() != NULL) { 83 if (input.associated_keyword.get() != NULL) {
84 result->associated_keyword = 84 result->associated_keyword =
85 mojo::String::From(input.associated_keyword->keyword); 85 mojo::String::From(input.associated_keyword->keyword);
86 } 86 }
87 result->keyword = mojo::String::From(input.keyword); 87 result->keyword = mojo::String::From(input.keyword);
88 result->duplicates = static_cast<int32_t>(input.duplicate_matches.size()); 88 result->duplicates = static_cast<int32_t>(input.duplicate_matches.size());
89 result->from_previous = input.from_previous; 89 result->from_previous = input.from_previous;
90 90
91 result->additional_info = 91 result->additional_info =
92 mojo::Array<AutocompleteAdditionalInfoPtr>::From(input.additional_info); 92 mojo::Array<AutocompleteAdditionalInfoPtr>::From(input.additional_info);
93 return result.Pass(); 93 return result;
94 } 94 }
95 }; 95 };
96 96
97 template <> 97 template <>
98 struct TypeConverter<AutocompleteResultsForProviderMojoPtr, 98 struct TypeConverter<AutocompleteResultsForProviderMojoPtr,
99 scoped_refptr<AutocompleteProvider> > { 99 scoped_refptr<AutocompleteProvider> > {
100 static AutocompleteResultsForProviderMojoPtr Convert( 100 static AutocompleteResultsForProviderMojoPtr Convert(
101 const scoped_refptr<AutocompleteProvider>& input) { 101 const scoped_refptr<AutocompleteProvider>& input) {
102 AutocompleteResultsForProviderMojoPtr result( 102 AutocompleteResultsForProviderMojoPtr result(
103 AutocompleteResultsForProviderMojo::New()); 103 AutocompleteResultsForProviderMojo::New());
104 result->provider_name = input->GetName(); 104 result->provider_name = input->GetName();
105 result->results = 105 result->results =
106 mojo::Array<AutocompleteMatchMojoPtr>::From(input->matches()); 106 mojo::Array<AutocompleteMatchMojoPtr>::From(input->matches());
107 return result.Pass(); 107 return result;
108 } 108 }
109 }; 109 };
110 110
111 } // namespace mojo 111 } // namespace mojo
112 112
113 OmniboxUIHandler::OmniboxUIHandler( 113 OmniboxUIHandler::OmniboxUIHandler(
114 Profile* profile, 114 Profile* profile,
115 mojo::InterfaceRequest<OmniboxUIHandlerMojo> request) 115 mojo::InterfaceRequest<OmniboxUIHandlerMojo> request)
116 : profile_(profile), 116 : profile_(profile), binding_(this, std::move(request)) {
117 binding_(this, request.Pass()) {
118 ResetController(); 117 ResetController();
119 } 118 }
120 119
121 OmniboxUIHandler::~OmniboxUIHandler() { 120 OmniboxUIHandler::~OmniboxUIHandler() {
122 } 121 }
123 122
124 void OmniboxUIHandler::OnResultChanged(bool default_match_changed) { 123 void OmniboxUIHandler::OnResultChanged(bool default_match_changed) {
125 OmniboxResultMojoPtr result(OmniboxResultMojo::New()); 124 OmniboxResultMojoPtr result(OmniboxResultMojo::New());
126 result->done = controller_->done(); 125 result->done = controller_->done();
127 result->time_since_omnibox_started_ms = 126 result->time_since_omnibox_started_ms =
(...skipping 29 matching lines...) Expand all
157 for (size_t i = 0; i < result->results_by_provider.size(); ++i) { 156 for (size_t i = 0; i < result->results_by_provider.size(); ++i) {
158 const AutocompleteResultsForProviderMojo& result_by_provider = 157 const AutocompleteResultsForProviderMojo& result_by_provider =
159 *result->results_by_provider[i]; 158 *result->results_by_provider[i];
160 for (size_t j = 0; j < result_by_provider.results.size(); ++j) { 159 for (size_t j = 0; j < result_by_provider.results.size(); ++j) {
161 result_by_provider.results[j]->starred = bookmark_model->IsBookmarked( 160 result_by_provider.results[j]->starred = bookmark_model->IsBookmarked(
162 GURL(result_by_provider.results[j]->destination_url)); 161 GURL(result_by_provider.results[j]->destination_url));
163 } 162 }
164 } 163 }
165 } 164 }
166 165
167 page_->HandleNewAutocompleteResult(result.Pass()); 166 page_->HandleNewAutocompleteResult(std::move(result));
168 } 167 }
169 168
170 bool OmniboxUIHandler::LookupIsTypedHost(const base::string16& host, 169 bool OmniboxUIHandler::LookupIsTypedHost(const base::string16& host,
171 bool* is_typed_host) const { 170 bool* is_typed_host) const {
172 history::HistoryService* const history_service = 171 history::HistoryService* const history_service =
173 HistoryServiceFactory::GetForProfile(profile_, 172 HistoryServiceFactory::GetForProfile(profile_,
174 ServiceAccessType::EXPLICIT_ACCESS); 173 ServiceAccessType::EXPLICIT_ACCESS);
175 if (!history_service) 174 if (!history_service)
176 return false; 175 return false;
177 history::URLDatabase* url_db = history_service->InMemoryDatabase(); 176 history::URLDatabase* url_db = history_service->InMemoryDatabase();
178 if (!url_db) 177 if (!url_db)
179 return false; 178 return false;
180 *is_typed_host = url_db->IsTypedHost(base::UTF16ToUTF8(host)); 179 *is_typed_host = url_db->IsTypedHost(base::UTF16ToUTF8(host));
181 return true; 180 return true;
182 } 181 }
183 182
184 void OmniboxUIHandler::StartOmniboxQuery(const mojo::String& input_string, 183 void OmniboxUIHandler::StartOmniboxQuery(const mojo::String& input_string,
185 int32_t cursor_position, 184 int32_t cursor_position,
186 bool prevent_inline_autocomplete, 185 bool prevent_inline_autocomplete,
187 bool prefer_keyword, 186 bool prefer_keyword,
188 int32_t page_classification, 187 int32_t page_classification,
189 OmniboxPagePtr page) { 188 OmniboxPagePtr page) {
190 // Reset the controller. If we don't do this, then the 189 // Reset the controller. If we don't do this, then the
191 // AutocompleteController might inappropriately set its |minimal_changes| 190 // AutocompleteController might inappropriately set its |minimal_changes|
192 // variable (or something else) and some providers will short-circuit 191 // variable (or something else) and some providers will short-circuit
193 // important logic and return stale results. In short, we want the 192 // important logic and return stale results. In short, we want the
194 // actual results to not depend on the state of the previous request. 193 // actual results to not depend on the state of the previous request.
195 ResetController(); 194 ResetController();
196 page_ = page.Pass(); 195 page_ = std::move(page);
197 time_omnibox_started_ = base::Time::Now(); 196 time_omnibox_started_ = base::Time::Now();
198 input_ = AutocompleteInput( 197 input_ = AutocompleteInput(
199 input_string.To<base::string16>(), cursor_position, std::string(), GURL(), 198 input_string.To<base::string16>(), cursor_position, std::string(), GURL(),
200 static_cast<metrics::OmniboxEventProto::PageClassification>( 199 static_cast<metrics::OmniboxEventProto::PageClassification>(
201 page_classification), 200 page_classification),
202 prevent_inline_autocomplete, prefer_keyword, true, true, false, 201 prevent_inline_autocomplete, prefer_keyword, true, true, false,
203 ChromeAutocompleteSchemeClassifier(profile_)); 202 ChromeAutocompleteSchemeClassifier(profile_));
204 controller_->Start(input_); 203 controller_->Start(input_);
205 } 204 }
206 205
207 void OmniboxUIHandler::ResetController() { 206 void OmniboxUIHandler::ResetController() {
208 controller_.reset(new AutocompleteController( 207 controller_.reset(new AutocompleteController(
209 make_scoped_ptr(new ChromeAutocompleteProviderClient(profile_)), this, 208 make_scoped_ptr(new ChromeAutocompleteProviderClient(profile_)), this,
210 AutocompleteClassifier::kDefaultOmniboxProviders)); 209 AutocompleteClassifier::kDefaultOmniboxProviders));
211 } 210 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/omnibox/omnibox_ui.cc ('k') | chrome/browser/ui/webui/options/autofill_options_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698