summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authoravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-26 14:38:40 +0000
committeravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-26 14:38:40 +0000
commit35976fe0742b955ce427baeb2e5e313837b3d27d (patch)
treed31ad5128d824195a0193adc756aad39a00f2046 /chrome
parentea7d84fc40389fa60842d66e2eb39d9f23159bfa (diff)
downloadchromium_src-35976fe0742b955ce427baeb2e5e313837b3d27d.zip
chromium_src-35976fe0742b955ce427baeb2e5e313837b3d27d.tar.gz
chromium_src-35976fe0742b955ce427baeb2e5e313837b3d27d.tar.bz2
Fixing WebKeyboardEvent. For reals this time.
A recommit of http://codereview.chromium.org/27056 . Review URL: http://codereview.chromium.org/28136 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10464 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/renderer_host/render_view_host.cc3
-rw-r--r--chrome/browser/renderer_host/render_widget_host.cc4
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_gtk.cc7
-rw-r--r--chrome/browser/tab_contents/web_contents_view_win.cc4
-rwxr-xr-xchrome/common/render_messages.h3
5 files changed, 9 insertions, 12 deletions
diff --git a/chrome/browser/renderer_host/render_view_host.cc b/chrome/browser/renderer_host/render_view_host.cc
index 35fd1fd..a34e1f4 100644
--- a/chrome/browser/renderer_host/render_view_host.cc
+++ b/chrome/browser/renderer_host/render_view_host.cc
@@ -1206,7 +1206,8 @@ void RenderViewHost::UnhandledInputEvent(const WebInputEvent& event) {
// TODO(brettw) why do we have to filter these types of events here. Can't
// the renderer just send us the ones we care abount, or maybe the view
// should be able to decide which ones it wants or not?
- if ((event.type == WebInputEvent::KEY_DOWN) ||
+ if ((event.type == WebInputEvent::RAW_KEY_DOWN) ||
+ (event.type == WebInputEvent::KEY_DOWN) ||
(event.type == WebInputEvent::CHAR)) {
view->HandleKeyboardEvent(
static_cast<const WebKeyboardEvent&>(event));
diff --git a/chrome/browser/renderer_host/render_widget_host.cc b/chrome/browser/renderer_host/render_widget_host.cc
index 7e0c465..4ac0270 100644
--- a/chrome/browser/renderer_host/render_widget_host.cc
+++ b/chrome/browser/renderer_host/render_widget_host.cc
@@ -292,8 +292,8 @@ void RenderWidgetHost::ForwardWheelEvent(
void RenderWidgetHost::ForwardKeyboardEvent(const WebKeyboardEvent& key_event) {
if (key_event.type == WebKeyboardEvent::CHAR &&
- (key_event.key_code == base::VKEY_RETURN ||
- key_event.key_code == base::VKEY_SPACE)) {
+ (key_event.windows_key_code == base::VKEY_RETURN ||
+ key_event.windows_key_code == base::VKEY_SPACE)) {
OnEnterOrSpace();
}
diff --git a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc
index 4b5f19e..b6a93e5 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc
+++ b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc
@@ -79,13 +79,6 @@ class RenderWidgetHostViewGtkWidget {
RenderWidgetHostViewGtk* host_view) {
WebKeyboardEvent wke(event);
host_view->GetRenderWidgetHost()->ForwardKeyboardEvent(wke);
-
- // See note in webwidget_host_gtk.cc::HandleKeyPress().
- if (event->type == GDK_KEY_PRESS) {
- wke.type = WebKeyboardEvent::CHAR;
- host_view->GetRenderWidgetHost()->ForwardKeyboardEvent(wke);
- }
-
return FALSE;
}
diff --git a/chrome/browser/tab_contents/web_contents_view_win.cc b/chrome/browser/tab_contents/web_contents_view_win.cc
index 73602d7..b4e03dd 100644
--- a/chrome/browser/tab_contents/web_contents_view_win.cc
+++ b/chrome/browser/tab_contents/web_contents_view_win.cc
@@ -259,13 +259,13 @@ void WebContentsViewWin::HandleKeyboardEvent(const WebKeyboardEvent& event) {
// The renderer returned a keyboard event it did not process. This may be
// a keyboard shortcut that we have to process.
- if (event.type == WebInputEvent::KEY_DOWN) {
+ if (event.type == WebInputEvent::RAW_KEY_DOWN) {
views::FocusManager* focus_manager =
views::FocusManager::GetFocusManager(GetHWND());
// We may not have a focus_manager at this point (if the tab has been
// switched by the time this message returned).
if (focus_manager) {
- views::Accelerator accelerator(event.key_code,
+ views::Accelerator accelerator(event.windows_key_code,
(event.modifiers & WebInputEvent::SHIFT_KEY) ==
WebInputEvent::SHIFT_KEY,
(event.modifiers & WebInputEvent::CTRL_KEY) ==
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h
index 7fa88de..c56ba49 100755
--- a/chrome/common/render_messages.h
+++ b/chrome/common/render_messages.h
@@ -495,6 +495,9 @@ struct ParamTraits<WebInputEvent::Type> {
case WebInputEvent::MOUSE_WHEEL:
type = L"MOUSE_WHEEL";
break;
+ case WebInputEvent::RAW_KEY_DOWN:
+ type = L"RAW_KEY_DOWN";
+ break;
case WebInputEvent::KEY_DOWN:
type = L"KEY_DOWN";
break;