gecko-dev/widget/windows
Masayuki Nakano a20855c9f5 Bug 1441821 - NativeKey shouldn't mark eKeyDown and eKeyPress as "skippable in remote process" if message is not caused by physical key press r=m_kato,smaug
Currently, TabChild discards eKeyDown and eKeyPress events which are marked as
"repeated" and were dispatched after the latest eKeyDown event comes into the
process.  However, keyboard layout utils may generate native key events
as "repeated" even if each native key is important to input proper text.

So, TabChild shouldn't decide if coming keyboard event is skippable only with
mIsRepeat.  For solving this issue, this patch adds
mMaybeSkippableInRemoteProcess to WidgetKeyboardEvent and makes
TabChild::SkipRepeatedKeyEvent() check
WidgetKeyboardEvent::CanSkipInRemoteProcess() instead.

On Windows, there are two ways to generate keyboard input messages.  One is
using SendMessage() or PostMessage().  The other is SendInput() API.  In both
ways, utils can make their input as repeated key messages.

The former case must be safe for this issue since such utils need to set 31st
bit of lParam to 1 explicitly.

On the other hand, in the latter case, the utils probably need to append
KEYEVENTF_KEYUP into KEYBDINPUT::dwFlags.  Otherwise, only first call is
treated as non-repeated event.

So, when given message does not came from physical key operation, NativeKey
should set WidgetKeyboardEvent::mMaybeSkippableInRemoteProcess to false
even if WidgetKeyboardEvent::mIsRepeat is true.

MozReview-Commit-ID: 3rinrOjx8Tf

