Changeset 120329 in webkit
- Timestamp:
- Jun 14, 2012 8:52:28 AM (12 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r120305 r120329 1 2012-06-13 Andreas Kling <kling@webkit.org> 2 3 Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari. 4 <http://webkit.org/b/89048> 5 <rdar://problem/11449702> 6 7 Reviewed by Darin Adler. 8 9 Send the DidReceiveEvent message with the DispatchMessageEvenWhenWaitingForSyncReply flag 10 for keyboard events. This ensures that it always arrives before the corresponding synchronous 11 InterpretQueuedKeyEvent message. 12 13 The problem was that we relied on DidReceiveEvent / InterpretQueuedKeyEvent always arriving in 14 the same order they were sent. This was not always true, since DidReceiveEvent (async) would 15 get deferred during an unrelated waitForSyncReply() whereas InterpretQueuedKeyEvent (sync) 16 gets dispatched right away. 17 18 * WebProcess/WebPage/WebPage.cpp: 19 (WebKit::WebPage::keyEvent): 20 1 21 2012-06-14 Carlos Garcia Campos <cgarcia@igalia.com> 2 22 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r119975 r120329 1424 1424 handled = performDefaultBehaviorForKeyEvent(keyboardEvent); 1425 1425 1426 send(Messages::WebPageProxy::DidReceiveEvent(static_cast<uint32_t>(keyboardEvent.type()), handled)); 1426 // The receiving end relies on DidReceiveEvent and InterpretQueuedKeyEvent arriving in the same order they are sent 1427 // (for keyboard events.) We set the DispatchMessageEvenWhenWaitingForSyncReply flag to ensure consistent ordering. 1428 connection()->send(Messages::WebPageProxy::DidReceiveEvent(static_cast<uint32_t>(keyboardEvent.type()), handled), m_pageID, CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply); 1427 1429 } 1428 1430
Note: See TracChangeset
for help on using the changeset viewer.