f05cf88d42fa0e6060f674f832f23332a0b0916c: Bug 1215818 - part 2: Add telemetry probe to collect IME usage on macOS r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 20 Jun 2018 11:33:42 +0900 - rev 810609
Push 114050 by masayuki@d-toybox.com at Tue, 26 Jun 2018 07:59:02 +0000
Bug 1215818 - part 2: Add telemetry probe to collect IME usage on macOS r?m_kato This patch adds a telemetry probe to collect Input Source ID or Bundle ID of IME when an IME open mode is selected by user. Input Source ID includes input mode of IME, but Bundle ID does not so. In most languages, we need to collect the former, but only for Japanese IME, we need to collect the latter because non-Japanese IME's input mode is "how to input characters". So, the input mode is important. However, Japanese IME's input mode is "to input which type of characters". So, Japanese IME user may use multiple input modes but we need only the IME mode. If we'd collect number of each input mode users of Japanese language, it'd be difficult to count how many users actually used typical Japanese IME since somebody may use only a mode, some others may use only different modes. So, this patch collects Input Source ID when non-Japanese IME is open and Bundle ID when Japanese IME is open. MozReview-Commit-ID: CltLrWVGyRk
2c3a4585d43ecae8398478de50a06b589e6b13fc: Bug 1215818 - part 1: Add telemetry probe to collect TIP names of TSF which are actually used by the users r?jimm, m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 19 Jun 2018 21:00:01 +0900 - rev 810608
Push 114050 by masayuki@d-toybox.com at Tue, 26 Jun 2018 07:59:02 +0000
Bug 1215818 - part 1: Add telemetry probe to collect TIP names of TSF which are actually used by the users r?jimm, m_kato We always struggle with a lot of IME bugs on Windows. Currently, any IME vendors should've already released TIP for TSF rather than legacy IMM-IME since IMM-IME is not available on UWP apps. Additionally, due to API limitation, it's difficult to get human-friendly name of IMM-IME. So, let's collect only TIP names of TSF on Windows. This must be enough. Note that we cannot get common-English name even though the API to retrieve TIP name taking language code. Therefore, a TIP may be collected with different name, e.g., one is Japanese name and the other is English name. If we collect GUIDs of TIP, we can avoid this issue. However, it's difficult to collect both GUID and human-friendly name since Telemetry key is up to 72 characters. Currently, I give up to avoid this duplicated issue. Perhaps, this is not so serious issue since most TIP users must match language of TIP and their system language settings. Therefore, this patch collects Locale ID of TIP and description of it. Locale ID is necessary because some TIPs may be named same name for different languages. For example, both Japanese and Hangul IMEs of Microsoft are named as "Microsoft IME". MozReview-Commit-ID: IeSxfeqS62a
873e8e86f4f90f1e8b9f1432df2733192f3a250e: Bug 900750 - part 6: Rename |name| in test_keycodes.xul to |currentTestName| r?smaug draft
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 04 Jun 2018 20:41:43 +0900 - rev 810607
Push 114050 by masayuki@d-toybox.com at Tue, 26 Jun 2018 07:59:02 +0000
Bug 900750 - part 6: Rename |name| in test_keycodes.xul to |currentTestName| r?smaug |name| is too generic but the scope is too wide in test_keycodes.xul. So, let's rename it to |currentTestName|. MozReview-Commit-ID: JvEDhRhKYCU
ba3ae8a11369861bde74ef07eb310714c486d767: Bug 900750 - part 5: Make NativeKey set KeyboardEvent.key value of AltRight key to "AltGraph" when active keyboard layout has AltGr key r?m_kato, smaug draft
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 31 May 2018 18:36:33 +0900 - rev 810606
Push 114050 by masayuki@d-toybox.com at Tue, 26 Jun 2018 07:59:02 +0000
Bug 900750 - part 5: Make NativeKey set KeyboardEvent.key value of AltRight key to "AltGraph" when active keyboard layout has AltGr key r?m_kato, smaug When AltGr key is pressed, following messages come: 1. WM_KEYDOWN for ControlLeft 2. WM_KEYDOWN for AltLeft 3. WM_SYSKEYUP for ControlLeft 4. WM_KEYUP for AltLeft In these key sequence, KeyboardEvent.key value of keydown event at #2 and keyup event at #4 should be "AltGraph". This patch fixes the key value and adding new test into test_keycodes.xul to check the behavior with SynthesizeNativeKey(). MozReview-Commit-ID: JZ6WednB8la
39ec2dc6e9a88419938b6505e8872247823d1754: Bug 900750 - part 4: Make NativeKey replaces MODIFIER_CONTROL and MODIFIER_ALT of mModKeyState with MODIFIER_ALTGRAPH if user emulates AltGr key press with pressing both Ctrl and Alt keys and current keydown produces character(s) r?m_kato, smaug draft
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 04 Jun 2018 14:45:28 +0900 - rev 810605
Push 114050 by masayuki@d-toybox.com at Tue, 26 Jun 2018 07:59:02 +0000
Bug 900750 - part 4: Make NativeKey replaces MODIFIER_CONTROL and MODIFIER_ALT of mModKeyState with MODIFIER_ALTGRAPH if user emulates AltGr key press with pressing both Ctrl and Alt keys and current keydown produces character(s) r?m_kato, smaug Users can emulate AltGr key with pressing both Ctrl key and Alt key on Windows since AltGr is represented as so in Windows and physical keyboard may not have AltRight key. If user emulates AltGr key, we should set MODIFIER_ALTGRAPH to a set of keyboard events for printable keys only when the key press produces character(s) or a dead key. For example: 1. ControlLeft keydown event should make ctrlKey true. 2. AltLeft keydown event should make altKey true (not AltGraph state). 3. ctrlKey and altKey of printable keydown, keypress and keyup events should be set to false, but getModifierState("AltGraph") should return true. 4. AltLeft keyup event should make altKey false. 5. ControlLeft keyup event should make ctrlKey false. (If AltLeft key is pressed first, altKey of AltLeft keydown is true and both altKey and ctrlKey of the following ControlLeft keydown are true as usual.) MozReview-Commit-ID: 8Km8GXPDQw1
58d29f55590e9799e29861e3ea94e5555d3c13ba: Bug 900750 - part 3: Remove unnecessary ModifierKeyState argument from some methods of NativeKey and KeyboardLayout r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 01 Jun 2018 15:22:41 +0900 - rev 810604
Push 114050 by masayuki@d-toybox.com at Tue, 26 Jun 2018 07:59:02 +0000
Bug 900750 - part 3: Remove unnecessary ModifierKeyState argument from some methods of NativeKey and KeyboardLayout r?m_kato KeyboardLayout::InitNativeKey() takes |const ModifierKeyState&| as its argument with NativeKey reference and it calls some internal methods with the given ModifierKeyState without any changes. Additionally, its caller is only NativeKey::InitWithKeyChar() and its called with given NativeKey instance's mModKeyState. So, removing the redundant arguments from some methods makes them clearer what they compute with. So, this patch does not change any behavior. MozReview-Commit-ID: 3w9Ee7PMU05
9f114fddcda61dba38d20e54dc4a20b0e51a8885: Bug 900750 - part 2: Make ModifierKeyState and VirtualKey treat AltGraph as new modifier and won't set Control and Alt state while AltGraph is active r?m_kato, smaug draft
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 30 May 2018 17:27:31 +0900 - rev 810603
Push 114050 by masayuki@d-toybox.com at Tue, 26 Jun 2018 07:59:02 +0000
Bug 900750 - part 2: Make ModifierKeyState and VirtualKey treat AltGraph as new modifier and won't set Control and Alt state while AltGraph is active r?m_kato, smaug By the proposal from Google, <https://github.com/w3c/uievents/issues/147>, Chromium treat AltRight key as "AltGraph" modifier if the keyboard layout has AltGr key. When AltRight key is pressed with a keyboard layout which has AltGr key, modifiers should as following: 1. "keydown" for ControlLeft: ctrlKey: true, altKey: false, getModifierState("AltGraph"): false 2. "keydown" for AltRight: ctrlKey: false, altKey: false, getModifierState("AltGraph"): true 3. Some "keydown", "keypress" and "keyup" events: ctrlKey: false, altKey: false, getModifierState("AltGraph"): true 4. "keyup" for ControlLeft: ctrlKey: false, altKey: false, getModifierState("AltGraph"): true 5. "keyup" for AltRight: ctrlKey: false, altKey: false, getModifierState("AltGraph"): false So, only when the preceding "keydown" event for ControlLeft, ctrlKey should be set to true as usual. However, after AltRight key is pressed actually, we should treat "AltGraph" modifier is true and both ctrlKey and altKey should be set to false for web apps can handle text input normally. So, MODIFIER_ALTGRAPH and MODIFIER_CONTROL/MODIFIER_ALT should not be set at the same time. This patch makes ModifierKeyState have only MODIFIER_ALTGRAPH or MODIFIER_CONTROL/MODIFIER_ALT. Additionally, this patch makes VirtualKey::ShiftState treat "AltGraph" as a modifier. So, now, VirtualKey needs to convert ShiftState to index value when it accesses its mShiftStates array. Therefore, this patch adds VirtualKey::ToIndex() and make each VirtualKey method use it before accessing mShiftStates. Note that this patch also fixes bug of WinUtils::SetupKeyModifiersSequence(). The constructor of KeyPair takes 2 keycode values, but the second virtual keycode can have scancode to distinguish if the key is left or right. However, WinUtils::SetupKeyModifiersSequence() never sets scancode to KeyPair. Therefore, it fails to dispatch AltRight key event. MozReview-Commit-ID: 7ealxJH9KlZ
803514a300151dcfee0597ae239542c245d67cce: Bug 900750 - part 1: Make KeyboardLayout store the information if current keyboard layout has AltGr key r?m_kato draft
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 29 May 2018 20:36:38 +0900 - rev 810602
Push 114050 by masayuki@d-toybox.com at Tue, 26 Jun 2018 07:59:02 +0000
Bug 900750 - part 1: Make KeyboardLayout store the information if current keyboard layout has AltGr key r?m_kato For setting AltRight key's key value to "AltGraph" if it should work as so, we need to know if current keyboard layout has AltGr key. Unfortunately, Windows doesn't provide such information but we retrieve all input characters from each key when a keyboard layout is loaded. So, when we load a keyboard layout, we can mark if current keyboard layout has AltGr key with checking at least one key inputs different character(s) when AltGr key is pressed. MozReview-Commit-ID: 8GI3phSVTUS
111a0a89e6d5b42ae06309c6c4cd7cc01e68fea5: Bug 1470128 - Instrument inspector shadowdom support;r=pbro draft
Julian Descottes <jdescottes@mozilla.com> - Mon, 25 Jun 2018 14:33:21 +0200 - rev 810601
Push 114049 by jdescottes@mozilla.com at Tue, 26 Jun 2018 07:59:00 +0000
Bug 1470128 - Instrument inspector shadowdom support;r=pbro MozReview-Commit-ID: JCknoaPiSlR
d0e780de6ccdac2267c194ac2047578b9b8c93fd: Bug 1468343 - Part 4: Add test for infinity duration. r?jdescottes draft
Daisuke Akatsuka <dakatsuka@mozilla.com> - Tue, 26 Jun 2018 16:57:55 +0900 - rev 810600
Push 114048 by bmo:dakatsuka@mozilla.com at Tue, 26 Jun 2018 07:58:30 +0000
Bug 1468343 - Part 4: Add test for infinity duration. r?jdescottes MozReview-Commit-ID: Jc9UefSr1To
2670f047d96dc0db032d49d00d10b4c46cb761ef: Bug 1468343 - Part 3: Change tooltip content to address infinity duration. r?jdescottes,r?flod draft
Daisuke Akatsuka <dakatsuka@mozilla.com> - Tue, 26 Jun 2018 16:57:50 +0900 - rev 810599
Push 114048 by bmo:dakatsuka@mozilla.com at Tue, 26 Jun 2018 07:58:30 +0000
Bug 1468343 - Part 3: Change tooltip content to address infinity duration. r?jdescottes,r?flod MozReview-Commit-ID: 4DXXbhGgWF1
22aa40759a2b04fb877c3d96790c78adfe50c2ea: Bug 1468343 - Part 2: Change tick label to address infinity duration. r?jdescottes,r?flod draft
Daisuke Akatsuka <dakatsuka@mozilla.com> - Tue, 26 Jun 2018 16:05:11 +0900 - rev 810598
Push 114048 by bmo:dakatsuka@mozilla.com at Tue, 26 Jun 2018 07:58:30 +0000
Bug 1468343 - Part 2: Change tick label to address infinity duration. r?jdescottes,r?flod MozReview-Commit-ID: LBnH5GnZ25z
0127a302c224c19e69484e650fd53b38702a5256: Bug 1470128 - Instrument inspector shadowdom support;r=pbro draft
Julian Descottes <jdescottes@mozilla.com> - Mon, 25 Jun 2018 14:33:21 +0200 - rev 810597
Push 114047 by jdescottes@mozilla.com at Tue, 26 Jun 2018 07:53:27 +0000
Bug 1470128 - Instrument inspector shadowdom support;r=pbro MozReview-Commit-ID: JCknoaPiSlR
a8c27d238235b895cb5167cc8ef96ab42b83462b: Bug 1469959 - Don't use relatedTarget to check if the ObjectInspector was focused by tabbing; r=bgrins. draft
Nicolas Chevobbe <nchevobbe@mozilla.com> - Mon, 25 Jun 2018 17:57:15 +0200 - rev 810596
Push 114046 by bmo:nchevobbe@mozilla.com at Tue, 26 Jun 2018 07:48:24 +0000
Bug 1469959 - Don't use relatedTarget to check if the ObjectInspector was focused by tabbing; r=bgrins. Basically this rolls back the changes made to the reps bundle in Bug 1463415. This change will be backported in Github later so the fix can ride the train. A test is added to make sure we don't regress again. MozReview-Commit-ID: Csak2pPyTOR
883fa5db7bb39084fe9e1e18edcd0227c5a44722: Bug 1470965: Fix refcount sanity in nsIPrincipal.addonPolicy getter. r?mixedpuppy draft
Kris Maglione <maglione.k@gmail.com> - Tue, 26 Jun 2018 00:19:46 -0700 - rev 810595
Push 114045 by maglione.k@gmail.com at Tue, 26 Jun 2018 07:20:08 +0000
Bug 1470965: Fix refcount sanity in nsIPrincipal.addonPolicy getter. r?mixedpuppy MozReview-Commit-ID: KuDN3joKi7S
d22d84880927dfd328d1e2d829c8e7e624587bec: Bug 1471132 - Make building a binary component a compile-time error. r?froydnj draft
Mike Hommey <mh+mozilla@glandium.org> - Tue, 26 Jun 2018 16:18:14 +0900 - rev 810594
Push 114044 by bmo:mh+mozilla@glandium.org at Tue, 26 Jun 2018 07:19:25 +0000
Bug 1471132 - Make building a binary component a compile-time error. r?froydnj Loading binary components is not supported since bug 1314955.
5f1d71046c36f44f441aff6e3cb52896a72df1a2: Bug 1471132 - Change how static xpcom components are initialized. r?froydnj draft
Mike Hommey <mh+mozilla@glandium.org> - Tue, 26 Jun 2018 16:10:30 +0900 - rev 810593
Push 114044 by bmo:mh+mozilla@glandium.org at Tue, 26 Jun 2018 07:19:25 +0000
Bug 1471132 - Change how static xpcom components are initialized. r?froydnj The sStaticModules list is, practically speaking, a copy of the list of components we already have in libxul, augmented at runtime with a few other components for tests (for gtest and xpcshell). We don't actually need to keep that copy in memory. We can instead just use the pointers in libxul directly to register them to the component manager, and use a separate list, only for those extra components when they need to be registered.
f2109d8f3747b6f0e21c46ccb013213d8d1b8cd1: Bug 1471132 - Change how static xpcom components are linker. r?froydnj draft
Mike Hommey <mh+mozilla@glandium.org> - Tue, 26 Jun 2018 14:40:51 +0900 - rev 810592
Push 114044 by bmo:mh+mozilla@glandium.org at Tue, 26 Jun 2018 07:19:25 +0000
Bug 1471132 - Change how static xpcom components are linker. r?froydnj Overall, this makes the whole setup less fragile, and make it work with LTO in more situations.
0edc1314aeb59ad5705562f23ce53ddddf34ec8f: Bug 1471132 - Avoid ASAN padding between NSModules. r?froydnj draft
Mike Hommey <mh+mozilla@glandium.org> - Tue, 26 Jun 2018 14:39:49 +0900 - rev 810591
Push 114044 by bmo:mh+mozilla@glandium.org at Tue, 26 Jun 2018 07:19:25 +0000
Bug 1471132 - Avoid ASAN padding between NSModules. r?froydnj
249b048bc9337853c5d334050b14b7e602f57d27: Bug 1470127 - Move binary checks to a standalone script. r?build draft
Mike Hommey <mh+mozilla@glandium.org> - Thu, 21 Jun 2018 18:13:03 +0900 - rev 810590
Push 114044 by bmo:mh+mozilla@glandium.org at Tue, 26 Jun 2018 07:19:25 +0000
Bug 1470127 - Move binary checks to a standalone script. r?build We perform, on the binaries we build, a series of check, that are implemented as half-backed make commands, invoked after linking them. - check libstdc++ symbol versions to ensure binary compatibility with a baseline. - check glibc symbol versions to ensure binary compatibility with a baseline. - check that target binaries don't contain text relocations. - check that libmozglue is linked before libc on android. - on libxul, check that NSModules are laid out correctly. - on libxul, check that there is more than one PT_LOAD segment. Those checks happen to work where they matter, but their setup is unreliable. For example, the checks for symbol versions are supposed to work for libclang-plugin on cross osx builds, but in fact, don't, because the readelf path doesn't exist, and the command doesn't fail in that case. So move them all to a standalone script, performing the checks more thoroughly (especially the NSModules one, where we now also check that they are all adjacent), and more verbosely.
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 tip