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

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

Issue 11369137: Implement {Start,Stop}CapturingKeyStrokes for Instant. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase. Rename. 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_extension.h" 5 #include "chrome/renderer/searchbox/searchbox_extension.h"
6 6
7 #include "base/string_number_conversions.h" 7 #include "base/string_number_conversions.h"
8 #include "base/stringprintf.h" 8 #include "base/stringprintf.h"
9 #include "chrome/common/extensions/extension.h" 9 #include "chrome/common/extensions/extension.h"
10 #include "chrome/renderer/searchbox/searchbox.h" 10 #include "chrome/renderer/searchbox/searchbox.h"
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 // Sets the search box text, completely replacing what the user typed. 237 // Sets the search box text, completely replacing what the user typed.
238 static v8::Handle<v8::Value> SetQuery(const v8::Arguments& args); 238 static v8::Handle<v8::Value> SetQuery(const v8::Arguments& args);
239 239
240 // Like |SetQuery| but uses a restricted ID to identify the text. 240 // Like |SetQuery| but uses a restricted ID to identify the text.
241 static v8::Handle<v8::Value> SetQueryFromAutocompleteResult( 241 static v8::Handle<v8::Value> SetQueryFromAutocompleteResult(
242 const v8::Arguments& args); 242 const v8::Arguments& args);
243 243
244 // Requests the preview be shown with the specified contents and height. 244 // Requests the preview be shown with the specified contents and height.
245 static v8::Handle<v8::Value> Show(const v8::Arguments& args); 245 static v8::Handle<v8::Value> Show(const v8::Arguments& args);
246 246
247 // Start capturing user key strokes.
248 static v8::Handle<v8::Value> StartCapturingKeyStrokes(
249 const v8::Arguments& args);
250
251 // Stop capturing user key strokes.
252 static v8::Handle<v8::Value> StopCapturingKeyStrokes(
253 const v8::Arguments& args);
254
247 private: 255 private:
248 DISALLOW_COPY_AND_ASSIGN(SearchBoxExtensionWrapper); 256 DISALLOW_COPY_AND_ASSIGN(SearchBoxExtensionWrapper);
249 }; 257 };
250 258
251 SearchBoxExtensionWrapper::SearchBoxExtensionWrapper( 259 SearchBoxExtensionWrapper::SearchBoxExtensionWrapper(
252 const base::StringPiece& code) 260 const base::StringPiece& code)
253 : v8::Extension(kSearchBoxExtensionName, code.data(), 0, 0, code.size()) { 261 : v8::Extension(kSearchBoxExtensionName, code.data(), 0, 0, code.size()) {
254 } 262 }
255 263
256 v8::Handle<v8::FunctionTemplate> SearchBoxExtensionWrapper::GetNativeFunction( 264 v8::Handle<v8::FunctionTemplate> SearchBoxExtensionWrapper::GetNativeFunction(
(...skipping 29 matching lines...) Expand all
286 if (name->Equals(v8::String::New("SetQuerySuggestion"))) 294 if (name->Equals(v8::String::New("SetQuerySuggestion")))
287 return v8::FunctionTemplate::New(SetQuerySuggestion); 295 return v8::FunctionTemplate::New(SetQuerySuggestion);
288 if (name->Equals(v8::String::New("SetQuerySuggestionFromAutocompleteResult"))) 296 if (name->Equals(v8::String::New("SetQuerySuggestionFromAutocompleteResult")))
289 return v8::FunctionTemplate::New(SetQuerySuggestionFromAutocompleteResult); 297 return v8::FunctionTemplate::New(SetQuerySuggestionFromAutocompleteResult);
290 if (name->Equals(v8::String::New("SetQuery"))) 298 if (name->Equals(v8::String::New("SetQuery")))
291 return v8::FunctionTemplate::New(SetQuery); 299 return v8::FunctionTemplate::New(SetQuery);
292 if (name->Equals(v8::String::New("SetQueryFromAutocompleteResult"))) 300 if (name->Equals(v8::String::New("SetQueryFromAutocompleteResult")))
293 return v8::FunctionTemplate::New(SetQueryFromAutocompleteResult); 301 return v8::FunctionTemplate::New(SetQueryFromAutocompleteResult);
294 if (name->Equals(v8::String::New("Show"))) 302 if (name->Equals(v8::String::New("Show")))
295 return v8::FunctionTemplate::New(Show); 303 return v8::FunctionTemplate::New(Show);
304 if (name->Equals(v8::String::New("StartCapturingKeyStrokes")))
305 return v8::FunctionTemplate::New(StartCapturingKeyStrokes);
306 if (name->Equals(v8::String::New("StopCapturingKeyStrokes")))
307 return v8::FunctionTemplate::New(StopCapturingKeyStrokes);
296 return v8::Handle<v8::FunctionTemplate>(); 308 return v8::Handle<v8::FunctionTemplate>();
297 } 309 }
298 310
299 // static 311 // static
300 content::RenderView* SearchBoxExtensionWrapper::GetRenderView() { 312 content::RenderView* SearchBoxExtensionWrapper::GetRenderView() {
301 WebKit::WebFrame* webframe = WebKit::WebFrame::frameForCurrentContext(); 313 WebKit::WebFrame* webframe = WebKit::WebFrame::frameForCurrentContext();
302 if (!webframe) return NULL; 314 if (!webframe) return NULL;
303 315
304 WebKit::WebView* webview = webframe->view(); 316 WebKit::WebView* webview = webframe->view();
305 if (!webview) return NULL; // can happen during closing 317 if (!webview) return NULL; // can happen during closing
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 height = args[1]->Int32Value(); 727 height = args[1]->Int32Value();
716 units = INSTANT_SIZE_PIXELS; 728 units = INSTANT_SIZE_PIXELS;
717 } 729 }
718 730
719 SearchBox::Get(render_view)->ShowInstantPreview(reason, height, units); 731 SearchBox::Get(render_view)->ShowInstantPreview(reason, height, units);
720 732
721 return v8::Undefined(); 733 return v8::Undefined();
722 } 734 }
723 735
724 // static 736 // static
737 v8::Handle<v8::Value> SearchBoxExtensionWrapper::StartCapturingKeyStrokes(
738 const v8::Arguments& args) {
739 content::RenderView* render_view = GetRenderView();
740 if (render_view)
741 SearchBox::Get(render_view)->StartCapturingKeyStrokes();
742 return v8::Undefined();
743 }
744
745 // static
746 v8::Handle<v8::Value> SearchBoxExtensionWrapper::StopCapturingKeyStrokes(
747 const v8::Arguments& args) {
748 content::RenderView* render_view = GetRenderView();
749 if (render_view)
750 SearchBox::Get(render_view)->StopCapturingKeyStrokes();
751 return v8::Undefined();
752 }
753
754 // static
725 void SearchBoxExtension::DispatchChange(WebKit::WebFrame* frame) { 755 void SearchBoxExtension::DispatchChange(WebKit::WebFrame* frame) {
726 DVLOG(1) << "DispatchChange"; 756 DVLOG(1) << "DispatchChange";
727 Dispatch(frame, kDispatchChangeEventScript); 757 Dispatch(frame, kDispatchChangeEventScript);
728 } 758 }
729 759
730 // static 760 // static
731 void SearchBoxExtension::DispatchSubmit(WebKit::WebFrame* frame) { 761 void SearchBoxExtension::DispatchSubmit(WebKit::WebFrame* frame) {
732 Dispatch(frame, kDispatchSubmitEventScript); 762 Dispatch(frame, kDispatchSubmitEventScript);
733 } 763 }
734 764
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
791 Dispatch(frame, kDispatchThemeAreaHeightChangeEventScript); 821 Dispatch(frame, kDispatchThemeAreaHeightChangeEventScript);
792 } 822 }
793 823
794 // static 824 // static
795 v8::Extension* SearchBoxExtension::Get() { 825 v8::Extension* SearchBoxExtension::Get() {
796 return new SearchBoxExtensionWrapper(ResourceBundle::GetSharedInstance(). 826 return new SearchBoxExtensionWrapper(ResourceBundle::GetSharedInstance().
797 GetRawDataResource(IDR_SEARCHBOX_API)); 827 GetRawDataResource(IDR_SEARCHBOX_API));
798 } 828 }
799 829
800 } // namespace extensions_v8 830 } // namespace extensions_v8
OLDNEW
« chrome/browser/ui/omnibox/omnibox_view.h ('K') | « chrome/renderer/searchbox/searchbox.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698