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

Unified Diff: chrome/renderer/searchbox/searchbox_extension.cc

Issue 11889003: Fixing ESC in instant-extended. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reworked to send ESC down to JS, added test. 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 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 73372590fd03d204098745be006d68be77a5c76a..3c24a50391c17b156c5ecb87e7812af2f26db6c4 100644
--- a/chrome/renderer/searchbox/searchbox_extension.cc
+++ b/chrome/renderer/searchbox/searchbox_extension.cc
@@ -142,6 +142,16 @@ static const char kDispatchUpOrDownKeyPressEventScript[] =
" true;"
"}";
+// Takes one printf-style replaceable values: key_code.
+static const char kDispatchEscKeyPressEventScript[] =
+ "if (window.chrome &&"
+ " window.chrome.searchBox &&"
+ " window.chrome.searchBox.onkeypress &&"
+ " typeof window.chrome.searchBox.onkeypress == 'function') {"
+ " window.chrome.searchBox.onkeypress({keyCode: %d});"
+ " true;"
+ "}";
+
static const char kDispatchKeyCaptureChangeScript[] =
"if (window.chrome &&"
" window.chrome.searchBox &&"
@@ -933,6 +943,12 @@ void SearchBoxExtension::DispatchUpOrDownKeyPress(WebKit::WebFrame* frame,
}
// static
+void SearchBoxExtension::DispatchEscKeyPress(WebKit::WebFrame* frame) {
+ Dispatch(frame, WebKit::WebString::fromUTF8(
+ base::StringPrintf(kDispatchEscKeyPressEventScript, ui::VKEY_ESCAPE)));
+}
+
+// static
void SearchBoxExtension::DispatchKeyCaptureChange(WebKit::WebFrame* frame) {
Dispatch(frame, kDispatchKeyCaptureChangeScript);
}

Powered by Google App Engine
This is Rietveld 408576698