gecko-dev/widget
Markus Stange a0e9560488 Bug 1370040 - Use the public API -[NSVisualEffectView setMaskImage:] instead of the private API -[NSWindow _cornerMask]. r=spohl
The idea is the following:
Behind-window vibrancy is mostly rendered by the window server. For a given
vibrant region of a window, the window server renders a vibrancy "backdrop",
which is a blurred version of everything that's behind that region, modified
with a color tint and blended in some way. Then it puts our actual window
contents on top of that background.
The backdrop's shape is usually a rectangle. If we don't want it to be a
rectangle, we need to tell the window server about the shape that we want it to
be. We can't just "draw" a different shape in our own rendering, because our
own rendering is merely placed on top of the backdrop - but here we want to
modify the shape of the backdrop itself.

NSVisualEffectView lets us set a mask image on the view. If this view is the
content view of a window, then the view will automatically communicate the mask
image to the window server.

Traditionally, our popup windows have had a ChildView as their content view. If
we now want an NSVisualEffectView to be the content view of the window, then we
need to nest the ChildView inside that NSVisualEffectView.
But this NSVisualEffectView is only needed when the window is vibrant and the
vibrancy backdrop needs to have a certain shape. This is the case for our menus
which need to have rounded corners. If the window transitions to being
non-vibrant, or not needing a special shape, then we can go back to the way our
window's NSView hierarchy has worked traditionally. So we need to reparent
NSViews during those transitions.

MozReview-Commit-ID: Bo2VzjhhR0A

