927bfc865b55d9d7f94df43f13cc725f555d580e: Bug 1303273 part.9 NativeKey::mFollowingCharMsgs should be AutoTArray r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 07 Oct 2016 14:38:14 +0900 - rev 317556
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Bug 1303273 part.9 NativeKey::mFollowingCharMsgs should be AutoTArray r=m_kato Similarly, NativeKey is a stack class and mFollowingCharMsgs which stores following char messages of WM_(SYS)KEYDOWN should be AutoTArray for preventing to use heap at handling inputs with usual keyboard layout. 5 is enough size for handling usual keyboard layout because we support only 5 or less characters per dead key sequence. MozReview-Commit-ID: IphcIOmPW0C
f34b67c757f7d1efc3cc9540574b355e8ebf74f5: Bug 1303273 part.8 UniCharsAndModifiers should use nsAutoString and AutoTArray to store characters and modifiers r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 07 Oct 2016 14:32:45 +0900 - rev 317555
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Bug 1303273 part.8 UniCharsAndModifiers should use nsAutoString and AutoTArray to store characters and modifiers r=m_kato Fortunately, UniCharsAndModifiers instances are only in stack. Therefore, we can make it a stack class and use nsAutoString and AutoTArray for not using heap at handling inputs from usual keyboard layouts. MozReview-Commit-ID: 9ZPbdjGst64
65d72f0e62aaa257e6f99cd2c8ae99f84079f24d: Bug 1303273 part.7 Hide UniCharsAndModifiers::mLength and make its type size_t r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 07 Oct 2016 13:39:15 +0900 - rev 317554
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Bug 1303273 part.7 Hide UniCharsAndModifiers::mLength and make its type size_t r=m_kato MozReview-Commit-ID: 7QLdmgopOwG
816a22bf25dd271af46fe5f2df1f92bb9b47c2aa: Bug 1303273 part.6 Hide UniCharsAndModifiers::mModifiers r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 07 Oct 2016 13:25:40 +0900 - rev 317553
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Bug 1303273 part.6 Hide UniCharsAndModifiers::mModifiers r=m_kato MozReview-Commit-ID: 9KKN5mlJadg
24569a5965780e2a85edc51f9393d40fbbe99ee5: Bug 1303273 part.5 UniCharsAndModifiers should hide mChars r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 07 Oct 2016 12:04:49 +0900 - rev 317552
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Bug 1303273 part.5 UniCharsAndModifiers should hide mChars r=m_kato Now, we have an security issue. mCommittedCharsAndModifiers may be initialized with multiple WM_(SYS)CHAR messages. However, if it's generated by odd (or malicious) middleware, mCommittedCharsAndModifiers may be overflown because it has only fixed array. For fixing this issue, first, we should hide the members for making the users not depend on the design of UniCharsAndModifiers. This patch changes UniCharsAndModifiers to a class and hiding mChars and adding |CharAt() const|. MozReview-Commit-ID: 5EjrIhmCdE4
55817ab6a405b5c2e5999331797956ee2d9c6a0d: Bug 1303273 part.4 Add automated tests for bug 1293505, bug 1307703 and bug 1297985 r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 07 Oct 2016 11:42:20 +0900 - rev 317551
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Bug 1303273 part.4 Add automated tests for bug 1293505, bug 1307703 and bug 1297985 r=m_kato Now, NativeKey respects following WM_CHAR message. Therefore, we can create a test for bug 1293505 which a function key causes a printable character. Additionally, bug 1307703 is now fixed by the previous patch. So, let's add automated test for it too. Finally, now, I found a way to test with some keyboard layouts which are not available on old Windows. Therefore, we should add automated tests for bug 1297985 too. MozReview-Commit-ID: IqCEPbPYrcQ
4e3211aa00ab01a1d81e6af54939d6adbaee5d5f: 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
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 06 Oct 2016 20:52:03 +0900 - rev 317550
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +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
259115245f8516c724fe2db5b7fb2a4e5c144572: 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
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 07 Oct 2016 11:36:34 +0900 - rev 317549
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +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
a3446be6bb983efce2acfe46c4c7b504c7378d3f: Bug 1303273 part.1 KeyboardLayout::IsSysKey() should check MODIFIER_ALT as a bit flag r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 11 Oct 2016 13:00:45 +0900 - rev 317548
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +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
ed40af32ba488c95f210b7a6db3e4126aeee54b6: Bug 1309133 - null terminate pathBuf2 in SandboxBroker::ThreadMain. r=gcp
Andi-Bogdan Postelnicu <bpostelnicu@mozilla.com> - Tue, 11 Oct 2016 15:42:39 +0300 - rev 317547
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Bug 1309133 - null terminate pathBuf2 in SandboxBroker::ThreadMain. r=gcp MozReview-Commit-ID: 8iA4Yzwj8nv
51dc2ac80cf14d15b60cd92d843f12c77b4b53b3: Merge mozilla-central to autoland
Carsten "Tomcat" Book <cbook@mozilla.com> - Tue, 11 Oct 2016 13:06:12 +0200 - rev 317546
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Merge mozilla-central to autoland
6173757aa33a0adb8ce3239e97eb3281eb6a4c9a: Bug 1309160 - prevent null pointer dereference when calling TraceRootRange/ r=jandem
Andi-Bogdan Postelnicu <bpostelnicu@mozilla.com> - Tue, 11 Oct 2016 14:15:25 +0300 - rev 317545
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Bug 1309160 - prevent null pointer dereference when calling TraceRootRange/ r=jandem MozReview-Commit-ID: EhcmRbtyFVN
a4c3d4d2588ceb1500aab82e2410396cca01755e: Bug 1306234 - stop flickering when the background color of the findbar dimmed highlighting mode changes and make sure the color changes if needed when all the ranges have been found as well. r=jaws
Mike de Boer <mdeboer@mozilla.com> - Tue, 11 Oct 2016 11:09:17 +0200 - rev 317544
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Bug 1306234 - stop flickering when the background color of the findbar dimmed highlighting mode changes and make sure the color changes if needed when all the ranges have been found as well. r=jaws MozReview-Commit-ID: KAokVKOgSei
d98cc2898db4ecdb8a81b718f2751fd75ab8c05d: Bug 1305033 - make adjustments to the outline box style when one the ranges' rects overlap each other in the find toolbar dimmed highlighting mode. r=jaws
Mike de Boer <mdeboer@mozilla.com> - Tue, 11 Oct 2016 10:51:05 +0200 - rev 317543
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Bug 1305033 - make adjustments to the outline box style when one the ranges' rects overlap each other in the find toolbar dimmed highlighting mode. r=jaws MozReview-Commit-ID: 3vclEAPw1rU
5edc55eb4c9c54b45e8d43dacfd45ed302d64b00: Backed out changeset 9d2383c4a89a (bug 1308076) for bustage: 'mozilla::BigEndian' has not been declared. r=backout on a CLOSED TREE
Sebastian Hengst <archaeopteryx@coole-files.de> - Tue, 11 Oct 2016 10:42:05 +0200 - rev 317542
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Backed out changeset 9d2383c4a89a (bug 1308076) for bustage: 'mozilla::BigEndian' has not been declared. r=backout on a CLOSED TREE
00004bebfe006cb831c1ecc8b8bfadc242f476be: Backed out changeset 690638851e62 (bug 1308076)
Sebastian Hengst <archaeopteryx@coole-files.de> - Tue, 11 Oct 2016 10:41:29 +0200 - rev 317541
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Backed out changeset 690638851e62 (bug 1308076)
3a50b5d1be7499da54f96ef73325c08f85a8f479: Backed out changeset 68f1d429368c (bug 1308076)
Sebastian Hengst <archaeopteryx@coole-files.de> - Tue, 11 Oct 2016 10:41:25 +0200 - rev 317540
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Backed out changeset 68f1d429368c (bug 1308076)
0913c44e357e8ebf08401eb05448479bc6fe5529: Backed out changeset b2ef285116b3 (bug 1308076)
Sebastian Hengst <archaeopteryx@coole-files.de> - Tue, 11 Oct 2016 10:41:20 +0200 - rev 317539
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Backed out changeset b2ef285116b3 (bug 1308076)
0a86b763825593f9a31bd57b7237d7b637267561: Backed out changeset 40ce3fa30dfa (bug 1308076)
Sebastian Hengst <archaeopteryx@coole-files.de> - Tue, 11 Oct 2016 10:41:16 +0200 - rev 317538
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Backed out changeset 40ce3fa30dfa (bug 1308076)
2b7dd0a985e58fda6cb8edc526bde7d64e315c2e: Backed out changeset 6281e90a180f (bug 1308076)
Sebastian Hengst <archaeopteryx@coole-files.de> - Tue, 11 Oct 2016 10:41:12 +0200 - rev 317537
Push 82684 by cbook@mozilla.com at Wed, 12 Oct 2016 10:04:02 +0000
Backed out changeset 6281e90a180f (bug 1308076)
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip