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

Unified Diff: chrome/renderer/searchbox/searchbox_extension.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: Fix js error. Created 8 years, 1 month 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/renderer/searchbox/searchbox_extension.cc
diff --git a/chrome/renderer/searchbox/searchbox_extension.cc b/chrome/renderer/searchbox/searchbox_extension.cc
index ee3f47af81115f30dee407c4742e29f9a6957bf5..890c3432ff5112b0c7af5c0a68e97a3a6338495e 100644
--- a/chrome/renderer/searchbox/searchbox_extension.cc
+++ b/chrome/renderer/searchbox/searchbox_extension.cc
@@ -131,6 +131,17 @@ static const char kDispatchUpOrDownKeyPressEventScript[] =
" true;"
"}";
+static const char kDispatchKeyStrokeCapturingModeChangeScript[] =
+ "if (window.chrome &&"
+ " window.chrome.searchBox &&"
+ " window.chrome.searchBox.onkeystrokecapturingmodechange &&"
+ " typeof window.chrome.searchBox.onkeystrokecapturingmodechange == "
+ " 'function') {"
+ " for (var i = 0; i < %d; ++i)"
+ " window.chrome.searchBox.onkeystrokecapturingmodechange();"
+ " true;"
+ "}";
+
static const char kDispatchContextChangeEventScript[] =
"if (window.chrome &&"
" window.chrome.searchBox &&"
@@ -205,6 +216,10 @@ class SearchBoxExtensionWrapper : public v8::Extension {
static v8::Handle<v8::Value> GetAutocompleteResults(
const v8::Arguments& args);
+ // Gets whether the browser is capturing key strokes.
+ static v8::Handle<v8::Value> GetIsCapturingKeyStrokes(
Jered 2012/11/28 17:50:16 GetIsCapturingKeyStrokes -> IsKeyCaptureEnabled.
samarth 2012/11/28 19:33:09 Done.
+ const v8::Arguments& args);
+
// Gets the current session context.
static v8::Handle<v8::Value> GetContext(const v8::Arguments& args);
@@ -281,6 +296,8 @@ v8::Handle<v8::FunctionTemplate> SearchBoxExtensionWrapper::GetNativeFunction(
return v8::FunctionTemplate::New(GetHeight);
if (name->Equals(v8::String::New("GetAutocompleteResults")))
return v8::FunctionTemplate::New(GetAutocompleteResults);
+ if (name->Equals(v8::String::New("GetIsCapturingKeyStrokes")))
+ return v8::FunctionTemplate::New(GetIsCapturingKeyStrokes);
if (name->Equals(v8::String::New("GetContext")))
return v8::FunctionTemplate::New(GetContext);
if (name->Equals(v8::String::New("GetThemeBackgroundInfo")))
@@ -427,6 +444,15 @@ v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetAutocompleteResults(
}
// static
+v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetIsCapturingKeyStrokes(
+ const v8::Arguments& args) {
+ content::RenderView* render_view = GetRenderView();
+ if (!render_view) return v8::Undefined();
+
+ return v8::Boolean::New(SearchBox::Get(render_view)->capturing_key_strokes());
+}
+
+// static
v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetContext(
const v8::Arguments& args) {
content::RenderView* render_view = GetRenderView();
@@ -805,6 +831,13 @@ void SearchBoxExtension::DispatchUpOrDownKeyPress(WebKit::WebFrame* frame,
}
// static
+void SearchBoxExtension::DispatchKeyStrokeCapturingModeChange(
+ WebKit::WebFrame* frame) {
+ DVLOG(1) << "DispatchKeyStrokeCapturingModeChange";
+ Dispatch(frame, kDispatchKeyStrokeCapturingModeChangeScript);
+}
+
+// static
void SearchBoxExtension::DispatchContextChange(WebKit::WebFrame* frame) {
DVLOG(1) << "DispatchContextChange";
Dispatch(frame, kDispatchContextChangeEventScript);

Powered by Google App Engine
This is Rietveld 408576698