--HG--
extra : rebase_source : 9eb463cc68c16c3b9281b57455330969c5e2642c
2017-11-19 18:38:35 -05:00
..
android Bug 1417356 - xpcshell doesn't have Java thread. r=jchen 2017-11-16 12:25:26 +09:00
cocoa Bug 1370040 - Use the public API -[NSVisualEffectView setMaskImage:] instead of the private API -[NSWindow _cornerMask]. r=spohl 2017-11-19 18:38:35 -05:00
crashtests Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
gtk Bug 1406268 - Use rect width/height instead of minimum width/height and clamp the rect on Linux. r=mats 2017-11-17 14:20:42 +08:00
gtkxtbin Bug 1381253 - Remove redundant control flow declarations rs=ehsan 2017-07-15 19:03:04 +02:00
headless Bug 1409580 - Raise headless sheet widgets when shown. r=jrmuizel 2017-10-19 17:09:28 -07:00
reftests Backed out changeset e528713f882c (bug 1365614) 2017-05-22 15:45:34 +02:00
tests Bug 1417653 - clean up a few moz.build files that have typos. r=gbrown 2017-11-16 08:56:51 -05:00
uikit Backed out changeset 04439a161b82 (bug 1403690) 2017-10-23 22:04:54 +02:00
windows Bug 1417442 - P2. fix nsIGfxInfo in GPU process. r=dvander 2017-11-15 23:33:37 +01:00
x11 Bug 1355089 - add BUG_COMPONENT to widget/* files. r=mstange,jimm 2017-04-14 05:54:36 -04:00
xremoteclient Bug 1360560 - Add destructor to nsRemoteClient, r=jhorak" 2017-11-02 16:23:06 +01:00
BasicEvents.h Bug 1406446 - part 1: InputContextAction should treat focus change during handling a user input as caused by user input even if it's caused by JS r=smaug 2017-10-24 02:46:15 +09:00
CommandList.h
CompositorWidget.cpp Bug 1330037 - Propagate the CompositorOptions to all CompositorWidget instances. r=dvander 2017-01-12 17:29:42 -05:00
CompositorWidget.h Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
ContentCache.cpp Bug 1409656 - Append log of ContentCacheInParent::RequestIMEToCommitComposition() in the latest 2 sets of composition events to app notes of crash report when ContentCacheInParent::OnEventNeedingAckHandled() meets unexpected state and crash itself r=m_kato 2017-10-19 00:13:42 +09:00
ContentCache.h Bug 1409656 - Append log of ContentCacheInParent::RequestIMEToCommitComposition() in the latest 2 sets of composition events to app notes of crash report when ContentCacheInParent::OnEventNeedingAckHandled() meets unexpected state and crash itself r=m_kato 2017-10-19 00:13:42 +09:00
ContentEvents.h Bug 1314388 - Remove SVGZoomEvent; r=longsonr,smaug 2017-04-04 15:36:22 +03:00
EventClassList.h Bug 1314388 - Remove SVGZoomEvent; r=longsonr,smaug 2017-04-04 15:36:22 +03:00
EventForwards.h Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj 2017-08-16 16:48:52 -07:00
EventMessageList.h Bug 1359017 - onmessageerror for WindowEventHandlers in case StructuredClone algorithm fails when deserializing, r=masayuki, r=smaug 2017-09-13 05:59:06 +02:00
FontRange.h Bug 1377169 - Turn gfxRect into a typedef. r=jrmuizel 2017-07-05 11:22:00 -04:00
GfxDriverInfo.cpp
GfxDriverInfo.h Bug 1403945: Add utility functions to recognize OS X 10.13. r=mstange 2017-09-28 10:21:10 -04:00
GfxInfoBase.cpp Bug 1417442 - P1. Don't attempt to initialize MediaPrefs in the GPU process. r=dvander 2017-11-16 17:21:09 +01:00
GfxInfoBase.h Bug 1389338 - Show Off Main Thread Status in about:support. r=rhunt 2017-08-14 21:08:18 -07:00
GfxInfoCollector.cpp
GfxInfoCollector.h
GfxInfoWebGL.cpp
GfxInfoWebGL.h
GfxInfoX11.cpp bug 1400839 use -1 instead of 0 to indicate absent glxtest_pipe fd r=karlt 2017-09-19 11:47:12 +12:00
GfxInfoX11.h
IMEData.h Bug 1406446 - part 1: InputContextAction should treat focus change during handling a user input as caused by user input even if it's caused by JS r=smaug 2017-10-24 02:46:15 +09:00
InProcessCompositorWidget.cpp Bug 1413217 - Fix some includes etc. in widget code. r=jimm 2017-10-12 17:03:35 +01:00
InProcessCompositorWidget.h Bug 1329362 - part 2, Add accessor functions for EGLNativeWindowType, ANativeWindow, and EGLSurface to AndroidCompositorWidget r=dvander,kats 2017-01-27 09:32:24 -08:00
InputData.cpp Bug 1413217 - Fix some includes etc. in widget code. r=jimm 2017-10-12 17:03:35 +01:00
InputData.h Bug 1377020 - Use MOZ_DEFINE_ENUM instead of a sentinel enumerator for enumerations in gfx/layers. r=kats 2017-06-30 21:18:55 -04:00
LookAndFeel.h Bug 1409493 - Add CSD entries to LookAndFeel, r=jhorak 2017-10-17 21:12:21 +02:00
LSBUtils.cpp Bug 1401786 - Move base::LaunchApp options into a LaunchOptions struct, like upstream Chromium. r=billm 2017-09-08 20:35:06 -06:00
LSBUtils.h
MiscEvents.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
MouseEvents.h Bug 143038 Make users can scroll contents horizontally with vertical wheel operation with a modifier r=smaug 2017-10-05 01:12:35 +09:00
moz.build Bug 1405210 - Part 1: Add PrintDialogService to windows widget. r=jimm,mshal 2017-10-19 11:04:13 +09:00
NativeKeyToDOMCodeName.h Bug 1389598 - Part 4: Remove remaining gonk refs. r=froydnj 2017-08-11 17:45:18 -07:00
NativeKeyToDOMKeyName.h Bug 1386825 - Part 4: Remove remaining instances of MOZ_B2G. r=froydnj 2017-08-08 14:41:09 -07:00
nsAppShellSingleton.h
nsAutoRollup.cpp Bug 1343977 - Ensure that synthetic mouseclicks generated from touch gestures don't reopen rollups. r=botond,enndeakin+6102 2017-03-13 10:44:59 -04:00
nsAutoRollup.h Bug 1413217 - Fix some includes etc. in widget code. r=jimm 2017-10-12 17:03:35 +01:00
nsBaseAppShell.cpp Bug 1413217 - Fix some includes etc. in widget code. r=jimm 2017-10-12 17:03:35 +01:00
nsBaseAppShell.h
nsBaseClipboard.cpp
nsBaseClipboard.h Bug 1413217 - Fix some includes etc. in widget code. r=jimm 2017-10-12 17:03:35 +01:00
nsBaseDragService.cpp Bug 1389314 Part3: Temporarily disable the input priority events when dnd is active. r=smaug. 2017-08-02 15:23:35 +08:00
nsBaseDragService.h Bug 1295272 - Discard internal DataTransferItem data in nsBaseDragService::EndDragSession - r=enndeakin 2016-11-28 11:39:22 +00:00
nsBaseFilePicker.cpp Bug 1390428 (part 9) - Remove nsXPIDLCString. r=erahm. 2017-08-17 15:29:03 +10:00
nsBaseFilePicker.h Bug 1387800 - Remove [deprecated] nsIFilePicker.show(). r=qdot 2017-08-06 13:15:31 +09:00
nsBaseScreen.cpp Bug 1350643 - Part 3: Add GetDPI to nsIScreen & ScreenDetails. r=kanru 2017-06-06 18:09:34 +08:00
nsBaseScreen.h Bug 1350643 - Part 3: Add GetDPI to nsIScreen & ScreenDetails. r=kanru 2017-06-06 18:09:34 +08:00
nsBaseWidget.cpp Bug 1415469 - Remove mDeviceResetSequenceNumber from TDR process since we don't need it anymore; r=dvander 2017-11-08 15:26:43 +08:00
nsBaseWidget.h Bug 1340415 - Ensure main-thread and async autoscrolling do not happen at the same time. r=kats 2017-10-18 18:18:13 -04:00
nsClipboardHelper.cpp
nsClipboardHelper.h
nsClipboardProxy.cpp
nsClipboardProxy.h
nsColorPickerProxy.cpp Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
nsColorPickerProxy.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
nsContentProcessWidgetFactory.cpp Bug 1382099 - Remove MOZ_WIDGET_GONK from media/, uriloader/, widget, /xpfe/. r=snorp. 2017-07-24 10:08:55 +10:00
nsDeviceContextSpecProxy.cpp Bug 1412643 - revert part 3 of the changes from 1319423 to fix print selection; r=bobowen 2017-11-03 14:03:02 -04:00
nsDeviceContextSpecProxy.h Bug 1319423 - Part 1 - Introduce DrawEventRecorderPRFileDesc to allow switching away from std::ofstream in printing; r=jrmuizel 2017-10-03 12:29:15 -04:00
nsDragServiceProxy.cpp Bug 1413217 - Fix some includes etc. in widget code. r=jimm 2017-10-12 17:03:35 +01:00
nsDragServiceProxy.h
nsFilePickerProxy.cpp Bug 1387800 - Remove [deprecated] nsIFilePicker.show(). r=qdot 2017-08-06 13:15:31 +09:00
nsFilePickerProxy.h Bug 1387800 - Remove [deprecated] nsIFilePicker.show(). r=qdot 2017-08-06 13:15:31 +09:00
nsGUIEventIPC.h Bug 143038 Make users can scroll contents horizontally with vertical wheel operation with a modifier r=smaug 2017-10-05 01:12:35 +09:00
nsHTMLFormatConverter.cpp Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj 2017-10-21 23:53:02 +09:00
nsHTMLFormatConverter.h
nsIApplicationChooser.idl
nsIAppShell.idl
nsIBaseWindow.idl Bug 1402255 - Change nsIBaseWindow::title from wstring to AString. r=janv. 2017-09-25 13:10:51 +10:00
nsIBidiKeyboard.idl
nsIClipboard.idl
nsIClipboardDragDropHookList.idl
nsIClipboardDragDropHooks.idl
nsIClipboardHelper.idl
nsIClipboardOwner.idl
nsIColorPicker.idl
nsIDeviceContextSpec.h
nsIDisplayInfo.idl
nsIdleService.cpp Bug 1404198: Part 2d - Switch to NS_NewTimer* in widget. r=njn 2017-10-15 23:12:54 -07:00
nsIdleService.h
nsIDragService.idl Bug 1361579 - Remove nsISimpleContentPolicy. r=Ehsan 2017-08-03 17:50:00 +09:00
nsIDragSession.idl Bug 1309596, add an updateDragImage method to modify the drag feedback image during the drag, r=smaug 2016-12-23 18:09:44 -05:00
nsIFilePicker.idl Bug 1387800 - Remove [deprecated] nsIFilePicker.show(). r=qdot 2017-08-06 13:15:31 +09:00
nsIFormatConverter.idl
nsIGfxInfo.idl Bug 1389338 - Show Off Main Thread Status in about:support. r=rhunt 2017-08-14 21:08:18 -07:00
nsIGfxInfoDebug.idl
nsIIdleService.idl
nsIIdleServiceInternal.idl
nsIJumpListBuilder.idl Bug 1354143 - Commit jump list on lazy idle thread. r=florian,jimm 2017-05-24 16:38:57 +08:00
nsIJumpListItem.idl
nsIKeyEventInPluginCallback.h
nsIMacDockSupport.idl
nsIMacWebAppUtils.idl
nsINativeMenuService.h
nsIPluginWidget.h
nsIPrintDialogService.h
nsIPrinterEnumerator.idl Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen. 2017-10-09 10:08:09 +11:00
nsIPrintSession.idl
nsIPrintSettings.idl Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen. 2017-10-09 10:08:09 +11:00
nsIPrintSettingsService.idl Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen. 2017-10-09 10:08:09 +11:00
nsIPrintSettingsWin.idl Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen. 2017-10-09 10:08:09 +11:00
nsIRollupListener.h
nsIScreen.idl Bug 1350643 - Part 3: Add GetDPI to nsIScreen & ScreenDetails. r=kanru 2017-06-06 18:09:34 +08:00
nsIScreenManager.idl Bug 1356023 - Remove nsIScreenManager.systemDefaultScale. r=jfkthame 2017-04-13 07:20:35 +09:00
nsISound.idl
nsIStandaloneNativeMenu.idl
nsISystemStatusBar.idl
nsITaskbarOverlayIconController.idl
nsITaskbarPreview.idl
nsITaskbarPreviewButton.idl
nsITaskbarPreviewController.idl Bug 1387802 - Remove [deprecated] methods from nsITaskbarPreviewController. r=jimm 2017-08-06 13:35:02 +09:00
nsITaskbarProgress.idl
nsITaskbarTabPreview.idl
nsITaskbarWindowPreview.idl Bug 1387802 - Remove [deprecated] methods from nsITaskbarPreviewController. r=jimm 2017-08-06 13:35:02 +09:00
nsITransferable.idl Bug 1361579 - Remove nsISimpleContentPolicy. r=Ehsan 2017-08-03 17:50:00 +09:00
nsIWidget.h Bug 1410777 - Remove unnecessary code. r=nical 2017-10-26 14:17:19 -04:00
nsIWidgetListener.cpp Bug 1373581: Make transition into and out of native fullscreen smoother on macOS. r=mstange 2017-10-18 21:50:47 -04:00
nsIWidgetListener.h Bug 1373581: Make transition into and out of native fullscreen smoother on macOS. r=mstange 2017-10-18 21:50:47 -04:00
nsIWindowsUIUtils.idl
nsIWinTaskbar.idl
nsNativeTheme.cpp Bug 1404198: Part 2d - Switch to NS_NewTimer* in widget. r=njn 2017-10-15 23:12:54 -07:00
nsNativeTheme.h Bug 1399956 - Add basic hard coded GTK theme in headless. r=jrmuizel 2017-10-16 16:15:45 -07:00
nsPrimitiveHelpers.cpp Bug 1390428 (part 2, attempt 2) - Remove more nsXPIDLCString local variables. r=erahm. 2017-08-21 20:01:27 +10:00
nsPrimitiveHelpers.h Bug 1393547 - Add missing nsACString declarations in widget/nsPrimitiveHelpers.h. r=mconley 2017-08-24 11:18:00 -04:00
nsPrintOptionsImpl.cpp Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen. 2017-10-09 10:08:09 +11:00
nsPrintOptionsImpl.h Bug 1313525 - Remove the nsIPrintOptions interface. r=mstange 2016-10-28 00:31:14 +01:00
nsPrintSession.cpp
nsPrintSession.h
nsPrintSettingsImpl.cpp Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen. 2017-10-09 10:08:09 +11:00
nsPrintSettingsImpl.h Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen. 2017-10-09 10:08:09 +11:00
nsShmImage.cpp Bug 1397918 - don't use versions of libxcb before 1.11.1. r=karlt 2017-09-22 00:10:35 -04:00
nsShmImage.h Bug 1321129 - make nsShmImage stride compatible with XShm. r=karlt 2017-02-21 10:00:52 -05:00
nsTransferable.cpp Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj 2017-10-21 23:53:02 +09:00
nsTransferable.h Backed out 3 changesets (bug 335545) for asan failures in test_bug1123480.xul a=backout 2017-09-26 15:26:07 -07:00
nsWidgetInitData.h Bug 1365660: Part 2 - Add a HasRemoteContent flag to popup widgets that contain remote browsers. r=kats,bas 2017-05-17 10:16:25 -07:00
nsWidgetsCID.h Bug 1344642 - Part 1: Cleanup dom.forms.datepicker related code. r=smaug 2017-03-17 11:01:57 +08:00
nsXPLookAndFeel.cpp Bug 1409493 - Add CSD entries to LookAndFeel, r=jhorak 2017-10-17 21:12:21 +02:00
nsXPLookAndFeel.h Bug 1387594 - Add system colors for use in conjunction with -moz-font-smoothing-background-color and vibrant -moz-appearances. r=dbaron 2017-09-14 23:09:48 +02:00
PCompositorWidget.ipdl
PlatformWidgetTypes.ipdlh Bug 1373739 - Make macOS compatible with the headless WPT changes. r=bdahl 2017-07-28 23:20:21 -07:00
PluginWidgetProxy.cpp Bug 1338172 part E - make all the PPluginWidget stuff Windows-only. Rip out the GTK-specific native widget support from widget/gtk/nsWindow and elsewhere, r=jimm 2017-02-09 11:53:50 -05:00
PluginWidgetProxy.h Bug 1338172 part E - make all the PPluginWidget stuff Windows-only. Rip out the GTK-specific native widget support from widget/gtk/nsWindow and elsewhere, r=jimm 2017-02-09 11:53:50 -05:00
PuppetBidiKeyboard.cpp
PuppetBidiKeyboard.h
PuppetWidget.cpp Bug 1390741 - Use BasicCompositor if widget type does not support acceleration r=aosmond,kats 2017-11-03 16:38:34 +09:00
PuppetWidget.h Bug 1391262 - Do not use remote LayerManager when its initialization fails r=dvander 2017-10-13 23:32:36 +09:00
Screen.cpp Bug 1350643 - Part 3: Add GetDPI to nsIScreen & ScreenDetails. r=kanru 2017-06-06 18:09:34 +08:00
Screen.h Bug 1350643 - Part 3: Add GetDPI to nsIScreen & ScreenDetails. r=kanru 2017-06-06 18:09:34 +08:00
ScreenManager.cpp Bug 1413217 - Fix some includes etc. in widget code. r=jimm 2017-10-12 17:03:35 +01:00
ScreenManager.h Bug 1356023 - Remove nsIScreenManager.systemDefaultScale. r=jfkthame 2017-04-13 07:20:35 +09:00
SharedWidgetUtils.cpp
SystemTimeConverter.h
TextEventDispatcher.cpp Bug 1384027 - part1: PuppetWidget should have TextEventDispatcher like nsIWidget instance in the parent process r=m_kato 2017-07-25 23:27:31 +09:00
TextEventDispatcher.h Bug 1384027 - part1: PuppetWidget should have TextEventDispatcher like nsIWidget instance in the parent process r=m_kato 2017-07-25 23:27:31 +09:00
TextEventDispatcherListener.h Bug 1296220 Rename nsIMEUpdatePreference to mozilla::widget::IMEUpdatePreference r=m_kato 2017-04-11 21:24:55 +09:00
TextEvents.h Bug 1409580 - Support edit command mapping in headless MacOS. r=masayuki 2017-10-13 17:40:27 -07:00
TextRange.h Bug 1386411 - Part 3: Inline some helper functions in Selection.cpp; r=bzbarsky 2017-08-03 17:05:19 -04:00
TouchEvents.h
VsyncDispatcher.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
VsyncDispatcher.h
WidgetEventImpl.cpp Bug 1411705, check the pseudo char code in GetAccessKeyCandidates so that this check works in both keydown and keypress events, r=masayuki 2017-11-09 18:42:40 -05:00
WidgetMessageUtils.h
WidgetTraceEvent.h
WidgetUtils.cpp Bug 1151753 - Set program class name when not using --class command line option. r=karlt 2017-10-25 15:58:49 +09:00
WidgetUtils.h Bug 1151753 - Set program class name when not using --class command line option. r=karlt 2017-10-25 15:58:49 +09:00
WindowSurface.h Bug 1319554 - allow WindowSurfaceX11Image to render to any visual format. r=rhunt 2016-12-01 12:15:58 -05:00
WindowSurfaceX11SHM.cpp
WindowSurfaceX11SHM.h