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

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

Issue 12081002: about:omnibox - add "in keyword mode" checkbox (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: forth -> fourth Created 7 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/webui/omnibox/omnibox_ui_handler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <string> 7 #include <string>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 output->SetBoolean(item_prefix + ".from_previous", it->from_previous); 132 output->SetBoolean(item_prefix + ".from_previous", it->from_previous);
133 for (AutocompleteMatch::AdditionalInfo::const_iterator j = 133 for (AutocompleteMatch::AdditionalInfo::const_iterator j =
134 it->additional_info.begin(); j != it->additional_info.end(); ++j) { 134 it->additional_info.begin(); j != it->additional_info.end(); ++j) {
135 output->SetString(item_prefix + ".additional_info." + j->first, 135 output->SetString(item_prefix + ".additional_info." + j->first,
136 j->second); 136 j->second);
137 } 137 }
138 } 138 }
139 output->SetInteger(prefix + ".num_items", i); 139 output->SetInteger(prefix + ".num_items", i);
140 } 140 }
141 141
142 void OmniboxUIHandler::StartOmniboxQuery( 142 void OmniboxUIHandler::StartOmniboxQuery(const base::ListValue* input) {
143 const base::ListValue* three_element_input_string) { 143 DCHECK_EQ(4u, input->GetSize());
144 DCHECK_EQ(3u, three_element_input_string->GetSize());
145 string16 input_string; 144 string16 input_string;
146 bool return_val = three_element_input_string->GetString(0, &input_string); 145 bool return_val = input->GetString(0, &input_string);
147 DCHECK(return_val);
148 bool prevent_inline_autocomplete;
149 return_val =
150 three_element_input_string->GetBoolean(1, &prevent_inline_autocomplete);
151 DCHECK(return_val); 146 DCHECK(return_val);
152 int cursor_position_int; 147 int cursor_position_int;
153 return_val = three_element_input_string->GetInteger(2, &cursor_position_int); 148 return_val = input->GetInteger(1, &cursor_position_int);
154 DCHECK(return_val); 149 DCHECK(return_val);
155 size_t cursor_position = cursor_position_int; 150 size_t cursor_position = cursor_position_int;
151 bool prevent_inline_autocomplete;
152 return_val = input->GetBoolean(2, &prevent_inline_autocomplete);
153 DCHECK(return_val);
154 bool prefer_keyword;
155 return_val = input->GetBoolean(3, &prefer_keyword);
156 DCHECK(return_val);
156 string16 empty_string; 157 string16 empty_string;
157 // Reset the controller. If we don't do this, then the 158 // Reset the controller. If we don't do this, then the
158 // AutocompleteController might inappropriately set its |minimal_changes| 159 // AutocompleteController might inappropriately set its |minimal_changes|
159 // variable (or something else) and some providers will short-circuit 160 // variable (or something else) and some providers will short-circuit
160 // important logic and return stale results. In short, we want the 161 // important logic and return stale results. In short, we want the
161 // actual results to not depend on the state of the previous request. 162 // actual results to not depend on the state of the previous request.
162 ResetController(); 163 ResetController();
163 time_omnibox_started_ = base::Time::Now(); 164 time_omnibox_started_ = base::Time::Now();
164 controller_->Start(AutocompleteInput( 165 controller_->Start(AutocompleteInput(
165 input_string, 166 input_string,
166 cursor_position, 167 cursor_position,
167 empty_string, // user's desired tld (top-level domain) 168 empty_string, // user's desired tld (top-level domain)
168 prevent_inline_autocomplete, 169 prevent_inline_autocomplete,
169 false, // no preferred keyword provider 170 prefer_keyword,
170 true, // allow exact keyword matches 171 true, // allow exact keyword matches
171 AutocompleteInput::ALL_MATCHES)); // want all matches 172 AutocompleteInput::ALL_MATCHES)); // want all matches
172 } 173 }
173 174
174 void OmniboxUIHandler::ResetController() { 175 void OmniboxUIHandler::ResetController() {
175 controller_.reset(new AutocompleteController(profile_, this, 176 controller_.reset(new AutocompleteController(profile_, this,
176 chrome::search::IsInstantExtendedAPIEnabled(profile_) ? 177 chrome::search::IsInstantExtendedAPIEnabled(profile_) ?
177 AutocompleteClassifier::kInstantExtendedOmniboxProviders : 178 AutocompleteClassifier::kInstantExtendedOmniboxProviders :
178 AutocompleteClassifier::kDefaultOmniboxProviders)); 179 AutocompleteClassifier::kDefaultOmniboxProviders));
179 } 180 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/omnibox/omnibox_ui_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698