gecko-dev/widget/cocoa
Markus Stange 43e5d7e69f Bug 1707598 - When opening a new menu just after closing an old menu, make sure we exit the nested event loop for the old NSMenu before we ask the new NSMenu to open. r=harry
On CI, where we open and close menu items in quick succession, we sometimes got
into a state where the new menu was opened while we were still in the old menu's
nested event loop. So we had the following sequence of events:

```
 - old menu +[NSMenu popUpContextMenu:withEvent:forView:]
   - nested event loop for old menu
     - old menu -[NSMenu cancelTrackingWithoutAnimation]
     - new menu +[NSMenu popUpContextMenu:withEvent:forView:]
       - nested event loop for new menu
         - new menu -[NSMenu cancelTrackingWithoutAnimation]
     - new menu's event loop is exited, but old menu's event loop remains on the
       stack
     - shutdown hang here
```

MOZMenuOpeningCoordinator makes sure that +[NSMenu popUpContextMenu:withEvent:forView:]
is always called in sequence, never in a nested fashion.

Differential Revision: https://phabricator.services.mozilla.com/D113373
2021-04-26 20:57:20 +00:00
..
crashtests
cursors
docs Bug 1684672 - Update mentions of macOS SDK v10.11 to v10.12. r=glandium DONTBUILD 2021-01-21 12:47:01 +00:00
resources/MainMenu.nib
AppearanceOverride.h Bug 1702351 - Stop overriding NSApp.appearance if widget.macos.respect-system-appearance is false; instead, only override NSWindow appearance, nsLookAndFeel appearance and nsNativeThemeCocoa appearance. r=spohl 2021-04-01 16:42:03 +00:00
AppearanceOverride.mm Bug 1702892 - To detect Dark Mode changes on macOS, use key-value observing for NSApp.effectiveAppearance. r=mac-reviewers,bradwerth 2021-04-06 14:45:01 +00:00
CFTypeRefPtr.h
components.conf Bug 1686616 - register all Services.py services with components.conf. r=kmag,necko-reviewers,valentin 2021-02-18 13:26:28 +00:00
CustomCocoaEvents.h Bug 1683723 - Replace deprecated Cocoa enum constants with their modern replacements. r=spohl 2021-01-05 21:17:11 +00:00
DesktopBackgroundImage.h
DesktopBackgroundImage.mm
GfxInfo.h Bug 1680512 - Prefer EGL for glxtest detection and fallback to GLX if unavailable. r=rmader 2021-01-25 19:41:04 +00:00
GfxInfo.mm Bug 1701231 - Allow Software WebRender on non-x86 targets. r=jrmuizel 2021-03-26 13:51:40 +00:00
MacThemeGeometryType.h Bug 1697338 - Remove unused -moz-default-appearance values -moz-mac-vibrancy-light/dark, and the system colors of the same name. r=emilio 2021-03-17 16:50:08 +00:00
MediaHardwareKeysEventSourceMac.h
MediaHardwareKeysEventSourceMac.mm Bug 1692661 - Replace deprecated enum constant NSSystemDefined with NSEventTypeSystemDefined in MediaHardwareKeysEventSourceMac.mm r=mstange 2021-02-13 18:11:57 +00:00
MediaHardwareKeysEventSourceMacMediaCenter.h Bug 1671626 - part2 : set metadata on nowPlayingInfo. r=spohl 2020-12-21 18:09:16 +00:00
MediaHardwareKeysEventSourceMacMediaCenter.mm Bug 1671626 - part1 : remove MediaPlayerWrapper. r=spohl 2020-12-21 18:10:30 +00:00
MediaKeysEventSourceFactory.cpp
moz.build Bug 1707598 - When opening a new menu just after closing an old menu, make sure we exit the nested event loop for the old NSMenu before we ask the new NSMenu to open. r=harry 2021-04-26 20:57:20 +00:00
MOZIconHelper.h Bug 1701121 - Support SVG context paint properties for native menu icons. r=emilio 2021-03-26 02:11:14 +00:00
MOZIconHelper.mm Bug 1701121 - Support SVG context paint properties for native menu icons. r=emilio 2021-03-26 02:11:14 +00:00
MOZMenuOpeningCoordinator.h Bug 1707598 - When opening a new menu just after closing an old menu, make sure we exit the nested event loop for the old NSMenu before we ask the new NSMenu to open. r=harry 2021-04-26 20:57:20 +00:00
MOZMenuOpeningCoordinator.mm Bug 1707598 - When opening a new menu just after closing an old menu, make sure we exit the nested event loop for the old NSMenu before we ask the new NSMenu to open. r=harry 2021-04-26 20:57:20 +00:00
mozView.h
NativeKeyBindings.h Bug 1634281 - Use nsTHashMap instead of nsDataHashtable. r=xpcom-reviewers,necko-reviewers,jgilbert,nika,valentin 2021-03-10 10:47:47 +00:00
NativeKeyBindings.mm Bug 1691913 - Rename nsBaseHashtable::Put to InsertOrUpdate. r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika 2021-02-26 09:11:46 +00:00
NativeMenuMac.h Bug 1707598 - When opening a new menu just after closing an old menu, make sure we exit the nested event loop for the old NSMenu before we ask the new NSMenu to open. r=harry 2021-04-26 20:57:20 +00:00
NativeMenuMac.mm Bug 1707598 - When opening a new menu just after closing an old menu, make sure we exit the nested event loop for the old NSMenu before we ask the new NSMenu to open. r=harry 2021-04-26 20:57:20 +00:00
NativeMenuSupport.h Bug 1698997 - Add NativeMenuSupport::CreateNativeContextMenu. r=harry 2021-03-23 14:38:29 +00:00
NativeMenuSupport.mm Bug 1698997 - Add NativeMenuSupport::CreateNativeContextMenu. r=harry 2021-03-23 14:38:29 +00:00
nsAppShell.h Bug 1627443 - Use a CFRunLoopObserver to notify the profiler of native event loop idleness. r=gerald 2021-01-28 03:06:01 +00:00
nsAppShell.mm Bug 1700710 - Stop watching for "com.apple.HIToolbox.beginMenuTrackingNotification" notifications. r=harry 2021-03-31 17:41:57 +00:00
nsBidiKeyboard.h
nsBidiKeyboard.mm
nsChangeObserver.h Bug 1698662 - Improve comments on nsChangeObserver. r=harry 2021-03-18 02:30:37 +00:00
nsChildView.h Bug 1705877 - Introduce nsIWidget::Cursor. r=dholbert 2021-04-20 09:47:32 +00:00
nsChildView.mm Bug 1705877 - Introduce nsIWidget::Cursor. r=dholbert 2021-04-20 09:47:32 +00:00
nsClipboard.h Bug 1679522 - Fix include directives and forward declarations. r=andi,necko-reviewers,jgilbert 2021-03-25 10:19:44 +00:00
nsClipboard.mm Bug 1689992: part 1) When copying an image, add the image data before other data to the transferable and macOS's pasteboard. r=masayuki 2021-02-19 09:04:35 +00:00
nsCocoaFeatures.h
nsCocoaFeatures.mm Bug 1692391 - Rename NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK macros, replacing ABORT with IGNORE. These macros just log the exception and move on, without aborting. r=haik 2021-02-16 22:55:21 +00:00
nsCocoaUtils.h Bug 1704883 - Report which mouse button was used to click items in native menus. r=harry 2021-04-21 03:45:27 +00:00
nsCocoaUtils.mm Bug 1704883 - Report which mouse button was used to click items in native menus. r=harry 2021-04-21 03:45:27 +00:00
nsCocoaWindow.h Bug 1705877 - Introduce nsIWidget::Cursor. r=dholbert 2021-04-20 09:47:32 +00:00
nsCocoaWindow.mm Bug 1705877 - Introduce nsIWidget::Cursor. r=dholbert 2021-04-20 09:47:32 +00:00
nsColorPicker.h
nsColorPicker.mm
nsCursorManager.h Bug 1705877 - Introduce nsIWidget::Cursor. r=dholbert 2021-04-20 09:47:32 +00:00
nsCursorManager.mm Bug 1705877 - Apply image-set resolution for cursors on Windows and Mac. r=dholbert 2021-04-20 14:21:25 +00:00
nsDeviceContextSpecX.h
nsDeviceContextSpecX.mm Bug 1692391 - Rename NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK macros, replacing ABORT with IGNORE. These macros just log the exception and move on, without aborting. r=haik 2021-02-16 22:55:21 +00:00
nsDragService.h
nsDragService.mm Bug 1692391 - Replace NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK_NIL with the functionally identical NS_OBJC_BEGIN/END_TRY_BLOCK_RETURN(nil). r=haik 2021-02-16 22:55:21 +00:00
nsFilePicker.h
nsFilePicker.mm Bug 1692391 - Rename NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK macros, replacing ABORT with IGNORE. These macros just log the exception and move on, without aborting. r=haik 2021-02-16 22:55:21 +00:00
nsLookAndFeel.h Bug 1703892 - Stop halving alpha in the dark selection color. r=mac-reviewers,bradwerth,mstange 2021-04-08 19:21:07 +00:00
nsLookAndFeel.mm Bug 1703892 - Stop halving alpha in the dark selection color. r=mac-reviewers,bradwerth,mstange 2021-04-08 19:21:07 +00:00
nsMacCursor.h
nsMacCursor.mm Bug 1692391 - Rename NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK macros, replacing ABORT with IGNORE. These macros just log the exception and move on, without aborting. r=haik 2021-02-16 22:55:21 +00:00
nsMacDockSupport.h
nsMacDockSupport.mm Bug 1692391 - Replace the NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK_NSRESULT macros with the functionally identical NS_OBJC_BEGIN/END_TRY_BLOCK_RETURN(NS_ERROR_FAILURE). r=haik 2021-02-16 22:55:20 +00:00
nsMacFinderProgress.h
nsMacFinderProgress.mm Bug 1692391 - Replace the NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK_NSRESULT macros with the functionally identical NS_OBJC_BEGIN/END_TRY_BLOCK_RETURN(NS_ERROR_FAILURE). r=haik 2021-02-16 22:55:20 +00:00
nsMacSharingService.h
nsMacSharingService.mm Bug 1698704 - Return early if the created NSURL is nil. r=mac-reviewers,bradwerth 2021-03-16 17:56:35 +00:00
nsMacWebAppUtils.h
nsMacWebAppUtils.mm Bug 1692391 - Replace the NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK_NSRESULT macros with the functionally identical NS_OBJC_BEGIN/END_TRY_BLOCK_RETURN(NS_ERROR_FAILURE). r=haik 2021-02-16 22:55:20 +00:00
nsMenuBarX.h Bug 1705842 - Combine the two methods and properly update mVisibleItemsCount, and add some asserts. r=harry 2021-04-19 23:08:33 +00:00
nsMenuBarX.mm Bug 1704883 - Report which mouse button was used to click items in native menus. r=harry 2021-04-21 03:45:27 +00:00
nsMenuGroupOwnerX.h Bug 1699792 - Move nsMenuGroupOwnerX::Create into the constructor. r=harry 2021-03-23 13:40:33 +00:00
nsMenuGroupOwnerX.mm Bug 1699792 - Move nsMenuGroupOwnerX::Create into the constructor. r=harry 2021-03-23 13:40:33 +00:00
nsMenuItemIconX.h Bug 1701121 - Support SVG context paint properties for native menu icons. r=emilio 2021-03-26 02:11:14 +00:00
nsMenuItemIconX.mm Bug 1701121 - Support SVG context paint properties for native menu icons. r=emilio 2021-03-26 02:11:14 +00:00
nsMenuItemX.h Bug 1704883 - Report which mouse button was used to click items in native menus. r=harry 2021-04-21 03:45:27 +00:00
nsMenuItemX.mm Bug 1704883 - Report which mouse button was used to click items in native menus. r=harry 2021-04-21 03:45:27 +00:00
nsMenuParentX.h Bug 1705842 - Combine the two methods and properly update mVisibleItemsCount, and add some asserts. r=harry 2021-04-19 23:08:33 +00:00
nsMenuUtilsX.h Bug 1704883 - Report which mouse button was used to click items in native menus. r=harry 2021-04-21 03:45:27 +00:00
nsMenuUtilsX.mm Bug 1704883 - Report which mouse button was used to click items in native menus. r=harry 2021-04-21 03:45:27 +00:00
nsMenuX.h Bug 1704883 - Report which mouse button was used to click items in native menus. r=harry 2021-04-21 03:45:27 +00:00
nsMenuX.mm Bug 1704883 - Report which mouse button was used to click items in native menus. r=harry 2021-04-21 03:45:27 +00:00
nsNativeBasicThemeCocoa.cpp Bug 1697467 - Push the high contrast code from nsNativeBasicThemeWin to nsNativeBasicTheme. r=mstange 2021-03-12 14:44:13 +00:00
nsNativeBasicThemeCocoa.h Bug 1701846 - Make setting overlay scrollbars on GTK do something sane-ish. r=mstange 2021-03-30 03:31:21 +00:00
nsNativeThemeCocoa.h Bug 1700839 - Use the same NSSearchFieldCell object for both toolbar-style and non-toolbar-style searchfields. r=mac-reviewers,bradwerth. 2021-04-06 18:40:43 +00:00
nsNativeThemeCocoa.mm Bug 1706516: Use GetCrossDocParentFrameInProcess() in nsNativeThemeCocoa.mm. r=emilio 2021-04-21 15:28:35 +00:00
nsNativeThemeColors.h Bug 1702876 - Remove caching from macOS nsLookAndFeel, and add an NSAppearanceForColorScheme function. r=emilio 2021-04-04 15:48:00 +00:00
nsPIWidgetCocoa.idl
nsPrintDialogX.h
nsPrintDialogX.mm Bug 1692391 - Replace the NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK_NSRESULT macros with the functionally identical NS_OBJC_BEGIN/END_TRY_BLOCK_RETURN(NS_ERROR_FAILURE). r=haik 2021-02-16 22:55:20 +00:00
nsPrintSettingsServiceX.h Bug 1681344 - Eliminate reading/writing of a PMPageFormat to prefs on macOS. r=jwatt 2021-01-11 17:50:02 +00:00
nsPrintSettingsServiceX.mm Bug 1692845 - Restore read from global print settings for a few settings, including print_bgcolor and print_bgimages. r=bobowen 2021-02-23 10:52:53 +00:00
nsPrintSettingsX.h Bug 1681344 - Eliminate reading/writing of a PMPageFormat to prefs on macOS. r=jwatt 2021-01-11 17:50:02 +00:00
nsPrintSettingsX.mm Bug 1692316 - Part 1: Update Platform Duplex Print Terminology r=dholbert 2021-02-17 23:57:26 +00:00
nsSandboxViolationSink.h
nsSandboxViolationSink.mm Bug 1691168 - Remove nsCocoaDebugUtils. r=spohl 2021-02-09 21:17:18 +00:00
nsSound.h
nsSound.mm Bug 1692391 - Replace the NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK_NSRESULT macros with the functionally identical NS_OBJC_BEGIN/END_TRY_BLOCK_RETURN(NS_ERROR_FAILURE). r=haik 2021-02-16 22:55:20 +00:00
nsStandaloneNativeMenu.h Bug 1699792 - Split off the inner parts of nsStandaloneNativeMenu into a new class called NativeMenuMac. r=harry 2021-03-23 13:40:32 +00:00
nsStandaloneNativeMenu.mm Bug 1699792 - Split off the inner parts of nsStandaloneNativeMenu into a new class called NativeMenuMac. r=harry 2021-03-23 13:40:32 +00:00
nsSystemStatusBarCocoa.h Bug 1699792 - Split off the inner parts of nsStandaloneNativeMenu into a new class called NativeMenuMac. r=harry 2021-03-23 13:40:32 +00:00
nsSystemStatusBarCocoa.mm Bug 1699792 - Split off the inner parts of nsStandaloneNativeMenu into a new class called NativeMenuMac. r=harry 2021-03-23 13:40:32 +00:00
nsToolkit.h
nsToolkit.mm Bug 1692391 - Rename NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK macros, replacing ABORT with IGNORE. These macros just log the exception and move on, without aborting. r=haik 2021-02-16 22:55:21 +00:00
nsTouchBar.h Bug 1679839 - Move BaseIdentifier into nsTouchBar.h and rename it to kTouchBarBaseIdentifier. r=spohl 2020-12-11 04:09:18 +00:00
nsTouchBar.mm Bug 1685221 - Remove C++ static initializers for touch bar identifiers. r=spohl 2021-01-07 21:47:53 +00:00
nsTouchBarInput.h Bug 1685221 - Remove C++ static initializers for touch bar identifiers. r=spohl 2021-01-07 21:47:53 +00:00
nsTouchBarInput.mm Bug 1685221 - Remove C++ static initializers for touch bar identifiers. r=spohl 2021-01-07 21:47:53 +00:00
nsTouchBarInputIcon.h Bug 1691861 - Move image region handling out of IconLoader. r=mconley 2021-02-12 00:32:06 +00:00
nsTouchBarInputIcon.mm Bug 1701121 - Support SVG context paint properties for native menu icons. r=emilio 2021-03-26 02:11:14 +00:00
nsTouchBarNativeAPIDefines.h Bug 1697343 - Remove code that was needed to support building with pre-10.12 SDKs. r=mac-reviewers,bradwerth 2021-03-11 02:46:23 +00:00
nsTouchBarUpdater.h
nsTouchBarUpdater.mm
nsUserIdleServiceX.h
nsUserIdleServiceX.mm Bug 1692391 - Remove the word ABORT from the NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK_RETURN macros, because these macros don't abort. r=haik,necko-reviewers 2021-02-16 22:55:20 +00:00
nsWidgetFactory.mm Bug 1686616 - register all Services.py services with components.conf. r=kmag,necko-reviewers,valentin 2021-02-18 13:26:28 +00:00
nsWindowMap.h
nsWindowMap.mm Bug 1692391 - Rename NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK macros, replacing ABORT with IGNORE. These macros just log the exception and move on, without aborting. r=haik 2021-02-16 22:55:21 +00:00
OSXNotificationCenter.h Bug 1697343 - Remove code that was needed to support building with pre-10.12 SDKs. r=mac-reviewers,bradwerth 2021-03-11 02:46:23 +00:00
OSXNotificationCenter.mm Bug 1519636 - Reformat recent changes to the Google coding style. r=necko-reviewers,geckoview-reviewers,agi 2021-04-26 15:52:25 +00:00
ScreenHelperCocoa.h
ScreenHelperCocoa.mm Bug 1692391 - Rename NS_OBJC_BEGIN/END_TRY_ABORT_BLOCK macros, replacing ABORT with IGNORE. These macros just log the exception and move on, without aborting. r=haik 2021-02-16 22:55:21 +00:00
SDKDeclarations.h Bug 1707598 - When opening a new menu just after closing an old menu, make sure we exit the nested event loop for the old NSMenu before we ask the new NSMenu to open. r=harry 2021-04-26 20:57:20 +00:00
SwipeTracker.h
SwipeTracker.mm Bug 1694002 - Tweak swipe threshold values to require more "deliberate" swiping. r=spohl 2021-02-21 00:41:32 +00:00
TextInputHandler.h Bug 1697343 - Remove code that was needed to support building with pre-10.12 SDKs. r=mac-reviewers,bradwerth 2021-03-11 02:46:23 +00:00
TextInputHandler.mm Bug 1682030 - Remove more dead NPAPI code from dom/plugins and related spots. r=jmathies,mconley,emilio 2021-04-06 19:28:15 +00:00
VibrancyManager.h Bug 1697338 - Rename VibrancyType::LIGHT/DARK to TITLEBAR_LIGHT/DARK. r=mac-reviewers,bradwerth 2021-03-17 16:50:09 +00:00
VibrancyManager.mm Bug 1702039 - Replace @"NSAppearanceNameDarkAqua" with the constant NSAppearanceNameDarkAqua which is now defined in SDKDeclarations.h. r=mac-reviewers,harry 2021-04-01 17:25:12 +00:00
ViewRegion.h
ViewRegion.mm
WidgetTraceEvent.mm Bug 1683723 - Replace deprecated Cocoa enum constants with their modern replacements. r=spohl 2021-01-05 21:17:11 +00:00