gecko-dev/widget/cocoa
Markus Stange 5af2fd32c9 Bug 1491442 - Call SuspendAsyncCATransactions on window focus changes. r=mattwoodrow
Without this, in windows with title bars, such as the bookmark library window,
the title bar and the content would update at different times.

The title bar paint is done as part of a main thread CoreAnimation transaction.
However, by default, we don't get notified of all main thread CA transactions;
our only notification mechanism is the updateLayer handler on the PixelHostingView,
and that handler is only invoked (the layer is only displayed) if the layer has
been marked as needing display. And by default, window focus changes do not mark
random views' backing layers as needing display. Usually, what this means is that
the window will be painted twice: Once in the main thread transaction, and then
another time on the compositor thread once Gecko has noticed a state change and
triggered its own composite in response. (Often, Gecko's compositor-side paint
will actually happen *before* the main thread paint, because the main thread is
often busy with repainting the system menu bar during window focus changes.)
Such non-atomic window repaints look glitchy.
Calling SuspendAsyncCATransactions will result in a call to updateLayer in the
upcoming CoreAnimation transaction and lets us update the entire window in one
atomic paint, and it will avoid updating the window early if the compositor
thread gets ahead of the main thread.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 01:15:34 +00:00
..
crashtests Bug 1557371 - Part 2 - Load all XUL crashtests with chrome privilege. r=dbaron 2019-07-09 19:40:42 +00:00
cursors
resources/MainMenu.nib
touchbar Backed out changeset 4aead1eca8c6 (bug 1521893) to fix crashes (bug 1568862) 2019-07-29 17:11:19 +02:00
CFTypeRefPtr.h Bug 1565668 - Add CFTypeRefPtr which is a RefPtr-style smart pointer for CFTypeRef types. r=jrmuizel 2019-07-17 20:46:04 +00:00
ComplexTextInputPanel.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
ComplexTextInputPanel.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
CustomCocoaEvents.h
GfxInfo.h Bug 1554540 - Expose window protocol (X11, Wayland) in nsIGfxInfo and about:support. r=kats,stransky,flod 2019-05-28 06:40:34 -04:00
GfxInfo.mm Bug 1570736 - Force disable WR swizzling on Intel 4000 on Mac r=aosmond 2019-08-09 18:57:35 +00:00
NativeKeyBindings.h Bug 1546839 - part 1: Change `enum Command` to `enum class Command` and drop "Command" prefix from each item r=smaug 2019-04-30 04:23:24 +00:00
NativeKeyBindings.mm Bug 1546839 - part 1: Change `enum Command` to `enum class Command` and drop "Command" prefix from each item r=smaug 2019-04-30 04:23:24 +00:00
OSXNotificationCenter.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
OSXNotificationCenter.mm Bug 1557793 part 2. Stop using [array] in nsIStringBundle. r=Pike 2019-06-11 15:51:51 +00:00
ProcInfo.mm Bug 1529022 - Add a GeckoChildProcessHosts iterator r=jld 2019-06-21 01:33:47 +00:00
RectTextureImage.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
RectTextureImage.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
ScreenHelperCocoa.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
ScreenHelperCocoa.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
SwipeTracker.h Bug 1547422 - Make widget use mozilla::PresShell directly rather than via nsIPresShell r=jmathies 2019-05-01 18:52:59 +00:00
SwipeTracker.mm Bug 1259660 - Cleaned up WidgetMouseEventBase by renaming WidgetMouseEventBase::buttons to WidgetMouseEventBase::mButtons r=masayuki 2019-04-21 19:42:37 +00:00
TextInputHandler.h Bug 1546839 - part 1: Change `enum Command` to `enum class Command` and drop "Command" prefix from each item r=smaug 2019-04-30 04:23:24 +00:00
TextInputHandler.mm Bug 1546839 - part 1: Change `enum Command` to `enum class Command` and drop "Command" prefix from each item r=smaug 2019-04-30 04:23:24 +00:00
VibrancyManager.h Bug 1491445 - Make the ChildView always non-opaque and let NSVisualEffectView handle clearing of vibrant areas. r=spohl 2019-02-13 18:51:20 +00:00
VibrancyManager.mm Bug 1491445 - Make the ChildView always non-opaque and let NSVisualEffectView handle clearing of vibrant areas. r=spohl 2019-02-13 18:51:20 +00:00
ViewRegion.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
ViewRegion.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
WidgetTraceEvent.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
moz.build Bug 1491442 - Make nsChildView create a NativeLayerRootCA and fill it with content when painting using BasicLayers (which used to go through drawRect). r=mattwoodrow 2019-08-16 01:13:35 +00:00
mozView.h Bug 1527412 - Remove unused contextMenu method. r=spohl 2019-02-13 11:14:02 +00:00
nsAppShell.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsAppShell.mm Bug 1545892 - Reduce includes in gfx2DGlue.h, nsLayoutUtils.h, nsPresContext.h. r=dholbert 2019-04-22 19:58:52 +00:00
nsBidiKeyboard.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsBidiKeyboard.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
nsChangeObserver.h Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug 2019-01-03 17:48:33 +01:00
nsChildView.h Bug 1491442 - Call SuspendAsyncCATransactions on window focus changes. r=mattwoodrow 2019-08-16 01:15:34 +00:00
nsChildView.mm Bug 1491442 - Call SuspendAsyncCATransactions on window focus changes. r=mattwoodrow 2019-08-16 01:15:34 +00:00
nsClipboard.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsClipboard.mm Bug 1557847. Stop using [array] in nsIClipboard. r=NeilDeakin 2019-06-09 01:06:39 +00:00
nsCocoaDebugUtils.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsCocoaDebugUtils.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
nsCocoaFeatures.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsCocoaFeatures.mm Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsCocoaUtils.h Bug 1465403 - Support loading icons @2x in macOS menu bars. r=mstange 2019-08-12 13:53:38 +00:00
nsCocoaUtils.mm Bug 1465403 - Support loading icons @2x in macOS menu bars. r=mstange 2019-08-12 13:53:38 +00:00
nsCocoaWindow.h Bug 1403085 - Add a pref to use native full screen for Fullscreen API on macOS. r=spohl,dao 2019-07-17 13:31:41 +00:00
nsCocoaWindow.mm Bug 1491442 - Call SuspendAsyncCATransactions on window focus changes. r=mattwoodrow 2019-08-16 01:15:34 +00:00
nsColorPicker.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsColorPicker.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
nsCursorManager.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsCursorManager.mm Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsDeviceContextSpecX.h Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
nsDeviceContextSpecX.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
nsDragService.h Bug 1543315 - part 17: Mark PresShell::HandleDOMEventWithTarget() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-05-09 20:21:28 +00:00
nsDragService.mm Bug 1562048 - Draw the fallback drag image using a different API. r=spohl 2019-06-28 13:44:15 +00:00
nsFilePicker.h Bug 1393681: Drop unnecessary arguments in Cocoa nsFilePicker functions. r=mstange 2019-03-30 11:32:42 -04:00
nsFilePicker.mm Bug 1393681: Drop unnecessary arguments in Cocoa nsFilePicker functions. r=mstange 2019-03-30 11:32:42 -04:00
nsIconLoaderObserver.h 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
nsIconLoaderService.h Bug 1465403 - Support loading icons @2x in macOS menu bars. r=mstange 2019-08-12 13:53:38 +00:00
nsIconLoaderService.mm Bug 1465403 - Support loading icons @2x in macOS menu bars. r=mstange 2019-08-12 13:53:38 +00:00
nsIdleServiceX.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsIdleServiceX.mm Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsLookAndFeel.h Bug 1528960 - Query MacOS system dark mode only on the main browser process or it's the initial query on the child process. r=hiro 2019-03-01 18:09:19 +00:00
nsLookAndFeel.mm Bug 1554433 - Move system colors to values::specified::color. r=xidorn 2019-05-26 13:10:00 +00:00
nsMacCursor.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsMacCursor.mm Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsMacDockSupport.h Bug 1562032 - Use NSDockTile to implement the dock download progress bar. r=spohl 2019-06-28 14:17:47 +00:00
nsMacDockSupport.mm Bug 1562032 - Use NSDockTile to implement the dock download progress bar. r=spohl 2019-06-28 14:17:47 +00:00
nsMacFinderProgress.h Bug 909760 - Show download progress in the MacOS Finder r=spohl,mak 2019-06-19 18:48:49 +00:00
nsMacFinderProgress.mm Bug 909760 - Show download progress in the MacOS Finder r=spohl,mak 2019-06-19 18:48:49 +00:00
nsMacSharingService.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsMacSharingService.mm Bug 1561756 - Convert the NSImage into an NSBitmapImageRep without using lockFocus. r=tnikkel 2019-06-26 22:42:39 +00:00
nsMacWebAppUtils.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsMacWebAppUtils.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
nsMenuBarX.h Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug 2019-01-03 17:48:33 +01:00
nsMenuBarX.mm Backed out changeset 4aead1eca8c6 (bug 1521893) to fix crashes (bug 1568862) 2019-07-29 17:11:19 +02:00
nsMenuBaseX.h 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
nsMenuGroupOwnerX.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsMenuGroupOwnerX.mm Bug 1519185: Remove AttributeWillChange aNewValue parameter r=emilio,bzbarsky 2019-01-29 17:59:38 +01:00
nsMenuItemIconX.h Backed out changeset 4aead1eca8c6 (bug 1521893) to fix crashes (bug 1568862) 2019-07-29 17:11:19 +02:00
nsMenuItemIconX.mm Bug 1568862 - Resolve dangling pointer and faulty error logic in macOS icon loaders. r=spohl 2019-07-31 16:49:45 +00:00
nsMenuItemX.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsMenuItemX.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
nsMenuUtilsX.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsMenuUtilsX.mm Bug 1540015 - part 1: Make Document.h stop including nsIPresShell.h r=smaug 2019-03-29 15:11:04 +00:00
nsMenuX.h 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
nsMenuX.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
nsNativeThemeCocoa.h Bug 1441308 - Split out document pieces of WebRenderLayerManager r=jrmuizel 2019-01-07 21:33:10 +00:00
nsNativeThemeCocoa.mm Bug 1563139 - Remove StaticPrefs.h. r=glandium 2019-07-26 01:10:23 +00:00
nsNativeThemeColors.h Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
nsPIWidgetCocoa.idl Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
nsPrintDialogX.h Bug 1552785. Remove macOS print dialog UI for selecting frameset behavior. r=mstange 2019-05-14 17:04:37 +01:00
nsPrintDialogX.mm Bug 1557878. Replace nsIWebBrowserPrint::enumerateDocumentNames with a getter for the top document's name. r=bobowen 2019-05-30 11:43:16 +01:00
nsPrintSettingsServiceX.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsPrintSettingsServiceX.mm Bug 1557878. Replace nsIWebBrowserPrint::enumerateDocumentNames with a getter for the top document's name. r=bobowen 2019-05-30 11:43:16 +01:00
nsPrintSettingsX.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsPrintSettingsX.mm Bug 1319116 - Part 2 - "Cancel" reverts header and footer settings to defaults r=jwatt 2019-04-01 14:42:24 +00:00
nsSandboxViolationSink.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsSandboxViolationSink.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
nsSound.h Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
nsSound.mm Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsStandaloneNativeMenu.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsStandaloneNativeMenu.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
nsSystemStatusBarCocoa.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsSystemStatusBarCocoa.mm Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
nsToolkit.h Bug 1563994 - [10.15] Right Click When Not Focused Presents "Keystroke Receiving" Access Grant Request Dialog r=mstange 2019-07-31 01:03:49 +00:00
nsToolkit.mm Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-08-13 07:15:25 +00:00
nsTouchBar.h Backed out changeset 4aead1eca8c6 (bug 1521893) to fix crashes (bug 1568862) 2019-07-29 17:11:19 +02:00
nsTouchBar.mm Backed out changeset 4aead1eca8c6 (bug 1521893) to fix crashes (bug 1568862) 2019-07-29 17:11:19 +02:00
nsTouchBarUpdater.h Backed out changeset c1b80824ae88 (bug 1522012) for failing bc at browser_touchbar_tests.j on a CLOSED TREE 2019-07-03 00:19:25 +03:00
nsTouchBarUpdater.mm Backed out changeset 4aead1eca8c6 (bug 1521893) to fix crashes (bug 1568862) 2019-07-29 17:11:19 +02:00
nsWidgetFactory.mm Bug 909760 - Show download progress in the MacOS Finder r=spohl,mak 2019-06-19 18:48:49 +00:00
nsWindowMap.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
nsWindowMap.mm Bug 1533562 - Implement titlebar gradient drawing with a new TitlebarGradientView. r=spohl 2019-04-29 17:00:13 +00:00