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

Side by Side Diff: chrome/renderer/searchbox/searchbox.cc

Issue 11413217: Instant API: tell page whether the browser is capturing key strokes. (Closed) Base URL: http://git.chromium.org/chromium/src.git@focus
Patch Set: Rebase and refactor. Created 8 years 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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/renderer/searchbox/searchbox.h" 5 #include "chrome/renderer/searchbox/searchbox.h"
6 6
7 #include "chrome/common/render_messages.h" 7 #include "chrome/common/render_messages.h"
8 #include "chrome/renderer/searchbox/searchbox_extension.h" 8 #include "chrome/renderer/searchbox/searchbox_extension.h"
9 #include "content/public/renderer/render_view.h" 9 #include "content/public/renderer/render_view.h"
10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" 10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h"
11 11
12 SearchBox::SearchBox(content::RenderView* render_view) 12 SearchBox::SearchBox(content::RenderView* render_view)
13 : content::RenderViewObserver(render_view), 13 : content::RenderViewObserver(render_view),
14 content::RenderViewObserverTracker<SearchBox>(render_view), 14 content::RenderViewObserverTracker<SearchBox>(render_view),
15 verbatim_(false), 15 verbatim_(false),
16 selection_start_(0), 16 selection_start_(0),
17 selection_end_(0), 17 selection_end_(0),
18 results_base_(0), 18 results_base_(0),
19 last_results_base_(0), 19 last_results_base_(0),
20 is_key_capture_enabled_(false),
20 theme_area_height_(0), 21 theme_area_height_(0),
21 display_instant_results_(false) { 22 display_instant_results_(false) {
22 } 23 }
23 24
24 SearchBox::~SearchBox() { 25 SearchBox::~SearchBox() {
25 } 26 }
26 27
27 void SearchBox::SetSuggestions( 28 void SearchBox::SetSuggestions(
28 const std::vector<InstantSuggestion>& suggestions) { 29 const std::vector<InstantSuggestion>& suggestions) {
29 if (!suggestions.empty() && 30 if (!suggestions.empty() &&
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 IPC_MESSAGE_HANDLER(ChromeViewMsg_DetermineIfPageSupportsInstant, 108 IPC_MESSAGE_HANDLER(ChromeViewMsg_DetermineIfPageSupportsInstant,
108 OnDetermineIfPageSupportsInstant) 109 OnDetermineIfPageSupportsInstant)
109 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxAutocompleteResults, 110 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxAutocompleteResults,
110 OnAutocompleteResults) 111 OnAutocompleteResults)
111 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxUpOrDownKeyPressed, 112 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxUpOrDownKeyPressed,
112 OnUpOrDownKeyPressed) 113 OnUpOrDownKeyPressed)
113 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxModeChanged, 114 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxModeChanged,
114 OnModeChanged) 115 OnModeChanged)
115 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxSetDisplayInstantResults, 116 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxSetDisplayInstantResults,
116 OnSetDisplayInstantResults) 117 OnSetDisplayInstantResults)
118 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxKeyCaptureChanged,
119 OnKeyCaptureChange)
117 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxThemeChanged, 120 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxThemeChanged,
118 OnThemeChanged) 121 OnThemeChanged)
119 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxThemeAreaHeightChanged, 122 IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxThemeAreaHeightChanged,
120 OnThemeAreaHeightChanged) 123 OnThemeAreaHeightChanged)
121 IPC_MESSAGE_UNHANDLED(handled = false) 124 IPC_MESSAGE_UNHANDLED(handled = false)
122 IPC_END_MESSAGE_MAP() 125 IPC_END_MESSAGE_MAP()
123 return handled; 126 return handled;
124 } 127 }
125 128
126 void SearchBox::OnChange(const string16& query, 129 void SearchBox::OnChange(const string16& query,
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 } 196 }
194 197
195 void SearchBox::OnUpOrDownKeyPressed(int count) { 198 void SearchBox::OnUpOrDownKeyPressed(int count) {
196 if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) { 199 if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
197 DVLOG(1) << render_view() << " OnKeyPress: " << count; 200 DVLOG(1) << render_view() << " OnKeyPress: " << count;
198 extensions_v8::SearchBoxExtension::DispatchUpOrDownKeyPress( 201 extensions_v8::SearchBoxExtension::DispatchUpOrDownKeyPress(
199 render_view()->GetWebView()->mainFrame(), count); 202 render_view()->GetWebView()->mainFrame(), count);
200 } 203 }
201 } 204 }
202 205
206 void SearchBox::OnKeyCaptureChange(bool is_key_capture_enabled) {
207 if (is_key_capture_enabled != is_key_capture_enabled_ &&
208 render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
209 is_key_capture_enabled_ = is_key_capture_enabled;
210 DVLOG(1) << render_view() << " OnKeyCaptureChange";
211 extensions_v8::SearchBoxExtension::DispatchKeyCaptureChange(
212 render_view()->GetWebView()->mainFrame());
213 }
214 }
215
203 void SearchBox::OnModeChanged(const chrome::search::Mode& mode) { 216 void SearchBox::OnModeChanged(const chrome::search::Mode& mode) {
204 mode_ = mode; 217 mode_ = mode;
205 if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) { 218 if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
206 DVLOG(1) << render_view() << " OnModeChanged"; 219 DVLOG(1) << render_view() << " OnModeChanged";
207 extensions_v8::SearchBoxExtension::DispatchContextChange( 220 extensions_v8::SearchBoxExtension::DispatchContextChange(
208 render_view()->GetWebView()->mainFrame()); 221 render_view()->GetWebView()->mainFrame());
209 } 222 }
210 } 223 }
211 224
212 void SearchBox::OnSetDisplayInstantResults(bool display_instant_results) { 225 void SearchBox::OnSetDisplayInstantResults(bool display_instant_results) {
(...skipping 17 matching lines...) Expand all
230 } 243 }
231 244
232 void SearchBox::Reset() { 245 void SearchBox::Reset() {
233 query_.clear(); 246 query_.clear();
234 verbatim_ = false; 247 verbatim_ = false;
235 selection_start_ = 0; 248 selection_start_ = 0;
236 selection_end_ = 0; 249 selection_end_ = 0;
237 results_base_ = 0; 250 results_base_ = 0;
238 rect_ = gfx::Rect(); 251 rect_ = gfx::Rect();
239 autocomplete_results_.clear(); 252 autocomplete_results_.clear();
253 is_key_capture_enabled_ = false;
240 mode_ = chrome::search::Mode(); 254 mode_ = chrome::search::Mode();
241 theme_info_ = ThemeBackgroundInfo(); 255 theme_info_ = ThemeBackgroundInfo();
242 theme_area_height_ = 0; 256 theme_area_height_ = 0;
243 display_instant_results_ = false; 257 display_instant_results_ = false;
244 } 258 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698