gecko-dev/widget
Mike Conley b5ab3772b2 Bug 1563918 - Avoid spamming native message loop with WM_NCMOUSELEAVE messages. r=jmathies
In bug 1551961, a WM_NCMOUSELEAVE message handler was added to the Windows widget
backend so that we can detect when the mouse leaves a draggable region (since
draggable regions are hittest'ed as HTCAPTION, and are therefore "non-client").

Inside that message handler, we used the WindowAtMouse handler to determine whether
or not the WM_NCMOUSELEAVE was firing because the mouse was moving off of the
non-client area to client area, or moving out of the window entirely.

For reasons that are not particularly clear, on Windows Aero Glass, when clicking on
one of the min/max/close caption buttons, a WM_NCMOUSELEAVE message fires, and the
::WindowFromPoint call that WindowAtMouse uses causes another WM_NCMOUSELEAVE message
to be queued immediately after, so we end up in this situation where the message
loop is getting spammed by WM_NCMOUSELEAVE messages. Moving the mouse away from
the caption buttons seems to stop the spamming.

We have a function similar to WindowAtMouse called EventIsInsideWindow which
does not use ::WindowFromPoint, and this seems to sidestep the issue, while
being functionally equivalent.

Depends on D37421

Differential Revision: https://phabricator.services.mozilla.com/D37422

--HG--
extra : moz-landing-system : lando
2019-07-10 15:34:47 +00:00
..
android Bug 1560455 - rename CodebasePrincipal to ContentPrincipal. r=ckerschb 2019-07-08 16:37:45 +00:00
cocoa Bug 1521893 - Part 1 - Split off nsMenuItemIconX image loading into a new utility class, nsIconLoaderService, and be its first consumer. r=spohl 2019-07-10 01:23:45 +00:00
crashtests
gtk Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs 2019-07-08 09:27:47 +00:00
gtkxtbin Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
headless Bug 1561435 - Format widget/, a=automatic-formatting 2019-07-05 11:19:19 +02:00
reftests
tests Bug 1563508 - part 7: Remove unnecessary code from window_composition_text_querycontent.xul r=m_kato 2019-07-09 06:47:42 +00:00
uikit Bug 1435586 - Use static gfxPlatform methods directly instead of requiring initialization. r=kats 2019-06-05 12:40:26 -04:00
windows Bug 1563918 - Avoid spamming native message loop with WM_NCMOUSELEAVE messages. r=jmathies 2019-07-10 15:34:47 +00:00
x11
BasicEvents.h Bug 1553852 - Mark eCompositionChange as composed event; r=smaug 2019-06-03 09:18:47 +00:00
CommandList.h Bug 1555227 - Make GetInternalCommand() return new commands when the command is "cmd_align" without params r=m_kato 2019-06-04 10:01:31 +00:00
CompositorWidget.cpp
CompositorWidget.h
ContentCache.cpp
ContentCache.h
ContentEvents.h
EventClassList.h
EventForwards.h Bug 1549661 - part 7: Make GetInternalCommand() take nsCommandParams instead of nsAString r=m_kato 2019-05-21 07:47:51 +00:00
EventMessageList.h Bug 1548731 - part1 : support 'cuechange' event. r=smaug 2019-05-07 11:21:29 +00:00
FontRange.h
GfxDriverInfo.cpp Bug 1554251 - Enable WebRender on nightly for AMD hardware with Linux and Mesa drivers. r=jrmuizel 2019-05-27 12:35:53 -04:00
GfxDriverInfo.h Bug 1554251 - Enable WebRender on nightly for AMD hardware with Linux and Mesa drivers. r=jrmuizel 2019-05-27 12:35:53 -04:00
GfxInfoBase.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-07-06 08:18:28 +00:00
GfxInfoBase.h Bug 1557794. Stop using [array] in nsIGfxInfo. r=jrmuizel 2019-06-07 20:13:56 +00:00
GfxInfoCollector.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
GfxInfoCollector.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
GfxInfoX11.cpp Bug 1561859 - [Wayland] Expose active DRM on Wayland in about:support & telemetry, r=kats 2019-07-02 09:17:22 +00:00
GfxInfoX11.h Bug 1561859 - [Wayland] Expose active DRM on Wayland in about:support & telemetry, r=kats 2019-07-02 09:17:22 +00:00
IMEData.h Bug 1556103 - Part 1. Add long press action when setting focus. r=masayuki 2019-06-28 00:39:45 +00:00
InProcessCompositorWidget.cpp
InProcessCompositorWidget.h
InputData.cpp Bug 1213601 - implement kinetic/inertial scrolling (fling) for Gtk. r=botond 2019-06-20 16:18:45 -04:00
InputData.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-07-06 08:18:28 +00:00
LSBUtils.cpp
LSBUtils.h
LookAndFeel.h Bug 1554433 - Move system colors to values::specified::color. r=xidorn 2019-05-26 13:10:00 +00:00
MiscEvents.h
MouseEvents.h Bug 1524232 - Add a mechanism for dispatching synthesized mousemove events to an OOP iframe. r=hsivonen 2019-05-06 08:12:21 +00:00
NativeKeyToDOMCodeName.h
NativeKeyToDOMKeyName.h
PCompositorWidget.ipdl
PlatformWidgetTypes.ipdlh
PluginWidgetProxy.cpp Bug 1553769 - Make nsIWidget::SetFocus infallible, and make it take an enum class. r=NeilDeakin 2019-05-31 22:13:56 +00:00
PluginWidgetProxy.h Bug 1553769 - Make nsIWidget::SetFocus infallible, and make it take an enum class. r=NeilDeakin 2019-05-31 22:13:56 +00:00
ProcInfo.h Bug 1529022 - Add a GeckoChildProcessHosts iterator r=jld 2019-06-21 01:33:47 +00:00
PuppetBidiKeyboard.cpp
PuppetBidiKeyboard.h
PuppetWidget.cpp Bug 1554861 - Disable clipping and scaling for top-level remote browsers to resolve regressions. r=mattwoodrow 2019-06-25 03:16:31 +00:00
PuppetWidget.h Bug 1559518 - Use LayoutDevicePixel for BrowserChild visible rect and composition size. r=kats 2019-06-19 18:20:52 +00:00
Screen.cpp
Screen.h
ScreenManager.cpp
ScreenManager.h
SharedWidgetUtils.cpp
SystemTimeConverter.h
TextEventDispatcher.cpp
TextEventDispatcher.h Bug 1554843 - Make PuppetWidget::NotifyIMEOfFocusChange() notify TextEventDispatcher of IME notification requests change r=m_kato 2019-05-29 12:23:22 +00:00
TextEventDispatcherListener.h
TextEvents.h
TextRange.h
TouchEvents.h
VsyncDispatcher.cpp
VsyncDispatcher.h
WidgetEventImpl.cpp Bug 1561825 - Make mousewheel.* static prefs follow the naming convention. r=KrisWright 2019-06-27 17:14:02 +10:00
WidgetMessageUtils.h
WidgetTraceEvent.h
WidgetUtils.cpp
WidgetUtils.h
WindowSurface.h
WindowSurfaceX11SHM.cpp
WindowSurfaceX11SHM.h
moz.build Bug 1561859 - [Wayland] Expose active DRM on Wayland in about:support & telemetry, r=kats 2019-07-02 09:17:22 +00:00
nsAppShellSingleton.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsAutoRollup.cpp
nsAutoRollup.h
nsBaseAppShell.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsBaseAppShell.h
nsBaseClipboard.cpp Bug 1557847. Stop using [array] in nsIClipboard. r=NeilDeakin 2019-06-09 01:06:39 +00:00
nsBaseClipboard.h
nsBaseDragService.cpp Bug 1443683, followup to fix drag feedback images, re-add lines that got lost in the last patch, r=nika 2019-06-04 08:51:23 -04:00
nsBaseDragService.h Bug 1443683, support drag and drop in out of process frames; this is done by storing the drag information about the data to be dragged and visualization image in the event state manager instead of the BrowserParent and passing this information on to the drag service, r=nika 2019-05-14 11:04:38 -04:00
nsBaseFilePicker.cpp
nsBaseFilePicker.h
nsBaseScreen.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsBaseScreen.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsBaseWidget.cpp Bug 1560837 - Make APZ static prefs follow the naming convention. r=froydnj 2019-06-24 13:57:06 +10:00
nsBaseWidget.h Bug 1213601 - implement kinetic/inertial scrolling (fling) for Gtk. r=botond 2019-06-20 16:18:45 -04:00
nsClipboardHelper.cpp
nsClipboardHelper.h
nsClipboardProxy.cpp Bug 1557847. Stop using [array] in nsIClipboard. r=NeilDeakin 2019-06-09 01:06:39 +00:00
nsClipboardProxy.h
nsColorPickerProxy.cpp
nsColorPickerProxy.h
nsContentProcessWidgetFactory.cpp
nsDeviceContextSpecProxy.cpp
nsDeviceContextSpecProxy.h
nsDragServiceProxy.cpp
nsDragServiceProxy.h
nsFilePickerProxy.cpp
nsFilePickerProxy.h
nsGUIEventIPC.h Bug 1213601 - implement kinetic/inertial scrolling (fling) for Gtk. r=botond 2019-06-20 16:18:45 -04:00
nsHTMLFormatConverter.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsHTMLFormatConverter.h
nsIAppShell.idl
nsIApplicationChooser.idl
nsIBaseWindow.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIBidiKeyboard.idl
nsIClipboard.idl Bug 1557847. Stop using [array] in nsIClipboard. r=NeilDeakin 2019-06-09 01:06:39 +00:00
nsIClipboardHelper.idl
nsIClipboardOwner.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIColorPicker.idl
nsIDeviceContextSpec.h
nsIDisplayInfo.idl
nsIDragService.idl Bug 1443683, support drag and drop in out of process frames; this is done by storing the drag information about the data to be dragged and visualization image in the event state manager instead of the BrowserParent and passing this information on to the drag service, r=nika 2019-05-14 11:04:38 -04:00
nsIDragSession.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIFilePicker.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIFormatConverter.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIGfxInfo.idl Bug 1557794. Stop using [array] in nsIGfxInfo. r=jrmuizel 2019-06-07 20:13:56 +00:00
nsIGfxInfoDebug.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIGtkTaskbarProgress.idl
nsIIdleService.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIIdleServiceInternal.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIJumpListBuilder.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIJumpListItem.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIKeyEventInPluginCallback.h
nsIMacDockSupport.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIMacFinderProgress.idl Bug 909760 - Show download progress in the MacOS Finder r=spohl,mak 2019-06-19 18:48:49 +00:00
nsIMacSharingService.idl
nsIMacWebAppUtils.idl
nsINativeMenuService.h
nsIPluginWidget.h
nsIPrintDialogService.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsIPrintSession.idl
nsIPrintSettings.idl Bug 1552785. Remove internal code for various frameset printing behaviors. r=bobowen 2019-05-21 16:01:34 +01:00
nsIPrintSettingsService.idl Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-05-24 01:38:06 +03:00
nsIPrintSettingsWin.idl Bug 1550893 - Fix the implicit builtinclassness for some Windows widget interfaces. r=bobowen 2019-05-14 08:19:10 +00:00
nsIPrinterEnumerator.idl
nsIRollupListener.h Bug 1543315 - part 13: Mark PresShell::Paint() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-05-06 13:25:35 +00:00
nsIScreen.idl
nsIScreenManager.idl
nsISound.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIStandaloneNativeMenu.idl
nsISystemStatusBar.idl
nsITaskbarOverlayIconController.idl
nsITaskbarPreview.idl
nsITaskbarPreviewButton.idl
nsITaskbarPreviewController.idl
nsITaskbarProgress.idl
nsITaskbarTabPreview.idl Bug 1550893 - Fix the implicit builtinclassness for some Windows widget interfaces. r=bobowen 2019-05-14 08:19:10 +00:00
nsITaskbarWindowPreview.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsITouchBarHelper.idl Bug 1522012 - Implement Touch Bar's native customization window and remove ui.touchbar.layout preference. r=spohl,mikedeboer,fluent-reviewers,Pike 2019-07-06 21:10:33 +00:00
nsITouchBarInput.idl
nsITouchBarUpdater.idl Bug 1522012 - Implement Touch Bar's native customization window and remove ui.touchbar.layout preference. r=spohl,mikedeboer,fluent-reviewers,Pike 2019-07-06 21:10:33 +00:00
nsITransferable.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsIWidget.h Bug 1558482 - Restrict the composition size to the visibleRect for OOP-iframes. r=kats 2019-06-11 07:57:52 -05:00
nsIWidgetListener.cpp
nsIWidgetListener.h Bug 1543315 - part 13: Mark PresShell::Paint() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-05-06 13:25:35 +00:00
nsIWinTaskbar.idl
nsIWindowsUIUtils.idl
nsIdleService.cpp
nsIdleService.h
nsNativeTheme.cpp Bug 1547422 - Make widget use mozilla::PresShell directly rather than via nsIPresShell r=jmathies 2019-05-01 18:52:59 +00:00
nsNativeTheme.h Bug 1547422 - Make widget use mozilla::PresShell directly rather than via nsIPresShell r=jmathies 2019-05-01 18:52:59 +00:00
nsPrimitiveHelpers.cpp
nsPrimitiveHelpers.h
nsPrintSession.cpp
nsPrintSession.h
nsPrintSettingsImpl.cpp Bug 1552785. Remove internal code for various frameset printing behaviors. r=bobowen 2019-05-21 16:01:34 +01:00
nsPrintSettingsImpl.h Bug 1552785. Remove internal code for various frameset printing behaviors. r=bobowen 2019-05-21 16:01:34 +01:00
nsPrintSettingsService.cpp Bug 1552785. Remove printing related isFramesetDocument and isFramesetFrameSelected code. r=bobowen 2019-05-21 23:25:57 +01:00
nsPrintSettingsService.h
nsShmImage.cpp
nsShmImage.h
nsSoundProxy.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsSoundProxy.h
nsTransferable.cpp
nsTransferable.h
nsWidgetInitData.h
nsWidgetsCID.h Bug 909760 - Show download progress in the MacOS Finder r=spohl,mak 2019-06-19 18:48:49 +00:00
nsXPLookAndFeel.cpp Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel 2019-05-26 14:31:53 +00:00
nsXPLookAndFeel.h Bug 1554433 - Move system colors to values::specified::color. r=xidorn 2019-05-26 13:10:00 +00:00