WM_CHAR message doesn't have any virtual keycode in WPARAM. So we cannot use virtual keycode to know location of pressed key for the message. http://crbug.com/172868
Created attachment 186003 [details] WIP
Comment on attachment 186003 [details] WIP Attachment 186003 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/16300568
Comment on attachment 186003 [details] WIP Attachment 186003 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/16297634
Comment on attachment 186003 [details] WIP Attachment 186003 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/16297636
Comment on attachment 186003 [details] WIP Attachment 186003 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://queues.webkit.org/results/16297638
Comment on attachment 186003 [details] WIP Attachment 186003 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/16303562
Comment on attachment 186003 [details] WIP Attachment 186003 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/16298613
Comment on attachment 186003 [details] WIP Attachment 186003 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/16307692 New failing tests: fast/events/keydown-leftright-keys.html
Comment on attachment 186003 [details] WIP Attachment 186003 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/16305871
Created attachment 186779 [details] WIP
Attachment 186779 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/dom/KeyboardEvent.cpp', u'Source/WebCore/platform/PlatformKeyboardEvent.h', u'Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp', u'Source/WebCore/platform/mac/PlatformEventFactoryMac.mm', u'Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp', u'Source/WebCore/platform/win/KeyEventWin.cpp', u'Source/WebKit/chromium/ChangeLog', u'Source/WebKit/chromium/src/WebInputEventConversion.cpp', u'Source/WebKit/chromium/src/win/WebInputEventFactory.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/Shared/WebEventConversion.cpp', u'Tools/ChangeLog', u'Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp', u'Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h']" exit_code: 1 Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:39: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:40: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:41: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 3 in 15 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 186779 [details] WIP Attachment 186779 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/16396080
Comment on attachment 186779 [details] WIP Attachment 186779 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/16396081
Comment on attachment 186779 [details] WIP Attachment 186779 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/16401001
Comment on attachment 186779 [details] WIP Attachment 186779 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/16400007
Created attachment 186805 [details] WIP
Attachment 186805 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/dom/KeyboardEvent.cpp', u'Source/WebCore/platform/PlatformKeyboardEvent.h', u'Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp', u'Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp', u'Source/WebCore/platform/mac/PlatformEventFactoryMac.mm', u'Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp', u'Source/WebCore/platform/win/KeyEventWin.cpp', u'Source/WebKit/chromium/ChangeLog', u'Source/WebKit/chromium/src/WebInputEventConversion.cpp', u'Source/WebKit/chromium/src/win/WebInputEventFactory.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/Shared/WebEventConversion.cpp', u'Tools/ChangeLog', u'Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp', u'Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h']" exit_code: 1 Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:159: A case label should not be indented, but line up with its switch statement. [whitespace/indent] [4] Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:158: Missing space before ( in switch( [whitespace/parens] [5] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:39: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:40: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:41: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 5 in 16 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 186805 [details] WIP Attachment 186805 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/16400052
Created attachment 187055 [details] WIP
Attachment 187055 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/dom/KeyboardEvent.cpp', u'Source/WebCore/platform/PlatformKeyboardEvent.h', u'Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp', u'Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp', u'Source/WebCore/platform/mac/PlatformEventFactoryMac.mm', u'Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp', u'Source/WebCore/platform/win/KeyEventWin.cpp', u'Source/WebKit/chromium/ChangeLog', u'Source/WebKit/chromium/src/WebInputEventConversion.cpp', u'Source/WebKit/chromium/src/win/WebInputEventFactory.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/Shared/WebEventConversion.cpp', u'Tools/ChangeLog', u'Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp', u'Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h']" exit_code: 1 Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:159: A case label should not be indented, but line up with its switch statement. [whitespace/indent] [4] Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:158: Missing space before ( in switch( [whitespace/parens] [5] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:39: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:40: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:41: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 5 in 16 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 187248 [details] Patch
Attachment 187248 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/dom/KeyboardEvent.cpp', u'Source/WebCore/platform/PlatformKeyboardEvent.h', u'Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp', u'Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp', u'Source/WebCore/platform/mac/PlatformEventFactoryMac.mm', u'Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp', u'Source/WebCore/platform/win/KeyEventWin.cpp', u'Source/WebKit/chromium/ChangeLog', u'Source/WebKit/chromium/src/WebInputEventConversion.cpp', u'Source/WebKit/chromium/src/win/WebInputEventFactory.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/Shared/WebEventConversion.cpp', u'Tools/ChangeLog', u'Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp', u'Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h']" exit_code: 1 Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:159: A case label should not be indented, but line up with its switch statement. [whitespace/indent] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:39: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:40: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:41: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 4 in 16 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 187248 [details] Patch Attachment 187248 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://queues.webkit.org/results/16434519 New failing tests: http/tests/cache/cached-main-resource.html
I built chromium-win and safari-mac and manually tested this patch fixed the issue.
Created attachment 189278 [details] Patch
Attachment 189278 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/dom/KeyboardEvent.cpp', u'Source/WebCore/platform/PlatformKeyboardEvent.h', u'Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp', u'Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp', u'Source/WebCore/platform/mac/PlatformEventFactoryMac.mm', u'Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp', u'Source/WebCore/platform/win/KeyEventWin.cpp', u'Source/WebKit/chromium/ChangeLog', u'Source/WebKit/chromium/src/WebInputEventConversion.cpp', u'Source/WebKit/chromium/src/win/WebInputEventFactory.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/Shared/WebEventConversion.cpp', u'Tools/ChangeLog', u'Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp', u'Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h']" exit_code: 1 Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:159: A case label should not be indented, but line up with its switch statement. [whitespace/indent] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:39: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:40: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:41: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 4 in 16 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 190801 [details] Patch
Attachment 190801 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/dom/KeyboardEvent.cpp', u'Source/WebCore/platform/PlatformKeyboardEvent.h', u'Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp', u'Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp', u'Source/WebCore/platform/mac/PlatformEventFactoryMac.mm', u'Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp', u'Source/WebCore/platform/win/KeyEventWin.cpp', u'Source/WebKit/chromium/ChangeLog', u'Source/WebKit/chromium/src/WebInputEventConversion.cpp', u'Source/WebKit/chromium/src/win/WebInputEventFactory.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/Shared/WebEventConversion.cpp', u'Tools/ChangeLog', u'Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp', u'Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h']" exit_code: 1 Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:159: A case label should not be indented, but line up with its switch statement. [whitespace/indent] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:39: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:40: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:41: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 4 in 16 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 193492 [details] Patch
Attachment 193492 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/dom/KeyboardEvent.cpp', u'Source/WebCore/platform/PlatformKeyboardEvent.h', u'Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp', u'Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp', u'Source/WebCore/platform/mac/PlatformEventFactoryMac.mm', u'Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp', u'Source/WebCore/platform/win/KeyEventWin.cpp', u'Source/WebKit/chromium/ChangeLog', u'Source/WebKit/chromium/src/WebInputEventConversion.cpp', u'Source/WebKit/chromium/src/win/WebInputEventFactory.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/Shared/WebEventConversion.cpp', u'Tools/ChangeLog', u'Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp', u'Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h']" exit_code: 1 Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:159: A case label should not be indented, but line up with its switch statement. [whitespace/indent] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:39: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:40: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h:41: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 4 in 16 files If any of these errors are false positives, please file a bug against check-webkit-style.