Chromium for Linux does not set .shiftKey, .ctrlKey, and .altKey correctly. For example, when Control key is pressed, the ctrlKey attribute of the event is false, and when it's released the attribute becomes true. Safari, Firefox, and Chrome for Windows/Mac/ChromeOS do the opposite, true on keyDown and false on keyUp, which should be correct. http://code.google.com/p/chromium/issues/detail?id=127142
Created attachment 148988 [details] Patch
Comment on attachment 148988 [details] Patch Can we write a layout test for this or does eventSender mock the events lower than this?
Comment on attachment 148988 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=148988&action=review > Source/WebKit/chromium/ChangeLog:8 > + This is a Gtk port of http://crrev.com/142209. > + > + Reviewed by NOBODY (OOPS!). The "Reviewed by..." line goes below the bug link. See the other entries in the ChangeLog. > Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp:277 > +// Normalizes event->state to make it Windows/Mac compatible. Since the way > +// of setting modifier mask on X is very different than Windows/Mac as shown > +// in http://crbug.com/127142#c8, the normalization is necessary. I would move this comment into the ChangeLog.
Checked DumpRenderTree/chromium/EventSender.cpp. Since the sender mocks an event by directly setting event->modifiers, I think it's hard to write a layout test for my patch.
Created attachment 149730 [details] Patch
Comment on attachment 149730 [details] Patch Clearing flags on attachment: 149730 Committed r121397: <http://trac.webkit.org/changeset/121397>
All reviewed patches have been landed. Closing bug.