--HG--
extra : rebase_source : 26b6d869260176fc7ef535323b83001bb4b725c2
2018-06-06 23:35:16 +09:00
..
gtest Bug 1330529 - Followup to fix incorrect file path handling in PDFiumEngineShim. r=cpeterson 2018-02-24 17:22:27 +09:00
res
tests
AudioSession.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
AudioSession.h
CompositorWidgetChild.cpp Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel 2018-04-05 22:24:28 -05:00
CompositorWidgetChild.h Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
CompositorWidgetParent.cpp Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel 2018-04-05 22:24:28 -05:00
CompositorWidgetParent.h Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel 2018-04-05 22:24:28 -05:00
GfxInfo.cpp Bug 1457758: Blacklist NVidia driver 397.31. r=davidb 2018-05-17 16:46:52 +02:00
GfxInfo.h Bug 1441270 - Remove unused WebGL parameter getters. r=jgilbert 2018-02-26 20:35:12 +01:00
IEnumFE.cpp
IEnumFE.h
IMMHandler.cpp Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj 2018-04-28 12:50:58 -07:00
IMMHandler.h Bug 1409155 - IMEHandler should not associate IMC with any window if active IME is ATOK 2010 or earlier with x64 build on Win8 or later r=m_kato 2017-10-25 23:51:27 +09:00
InProcessWinCompositorWidget.cpp Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
InProcessWinCompositorWidget.h Bug 1448271 - Update some names of #include guards r=nical 2018-03-23 22:40:04 +09:00
InkCollector.cpp
InkCollector.h Backed out 22 changesets (bug 1399787) for shutdown leaks on windows 7 debug tc-M without e10s r=backout on a CLOSED TREE 2017-12-08 13:09:56 +02:00
JumpListBuilder.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
JumpListBuilder.h Bug 1376760 - Fix race condition for ICustomDestinationList usage. r=jimm 2017-07-06 14:06:09 +08:00
JumpListItem.cpp Bug 1357114 - Move the taskbar refresh timer to idle dispatch. r=florian 2017-09-07 12:15:13 +08:00
JumpListItem.h
KeyboardLayout.cpp Bug 1441821 - NativeKey shouldn't mark eKeyDown and eKeyPress as "skippable in remote process" if message is not caused by physical key press r=m_kato,smaug 2018-06-06 23:35:16 +09:00
KeyboardLayout.h Bug 1441821 - NativeKey shouldn't mark eKeyDown and eKeyPress as "skippable in remote process" if message is not caused by physical key press r=m_kato,smaug 2018-06-06 23:35:16 +09:00
LSPAnnotator.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
PCompositorWidget.ipdl Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel 2018-04-05 22:24:28 -05:00
PDFViaEMFPrintHelper.cpp Bug 685236 - Stop using GetNativePath in widget/windows. r=jimm 2017-12-16 14:51:31 +09:00
PDFViaEMFPrintHelper.h Bug 685236 - Stop using GetNativePath in widget/windows. r=jimm 2017-12-16 14:51:31 +09:00
PDFiumChild.cpp Bug 1399787 - Part 10. Make PrintTargetEMF use the PDFium process to convert to EMF. r=jwatt 2017-11-05 03:06:04 +08:00
PDFiumChild.h Bug 1399787 - Part 10. Make PrintTargetEMF use the PDFium process to convert to EMF. r=jwatt 2017-11-05 03:06:04 +08:00
PDFiumEngineShim.cpp Bug 1330529 - Followup to fix incorrect file path handling in PDFiumEngineShim. r=cpeterson 2018-02-24 17:22:27 +09:00
PDFiumEngineShim.h Bug 1330529 - Followup to fix incorrect file path handling in PDFiumEngineShim. r=cpeterson 2018-02-24 17:22:27 +09:00
PDFiumParent.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
PDFiumParent.h Bug 1424922 - Prevent calling PDFiumParent::Close twice. r=dvander 2017-12-13 12:42:59 +08:00
PDFiumProcessChild.cpp Bug 1330529 - Followup to fix incorrect file path handling in PDFiumEngineShim. r=cpeterson 2018-02-24 17:22:27 +09:00
PDFiumProcessChild.h Bug 1399787 - Part 9. Sandbox the PDFium process. r=bobowen,jwatt 2017-10-18 20:52:45 +08:00
PDFiumProcessParent.cpp Bug 1424922 - Prevent calling PDFiumParent::Close twice. r=dvander 2017-12-13 12:42:59 +08:00
PDFiumProcessParent.h Bug 1424922 - Prevent calling PDFiumParent::Close twice. r=dvander 2017-12-13 12:42:59 +08:00
PPDFium.ipdl Backed out 22 changesets (bug 1399787) for shutdown leaks on windows 7 debug tc-M without e10s r=backout on a CLOSED TREE 2017-12-08 13:09:56 +02:00
PlatformWidgetTypes.ipdlh Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel 2018-04-05 22:24:28 -05:00
ScreenHelperWin.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
ScreenHelperWin.h Bug 1356023 - Remove nsIScreenManager.systemDefaultScale. r=jfkthame 2017-04-13 07:20:35 +09:00
TSFTextStore.cpp Bug 1456381 - TSFTextStore should discard pending composition update actions before recording composition end action r=m_kato 2018-04-19 20:42:00 +09:00
TSFTextStore.h Bug 1456381 - TSFTextStore should discard pending composition update actions before recording composition end action r=m_kato 2018-04-19 20:42:00 +09:00
TaskbarPreview.cpp Bug 1447098 part 1. Rename FromContent on various DOM classes to FromNode. r=mystor 2018-03-21 17:39:04 -04:00
TaskbarPreview.h
TaskbarPreviewButton.cpp
TaskbarPreviewButton.h
TaskbarTabPreview.cpp
TaskbarTabPreview.h
TaskbarWindowPreview.cpp
TaskbarWindowPreview.h
WidgetTraceEvent.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
WinCompositorWidget.cpp Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel 2018-04-05 22:24:28 -05:00
WinCompositorWidget.h Bug 1191971 part 1 - Create child window in gpu process r=bas 2018-03-29 11:21:47 +09:00
WinCompositorWindowThread.cpp Bug 1191971 part 1 - Create child window in gpu process r=bas 2018-03-29 11:21:47 +09:00
WinCompositorWindowThread.h Bug 1191971 part 1 - Create child window in gpu process r=bas 2018-03-29 11:21:47 +09:00
WinIMEHandler.cpp Bug 1420215 - Make TSFTextStore set input scope of URL bar to IS_DEFAULT when some Microsoft's Trandtional and Simplified Chinese IMEs and some Microsoft's Korean IMEs which change their open state to "closed" when input scope is IS_URL r=m_kato 2017-12-19 13:13:45 +09:00
WinIMEHandler.h Bug 1409155 - IMEHandler should not associate IMC with any window if active IME is ATOK 2010 or earlier with x64 build on Win8 or later r=m_kato 2017-10-25 23:51:27 +09:00
WinMessages.h Bug 1352368 - Remove some old Windows defines from WinMessages.h r=jwatt 2017-04-01 00:44:26 +08:00
WinModifierKeyState.h Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj 2017-08-16 16:48:52 -07:00
WinMouseScrollHandler.cpp Bug 1446851. Get rid of nsIDOMWheelEvent. r=qdot 2018-03-20 00:16:05 -04:00
WinMouseScrollHandler.h Bug 1410988 - Add a debug mode pref to emulate odd touchpad utils which give focus to window under mouse cursor when user tries to scroll the content r=jimm 2017-10-19 02:28:37 +09:00
WinNativeEventData.h
WinPointerEvents.cpp Bug 1446711 part 7. Switch the nsIDOMMouseEvent::MOZ_SOURCE_* constants over to MouseEventBinding. r=qdot 2018-03-20 00:16:06 -04:00
WinPointerEvents.h Bug 1372963 Remove WinPointerEvents:: qualifier which breaks MinGW build r=jimm 2017-04-25 13:28:04 -05:00
WinTaskbar.cpp Bug 685236 - Stop using GetNativePath in widget/windows. r=jimm 2017-12-16 14:51:31 +09:00
WinTaskbar.h
WinTextEventDispatcherListener.cpp Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin 2017-03-07 22:34:39 -05:00
WinTextEventDispatcherListener.h Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin 2017-03-07 22:34:39 -05:00
WinUtils.cpp Backed out changeset 531593bacc4e (bug 1448040) for Android build bustages on HangAnnotations.h. CLOSED TREE 2018-06-07 19:22:31 +03:00
WinUtils.h Bug 1460116 - Remove ShouldHideScrollbars. r=jimm 2018-05-09 11:40:58 +10:00
WindowHook.cpp
WindowHook.h
WindowsEMF.cpp Backed out 22 changesets (bug 1399787) for shutdown leaks on windows 7 debug tc-M without e10s r=backout on a CLOSED TREE 2017-12-08 13:09:56 +02:00
WindowsEMF.h Backed out 22 changesets (bug 1399787) for shutdown leaks on windows 7 debug tc-M without e10s r=backout on a CLOSED TREE 2017-12-08 13:09:56 +02:00
WindowsUIUtils.cpp Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron 2017-03-14 15:26:27 +13:00
WindowsUIUtils.h
moz.build Bug 1191971 part 1 - Create child window in gpu process r=bas 2018-03-29 11:21:47 +09:00
nsAppShell.cpp Backed out changeset 531593bacc4e (bug 1448040) for Android build bustages on HangAnnotations.h. CLOSED TREE 2018-06-07 19:22:31 +03:00
nsAppShell.h Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj 2018-02-05 22:46:57 -08:00
nsBidiKeyboard.cpp Bug 1376638 - Minimize uses of prmem.h. r=glandium. 2017-06-30 19:05:41 -07:00
nsBidiKeyboard.h
nsClipboard.cpp Bug 1393528 Add parentheses to a confusing if statement r=jimm 2017-08-24 12:34:09 -05:00
nsClipboard.h Bug 1387168 - Use custom clipboard constructor instead of singleton. r=jrmuizel 2017-08-09 09:46:51 -07:00
nsColorPicker.cpp Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj 2018-04-28 12:50:58 -07:00
nsColorPicker.h Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08:00
nsDataObj.cpp Bug 685236 - Stop using GetNativePath in widget/windows. r=jimm 2017-12-16 14:51:31 +09:00
nsDataObj.h Bug 1372063 - Use fallible array to avoid OOM. r=jimm 2017-06-12 12:12:30 +09:00
nsDataObjCollection.cpp
nsDataObjCollection.h
nsDeviceContextSpecWin.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
nsDeviceContextSpecWin.h Bug 221706 - Use unwritable region when printing on Windows. r=jimm 2018-03-28 17:13:10 -07:00
nsDragService.cpp Bug 1455676 part 3. Remove nsIDOMNode usage from widget/. r=qdot 2018-05-29 22:58:48 -04:00
nsDragService.h Bug 1455676 part 3. Remove nsIDOMNode usage from widget/. r=qdot 2018-05-29 22:58:48 -04:00
nsFilePicker.cpp Bug 1404198: Part 2d - Switch to NS_NewTimer* in widget. r=njn 2017-10-15 23:12:54 -07:00
nsFilePicker.h Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08:00
nsIdleServiceWin.cpp Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8 2018-02-12 15:44:40 -05:00
nsIdleServiceWin.h Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8 2018-02-12 15:44:40 -05:00
nsImageClipboard.cpp Bug 1376638 - Minimize uses of prmem.h. r=glandium. 2017-06-30 19:05:41 -07:00
nsImageClipboard.h
nsLookAndFeel.cpp Bug 1436048: Use user defined types for font-stretch / font-style. r=jfkthame,jwatt 2018-04-23 18:22:05 +02:00
nsLookAndFeel.h Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj 2018-02-05 22:46:57 -08:00
nsNativeDragSource.cpp Bug 1445616. Add missing DataTransfer include to fix compilation on Windows. r=mystor 2018-03-14 12:23:58 -04:00
nsNativeDragSource.h Bug 1444686 followup. Fix a typo that breaks compilation on Windows. 2018-03-13 17:10:39 -04:00
nsNativeDragTarget.cpp Bug 1455676 part 3. Remove nsIDOMNode usage from widget/. r=qdot 2018-05-29 22:58:48 -04:00
nsNativeDragTarget.h
nsNativeThemeWin.cpp Bug 1466330 - Make nsITheme::GetWidgetBorder return the border directly instead of using an out-param (idempotent patch). r=emilio 2018-06-02 19:10:48 +02:00
nsNativeThemeWin.h Bug 1466330 - Make nsITheme::GetWidgetBorder return the border directly instead of using an out-param (idempotent patch). r=emilio 2018-06-02 19:10:48 +02:00
nsPrintDialogUtil.cpp Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
nsPrintDialogUtil.h Bug 1405210 - Part 3: Apply clang-format to added print dialog widget code. r=jimm 2017-10-19 11:04:50 +09:00
nsPrintDialogWin.cpp Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj 2017-10-21 23:53:02 +09:00
nsPrintDialogWin.h Bug 1405210 - Part 3: Apply clang-format to added print dialog widget code. r=jimm 2017-10-19 11:04:50 +09:00
nsPrintSettingsServiceWin.cpp Bug 144114 part 2 - Rename nsPrintOptions and its subclasses to nsPrintSettingsService*. r=bobowen 2017-12-19 10:42:15 +00:00
nsPrintSettingsServiceWin.h Bug 144114 part 3 - Clean up the headers of the nsPrintSettingsService subclasses. r=bobowen 2017-12-19 11:05:37 +00:00
nsPrintSettingsWin.cpp Bug 221706 - Use unwritable region when printing on Windows. r=jimm 2018-03-28 17:13:10 -07:00
nsPrintSettingsWin.h Bug 221706 - Use unwritable region when printing on Windows. r=jimm 2018-03-28 17:13:10 -07:00
nsSound.cpp Bug 1448914 - remove nsISound::playSystemSound; r=masayuki 2018-03-27 10:41:40 -04:00
nsSound.h Bug 1363163 - Playing sound in a seperated thread to avoid jank r=masayuki 2017-06-08 11:08:49 +08:00
nsToolkit.cpp
nsToolkit.h
nsUXThemeConstants.h Bug 1373079 - (3) Special-case min-size cache for buttons r=jimm 2017-07-07 10:15:32 -07:00
nsUXThemeData.cpp Bug 1391164 - Unnecessary to use GetProcAddress for gesture APIs since we already drop XP and Vista. r=jimm 2017-08-18 09:47:36 +09:00
nsUXThemeData.h Bug 1391164 - Unnecessary to use GetProcAddress for gesture APIs since we already drop XP and Vista. r=jimm 2017-08-18 09:47:36 +09:00
nsWidgetFactory.cpp Bug 144114 part 2 - Rename nsPrintOptions and its subclasses to nsPrintSettingsService*. r=bobowen 2017-12-19 10:42:15 +00:00
nsWinGesture.cpp Bug 1446851. Get rid of nsIDOMWheelEvent. r=qdot 2018-03-20 00:16:05 -04:00
nsWinGesture.h Bug 1391164 - Unnecessary to use GetProcAddress for gesture APIs since we already drop XP and Vista. r=jimm 2017-08-18 09:47:36 +09:00
nsWindow.cpp Bug 1441821 - NativeKey shouldn't mark eKeyDown and eKeyPress as "skippable in remote process" if message is not caused by physical key press r=m_kato,smaug 2018-06-06 23:35:16 +09:00
nsWindow.h Bug 1456294 - Hook ImmAssociateContextEx. r=masayuki 2018-05-17 14:47:55 +09:00
nsWindowBase.cpp Bug 1457189 - Dispatch the resolutionchange event when changing the display resolution even if DPI remains the same. r=jimm 2018-04-27 14:30:03 +02:00
nsWindowBase.h Bug 1436263 - Part 4: Remove unnecessary `virtual` and `final` from non-overriding final virtual function declarations. r=froydnj 2018-02-09 01:31:38 -08:00
nsWindowDbg.cpp Bug 1352339 - Add missing 'using namespace mozilla' to nsWindowDbg.cpp r=jwatt 2017-04-01 00:42:35 +08:00
nsWindowDbg.h
nsWindowDefs.h
nsWindowGfx.cpp Bug 1454908 - do an empty paint when skipping the actual paint for the blank window, to stop Windows from sending messages repeatedly, r=jimm. 2018-04-18 21:17:46 +02:00
nsWindowGfx.h
nsdefs.h
resource.h
touchinjection_sdk80.h
widget.rc