368f9b4d9143b4cd3f92650791120c5bc691a8d2: Bug 1303273 part.3 Dispatch eKeyPress events without NativeKey::HandleCharMessage() when it handles WM_(SYS)KEYDOWN message and there are following WM_(SYS)CHAR messages which includes non-control character r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 06 Oct 2016 20:52:03 +0900 - rev 422118
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1303273 part.3 Dispatch eKeyPress events without NativeKey::HandleCharMessage() when it handles WM_(SYS)KEYDOWN message and there are following WM_(SYS)CHAR messages which includes non-control character r?m_kato This patch creates NativeKey::DispatchKeyPressEventsWithRetrievedCharMessages() for dispatching eKeyPress event with mCommittedCharsAndModifiers when it stores following printable WM_(SYS)CHAR messages. Using loop for dispatching eKeyPress event for every WM_(SYS)CHAR message is wrong because WidgetKeyboardEvent::mKeyValue is initialized with mCommittedCharsAndModifiers and it causes TextEventDispatcher dispatching multiple eKeyPress events at every call of MaybeDispatchKeypressEvents(). Therefore, if mKeyValue is "^^", eKeyPress event is dispatched 4 times --for the first message, eKeyPress events are fired for each "^" and for the second message, eKeyPress events are fired again for each "^"--. Therefore, when it handles WM_(SYS)KEYDOWN and it causes inputting one or more printable characters, it's the easiest way not to use HandleCharMessage(). The new method calls TextEventDispatcher::MaybeDispatchKeypressEvents() only once and it requests to call the callback method with new argument of MaybeDispatchKeypressEvents() when it needs to dispatch 2 or more eKeyPress events. Then, NativeKey::WillDispatchKeyboardEvent() can set each eKeyPress event to raw information of the message and proper modifier state. With this change, we can dispatch multiple eKeyPress events with retrieved WM_(SYS)CHAR message information rather than retrieved information from active keyboard layout. Therefore, NeedsToHandleWithoutFollowingCharMessages() doesn't return true even when mCommittedCharsAndModifiers stores two or more characters. FYI: there is a bug in test_keycodes.xul. That is, Alt+'A' of Greek keyboard layout should cause WM_SYSCHAR with a corresponding Greek character but ASCII characters are specified. Therefore, this patch includes the fix of these bugs MozReview-Commit-ID: JVm7ZJVug0O
b0bfc311518fd99a99a3c29c0f2c246142e51e22: Bug 1303273 part.2 KeyboardLayout::InitNativeKey() should initialize aNativeKey.mCommittedCharsAndModifiers with following WM_CHAR or WM_SYSCHAR messages which are not providing a control character r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 07 Oct 2016 11:36:34 +0900 - rev 422117
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1303273 part.2 KeyboardLayout::InitNativeKey() should initialize aNativeKey.mCommittedCharsAndModifiers with following WM_CHAR or WM_SYSCHAR messages which are not providing a control character r?m_kato First, mCommittedCharsAndModifiers should be initialized with following char messages because the messages could be different from the information of current keyboard layout. So, this patch guarantees that mCommittedCharsAndModifiers are same as the user expected when there is one or more WM_CHAR or WM_SYSCHAR messages. MozReview-Commit-ID: I5Ack0xccoL
1f016efedd843bb7cf31726467435bba76d9600e: Bug 1303273 part.1 KeyboardLayout::IsSysKey() should check MODIFIER_ALT as a bit flag r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 07 Oct 2016 11:20:31 +0900 - rev 422116
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1303273 part.1 KeyboardLayout::IsSysKey() should check MODIFIER_ALT as a bit flag r?m_kato This is a simple mistake and blocks following patchs' automated tests. For example, when Alt+Shift+foo doesn't cause text, this returns false even though it should return true. MozReview-Commit-ID: 91L33vZhouT
9fed0a40ddacaf32e8975c5c834e4129b91a8b6f: Bug 1307112 part.10 Clean up NativeKey::HandleCharMessage() r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 04 Oct 2016 23:01:14 +0900 - rev 422115
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1307112 part.10 Clean up NativeKey::HandleCharMessage() r?m_kato Now, NativeKey::HandleCharMessage() has almost same code, one is for dispatching eKeyPress event for non-printable keys or printable keys when one of Alt or Ctrl key is pressed, the other is for printable keys when Alt or Ctrl key is pressed. The difference of them is, the former block removes Alt state and Ctrl state for handling AltGr key. When AltGr key is pressed, both Alt and Ctrl state are true. However, EditorBase treas keypress events whose altKey or ctrlKey is true as non-printable key event. Therefore, we need to set these modifier state to false when AltGr key is pressed and the key causes some text. Note that as far as we know, when a key press with AltGr doesn't cause any characters, WM_CHAR isn't generated. Therefore, we don't need to check with complicated logic if the key event is actually inputting a character. MozReview-Commit-ID: BRNWfICvkSm
8b1689c6821af7164d6eb4a6fe79d8d597f246bd: Bug 1307112 part.9 Get rid of remaining hacks for KeyboardEvent.charCode when Ctrl or Alt is pressed r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 04 Oct 2016 22:21:49 +0900 - rev 422114
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1307112 part.9 Get rid of remaining hacks for KeyboardEvent.charCode when Ctrl or Alt is pressed r?m_kato Current shortcut key handling is really difference from what we did before struggling with "key hell". Therefore, remaining hacks for charCode in NativeKey::HandleCharMessage() are not necessary because they are for old code. MozReview-Commit-ID: 3hvsBOiJ6VV
c71f71351f37c5ac918bff61350d63338fe313e1: Bug 1307112 part.8 NativeKey::HandleCharMessage() shouldn't dispatch eKeyPress event when its message is inputting a control character r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 05 Oct 2016 15:18:00 +0900 - rev 422113
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1307112 part.8 NativeKey::HandleCharMessage() shouldn't dispatch eKeyPress event when its message is inputting a control character r?m_kato This patch makes NativeKey::HandleCharMessage() stop dispatching eKeyPress event when the message is inputting a control character. NativeKey::HandleCharMessage() runs following cases: 1. WM_KEYDOWN followed by a WM_CHAR message whose wParam is not a control character causes inputting printable characters. 2. WM_CHAR message is received without WM_KEYDOWN message. So, when HandleCharMessage() is called for a control character, it's unusual case. E.g., another application sends only WM_CHAR message with a control character. On the other hand, Gecko is the only browser which dispatches "keypress" event even if pressed printable key doesn't cause inputting any characters. And such "keypress" event is used for shortcut key handling and some default action handling. So, even if we stop dispatching eKeyPress event from HandleCharMessage(), it shouldn't affect most users. Note that this patch does NOT change the behavior when the user inputs a control character with usual keyboard layout such as Ctrl+A of en-US keyboard layout because DispatchKeyPressEventsWithoutCharMessage() dispatches eKeyPress event in such cases. This patch also adds a lot of tests with Ctrl or Alt state for detecting regressions. MozReview-Commit-ID: KUNqTp7RDSc
7ff3951502538292e069961ee94d43fd18ddad95: Bug 1307112 part.7 Get rid of Enter and Backspace key hack in NativeKey class r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 04 Oct 2016 00:21:40 +0900 - rev 422112
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1307112 part.7 Get rid of Enter and Backspace key hack in NativeKey class r?m_kato Currently, Enter and Backspace keys are handled without following WM_(SYS)CHAR message. However, older code needs hack for them for avoiding conflict with Ctrl+J vs. Ctrl+Enter, etc. So, we can get rid of them now. And when a keydown causes inputting a control character, NativeKey should handle it with keyboard layout (i.e., without following char message(s)). MozReview-Commit-ID: 6bVuK0BzFbx
b6d9c23a6ae6dff88111bce3acc589de3a64a25f: Bug 1307112 part.6 Get rid of char message argument from public NativeKey::HandleCharMessage() method r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 03 Oct 2016 23:55:14 +0900 - rev 422111
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1307112 part.6 Get rid of char message argument from public NativeKey::HandleCharMessage() method r?m_kato Currently, NativeKey::HandleCharMessage() is only a public method and it takes any char message. However, when it's called outside of NativeKey, it should work only with NativeKey::mMsg. Therefore, we should make current HandleCharMessage() a private method and create new overload method which doesn't take MSG as an argument. MozReview-Commit-ID: LowV2FUmR3U
d5198635248f63476be0165c7010358c16e30ef1: Bug 1307112 part.5 NativeKey should skip non-printable char messages when it initializes mCommittedCharsAndModifiers with following char messages r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 03 Oct 2016 18:20:29 +0900 - rev 422110
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1307112 part.5 NativeKey should skip non-printable char messages when it initializes mCommittedCharsAndModifiers with following char messages r?m_kato NativeKey shouldn't include characters which are provided by WM_SYSCHAR message or WM_DEADCHAR message into mCommittedCharsAndModifiers. MozReview-Commit-ID: Ax1BmO5wTy0
169705dc7d3a8778006b624f82724ca24db294f3: Bug 1307112 part.4 Rename NativeKey::IsFollowedByNonControlCharMessage() to IsFollowedByPrintableCharMessage() r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 03 Oct 2016 18:07:33 +0900 - rev 422109
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1307112 part.4 Rename NativeKey::IsFollowedByNonControlCharMessage() to IsFollowedByPrintableCharMessage() r?m_kato For consistency with IsPrintableCharMessage(), IsFollowedByNonControlCharMessage() should be renamed to IsFollowedByPrintableCharMessage(). MozReview-Commit-ID: CBJFPO4FZej
1987827133219973826197e6213cf1f703ce3b09: Bug 1307112 part.3 NativeKey::IsFollowedByNonControlCharMessage() should return true when one of following char messages is a printable char message r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 03 Oct 2016 18:03:46 +0900 - rev 422108
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1307112 part.3 NativeKey::IsFollowedByNonControlCharMessage() should return true when one of following char messages is a printable char message r?m_kato Currently, NativeKey::IsFollowedByNonControlCharMessage() returns true only when the first char message is a printable char message. Although, I don't know actual cases coming printable WM_CHAR message after non-printable char message, i.e., 1. WM_SYSCHAR or WM_DEADCHAR 2. WM_CHAR for a printable character or 1. WM_CHAR with a non-printable character (a control character) 2. WM_CHAR with a printable character , we should make it return true because when one or more characters are being inputted, we should ignore non-printable char messages and handle printable char messages in the path handling text input. MozReview-Commit-ID: 1v7v5mCRFCP
417693bac62d9d9dda311a52eebe659ff220e2e3: Bug 1307112 part.2 Create NativeKey::IsPrintableCharMessage() which returns true when given message is WM_CHAR and inputting a printable character r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 03 Oct 2016 17:52:41 +0900 - rev 422107
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1307112 part.2 Create NativeKey::IsPrintableCharMessage() which returns true when given message is WM_CHAR and inputting a printable character r?m_kato MozReview-Commit-ID: 7f74273Ogo5
2a0096f765d5aacb87dfaf6a396d42da13054742: Bug 1307112 part.1 Rename NativeKey::IsPrintableCharMessage() to IsCharOrSysCharMessage() r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 03 Oct 2016 17:45:03 +0900 - rev 422106
Push 31699 by masayuki@d-toybox.com at Fri, 07 Oct 2016 14:11:19 +0000
Bug 1307112 part.1 Rename NativeKey::IsPrintableCharMessage() to IsCharOrSysCharMessage() r?m_kato Currently, NativeKey::IsPrintableCharMessage() returns true if given message is WM_CHAR or WM_SYSCHAR. However, WM_SYSCHAR never causes inputting any character and even if WM_CHAR has a control character (i.e., non-printable character), it returns true. MozReview-Commit-ID: IoU5F06WImz
d7043894815c710e0ac8f684d1596fa06e48178d: Bug 1307164 - Enable Intl API on Android; fix mozIntl tests. r?gandalf draft
Staś Małolepszy <stas@mozilla.com> - Thu, 06 Oct 2016 22:58:22 +0200 - rev 422105
Push 31698 by smalolepszy@mozilla.com at Fri, 07 Oct 2016 14:09:28 +0000
Bug 1307164 - Enable Intl API on Android; fix mozIntl tests. r?gandalf MozReview-Commit-ID: CAgg2dAqWKD
d8bb5765a8ac68978ee55c65c5d474c1358917ae: Bug 1308467 - fix fronts/css-properties.js when remote debugging old firefox;r=tromey draft
Julian Descottes <jdescottes@mozilla.com> - Fri, 07 Oct 2016 15:53:30 +0200 - rev 422104
Push 31697 by jdescottes@mozilla.com at Fri, 07 Oct 2016 14:02:36 +0000
Bug 1308467 - fix fronts/css-properties.js when remote debugging old firefox;r=tromey MozReview-Commit-ID: 365CiBV8uha
59b15eae7bb675cd0345ba045e4db856ff85dbcc: Bug 1308467 - fix fronts/css-properties.js when remote debugging old firefox;r=tromey draft
Julian Descottes <jdescottes@mozilla.com> - Fri, 07 Oct 2016 15:53:30 +0200 - rev 422103
Push 31696 by jdescottes@mozilla.com at Fri, 07 Oct 2016 13:54:32 +0000
Bug 1308467 - fix fronts/css-properties.js when remote debugging old firefox;r=tromey MozReview-Commit-ID: 365CiBV8uha
3ab3df000e86d58ad87946318e4b78d18e8712a1: Bug 1288577 - Firebug theme - Fix selection color in the net monitor r?jsnajdr draft
Xue Fuqiao <xfq.free@gmail.com> - Fri, 07 Oct 2016 21:04:34 +0800 - rev 422102
Push 31695 by bmo:xfq.free@gmail.com at Fri, 07 Oct 2016 13:43:48 +0000
Bug 1288577 - Firebug theme - Fix selection color in the net monitor r?jsnajdr MozReview-Commit-ID: FJN4x267God
820bff2f440d8d635f00b1f3b5427ea462fc240c: Bug 1291381 - Enable touch tests on Windows. r?botond draft
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 07 Oct 2016 09:24:04 -0400 - rev 422101
Push 31694 by kgupta@mozilla.com at Fri, 07 Oct 2016 13:24:53 +0000
Bug 1291381 - Enable touch tests on Windows. r?botond MozReview-Commit-ID: HsIdJjGkc2m
723828fb3688b2504bc99c58a387ba5a4cc35076: Bug 1291381 - Fix helper_long_tap.html and helper_tap_passive.html to work with the Windows long-press event sequence. r?botond draft
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 07 Oct 2016 09:23:42 -0400 - rev 422100
Push 31694 by kgupta@mozilla.com at Fri, 07 Oct 2016 13:24:53 +0000
Bug 1291381 - Fix helper_long_tap.html and helper_tap_passive.html to work with the Windows long-press event sequence. r?botond MozReview-Commit-ID: B2meLwi92ac
52cd75f3993b9e69410f75d942bc9f80c4046d6f: Bug 1308467 - fix fronts/css-properties.js when remote debugging old firefox;r=tromey draft
Julian Descottes <jdescottes@mozilla.com> - Fri, 07 Oct 2016 15:03:59 +0200 - rev 422099
Push 31693 by jdescottes@mozilla.com at Fri, 07 Oct 2016 13:06:37 +0000
Bug 1308467 - fix fronts/css-properties.js when remote debugging old firefox;r=tromey MozReview-Commit-ID: 365CiBV8uha
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip