gecko-dev/widget
Kartikaya Gupta 1eb717ccf5 Bug 1377187 - Rewrite the clipping code to use the new clipchain API. r=mstange
The clip chain API in webrender allows us to build the clip state in WR
so that it matches the gecko display list more closely. This patch throws
away ScrollingLayersHelper.* and introduces ClipManager.* which pushes
the clip state to WR using the new method. A quick summary of the new
method is below.

Each display item in gecko has a DisplayItemClipChain which is a chain
of individual clips. The individual clips are defined in WR, and the
clip ids for those clips are put into a WR clip chain using the new
define_clip_chain API. Furthermore, each clip chain can also have a
parent chain, which is used to link a DisplayItemClipChain to the parent
display item's DisplayItemClipChain. This allows the WR clip state to
closely match the structure of the gecko display list clip state,
resulting in more correct behaviour.

There are a few other major changes that are lumped into this patch and
that were tricky to separate into their own patches:
- The collapsing of WrScrollId and WrStickyId into WrClipId. On the WR
  side all the clip ids are treated the same anyway. Trying to preserve
  the arbitrary distinction on the gecko side was resulting in
  increasingly convoluted code, with different kinds of Variant<..>
  types in the method signatures. It was much simpler and resulted in a
  bunch of code deletion to just collapse the types.
- Moving the "override" mechanism from WebRenderAPI to ClipManager. The
  override mechanism (explained in ClipManager.h) was simplified by
  moving it into ClipManager, because it removed the need for tracking
  additional clip stack state in WebRenderAPI.

MozReview-Commit-ID: GGbdFyJGprK

--HG--
extra : rebase_source : baa56ff179e917b0ab5a5c186a3a415761f8050a
2018-05-08 09:08:39 -04:00
..
android Bug 1444546 - Part 4: Use GENERATED_FILES for Android JNI wrapper generation. r=froydnj,jchen 2018-03-06 20:09:37 -08:00
cocoa Bug 1455310 - Add title data and activity to sharing. r=mstange 2018-04-25 08:23:32 +01:00
crashtests Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
gtk Bug 1457691 - [Gtk/CSD] Don't set toplevel client offset when drawInTitlebar=false and we get _NET_FRAME_EXTENTS for it, r=jhorak 2018-04-28 22:32:11 +02:00
gtkxtbin Bug 1381253 - Remove redundant control flow declarations rs=ehsan 2017-07-15 19:03:04 +02:00
headless Bug 1456035: Part 4 - Convert callers of XPCOMUtils.generateQI to ChromeUtils.generateQI. r=mccr8 2018-04-22 20:55:06 -07:00
reftests Bug 1452658 - Mark many reftests as fuzzy instead of failing for windows-qr. r=jrmuizel 2018-04-10 17:48:16 -04:00
tests Bug 1455310 - Add title data and activity to sharing. r=mstange 2018-04-25 08:23:32 +01:00
uikit Bug 1436048: Use user defined types for font-stretch / font-style. r=jfkthame,jwatt 2018-04-23 18:22:05 +02:00
windows Bug 1377187 - Rewrite the clipping code to use the new clipchain API. r=mstange 2018-05-08 09:08:39 -04:00
x11 Bug 1355089 - add BUG_COMPONENT to widget/* files. r=mstange,jimm 2017-04-14 05:54:36 -04:00
xremoteclient Bug 1418770 - Truncate DBus names used for remote service to DBUS_MAXIMUM_NAME_LENGTH, r=jhorak 2018-02-13 13:59:39 +01:00
BasicEvents.h Bug 1413102 - Ensure Shadow DOM boundaries are dealt properly in event handling, r=masayuki 2018-02-15 12:08:42 +02:00
CommandList.h Bug 1403759 - part 2: Handle edit/selection commands like insertNewline: in TextInputHandler::HandleCommand() r=m_kato 2017-12-02 14:53:10 +09:00
CompositorWidget.cpp Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
CompositorWidget.h Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak 2017-12-18 20:20:02 +01:00
ContentCache.cpp Bug 1422230 - part 2: ContentCacheInParent should allow to query content relative to composition string even after sending eCompositionCommit(AsIs) event but not yet handled in the remote process r=m_kato 2018-01-12 15:05:24 +09:00
ContentCache.h Bug 1402519 - Remove MOZ_CRASHREPORTER directives from widget; r=froydnj 2017-11-23 10:59:04 +01:00
ContentEvents.h Bug 1433008 - Make AnimationEventInfo, InternalTransitionEvent and InternalAnimationEvent movable. r=masayuki 2018-01-30 09:26:48 +09:00
EventClassList.h Bug 1314388 - Remove SVGZoomEvent; r=longsonr,smaug 2017-04-04 15:36:22 +03:00
EventForwards.h Bug 1403759 - part 2: Handle edit/selection commands like insertNewline: in TextInputHandler::HandleCommand() r=m_kato 2017-12-02 14:53:10 +09: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 Bug 1447141: Blacklist all acceleration on a small subset of AMD device/driver combinations that show up in content crashes. r=milan 2018-04-13 14:06:52 +02:00
GfxDriverInfo.h Bug 1447141: Blacklist all acceleration on a small subset of AMD device/driver combinations that show up in content crashes. r=milan 2018-04-13 14:06:52 +02:00
GfxInfoBase.cpp Bug 1455696: gfx.webrender.all.qualified preference to default to WR for non-blocked devices/hardware. gfx.webrender.all will still force it on. r=milan 2018-05-03 13:02:00 +03:00
GfxInfoBase.h Bug 1457007 - Add about:support information on if tiling is used in the content process. r=nical 2018-04-30 15:05:19 -05:00
GfxInfoCollector.cpp
GfxInfoCollector.h
GfxInfoX11.cpp Bug 1455696: gfx.webrender.all.qualified preference to default to WR for non-blocked devices/hardware. gfx.webrender.all will still force it on. r=milan 2018-05-03 13:02:00 +03:00
GfxInfoX11.h Bug 1441270 - Remove unused WebGL parameter getters. r=jgilbert 2018-02-26 20:35:12 +01:00
IMEData.h Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
InProcessCompositorWidget.cpp Bug 1413217 - Fix some includes etc. in widget code. r=jimm 2017-10-12 17:03:35 +01:00
InProcessCompositorWidget.h
InputData.cpp Bug 1458063 - Support constructing a PinchGestureInput with a focus point in Screen coordinates. r=kats 2018-05-02 16:41:47 -04:00
InputData.h Bug 1458063 - Support constructing a PinchGestureInput with a focus point in Screen coordinates. r=kats 2018-05-02 16:41:47 -04:00
LookAndFeel.h Backed out 5 changesets (bug 1417709) for failing X in devtools/shared/tests/unit/test_css-properties-db.js r=backout on a CLOSED TREE 2017-11-23 01:17:07 +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 Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
MouseEvents.h Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
moz.build Bug 1363168 - Add support for OSX Share feature. r=Gijs,mstange 2018-03-12 09:16:51 +00:00
NativeKeyToDOMCodeName.h Bug 1389598 - Part 4: Remove remaining gonk refs. r=froydnj 2017-08-11 17:45:18 -07:00
NativeKeyToDOMKeyName.h Bug 1446809 - Remove some b2g leftover in widget/NativeKeyToDOMKeyName.h r=froydnj 2018-03-18 19:30:05 +01: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 Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
nsBaseAppShell.h
nsBaseClipboard.cpp
nsBaseClipboard.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
nsBaseDragService.cpp Bug 1444991 - Part 5: Make some XPCOM methods more strongly typed, r=bz 2018-04-17 19:21:05 -04:00
nsBaseDragService.h Bug 1447889 part 14. Remove mention of nsIDOMRange from layout/. r=mystor 2018-03-27 00:35:22 -04:00
nsBaseFilePicker.cpp Bug 1390428 (part 9) - Remove nsXPIDLCString. r=erahm. 2017-08-17 15:29:03 +10:00
nsBaseFilePicker.h Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08: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 1447056 part 2 - Invoke Resize in SetSizeConstraints with the current size to apply the new constraints. r=bz 2018-04-05 08:08:30 +10:00
nsBaseWidget.h Bug 1437941: Don't ignore mousemove after fullscreen transition r=handyman 2018-04-02 18:42:12 -07:00
nsClipboardHelper.cpp
nsClipboardHelper.h
nsClipboardProxy.cpp Bug 1453129 - don't needlessly copy data in nsClipboardProxy; r=smaug 2018-04-10 19:07:40 -04:00
nsClipboardProxy.h
nsColorPickerProxy.cpp
nsColorPickerProxy.h
nsContentProcessWidgetFactory.cpp Bug 1401678 - Proxy nsISound::beep() and nsISound::play() calls from the content process to the parent process and beep away there. r=bkelly 2018-01-16 13:24:51 +01:00
nsDeviceContextSpecProxy.cpp Bug 1432409 part 1 - Prevent nsDeviceContextSpecProxy using RemotePrintJobChild if initialization fails. r=dholbert 2018-02-16 14:53:26 +00:00
nsDeviceContextSpecProxy.h Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj 2018-02-08 21:22:43 -08:00
nsDragServiceProxy.cpp Bug 1453016 - user safer enum serialization for gfx::SurfaceFormat in IPC; r=kats 2018-04-10 11:53:44 -04:00
nsDragServiceProxy.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
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 1358017 - Part 4: Implements the auto-dir scrolling feature(without the "honour root" functionality) in APZ r=kats 2018-03-16 19:23:53 +08: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
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 1455052 part 13. Remove nsIDOMEvent. r=masayuki 2018-04-20 12:55:31 -04:00
nsIDragSession.idl Bug 1444991 - Part 5: Make some XPCOM methods more strongly typed, r=bz 2018-04-17 19:21:05 -04:00
nsIFilePicker.idl Bug 1387800 - Remove [deprecated] nsIFilePicker.show(). r=qdot 2017-08-06 13:15:31 +09:00
nsIFormatConverter.idl
nsIGfxInfo.idl Bug 1455696: gfx.webrender.all.qualified preference to default to WR for non-blocked devices/hardware. gfx.webrender.all will still force it on. r=milan 2018-05-03 13:02:00 +03:00
nsIGfxInfoDebug.idl
nsIGtkTaskbarProgress.idl Bug 1418749 - Add a TaskbarProgress implementation for gtk3/x11. r=paolo,karlt 2018-03-08 18:43:00 +02:00
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
nsIMacSharingService.idl Bug 1455310 - Add title data and activity to sharing. r=mstange 2018-04-25 08:23:32 +01:00
nsIMacWebAppUtils.idl
nsINativeMenuService.h Bug 1423167: Move most attribute-related methods from nsIContent to Element. r=bz 2017-12-06 16:05:59 +01:00
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 Bug 1448914 - remove nsISound::playSystemSound; r=masayuki 2018-03-27 10:41:40 -04:00
nsIStandaloneNativeMenu.idl Bug 1455674 part 13. Remove remaining xpidl uses of nsIDOMElement. r=qdot 2018-04-26 23:37:29 -04:00
nsISystemStatusBar.idl Bug 1455674 part 13. Remove remaining xpidl uses of nsIDOMElement. r=qdot 2018-04-26 23:37:29 -04:00
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 1437281 - OSX dragging image to desktop changes OSX File associations r=mystor 2018-03-27 14:55:33 -07:00
nsIWidget.h Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-04-06 17:54:45 +03:00
nsIWidgetListener.cpp Bug 1455691 - Make the transaction id a struct instead of a uint64_t. r=mattwoodrow 2018-04-20 15:13:06 -04:00
nsIWidgetListener.h Bug 1455691 - Make the transaction id a struct instead of a uint64_t. r=mattwoodrow 2018-04-20 15:13:06 -04:00
nsIWindowsUIUtils.idl
nsIWinTaskbar.idl
nsNativeTheme.cpp Backed out 8 changesets (bug 1451169) on request from njn a=backout 2018-04-11 11:22:05 +03: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
nsPrintSession.cpp
nsPrintSession.h
nsPrintSettingsImpl.cpp Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
nsPrintSettingsImpl.h Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen. 2017-10-09 10:08:09 +11:00
nsPrintSettingsService.cpp Bug 144114 part 3 - Clean up the headers of the nsPrintSettingsService subclasses. r=bobowen 2017-12-19 11:05:37 +00:00
nsPrintSettingsService.h Bug 144114 part 3 - Clean up the headers of the nsPrintSettingsService subclasses. r=bobowen 2017-12-19 11:05:37 +00: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
nsSoundProxy.cpp Bug 1448914 - remove nsISound::playSystemSound; r=masayuki 2018-03-27 10:41:40 -04:00
nsSoundProxy.h Bug 1401678 - Proxy nsISound::beep() and nsISound::play() calls from the content process to the parent process and beep away there. r=bkelly 2018-01-16 13:24:51 +01:00
nsTransferable.cpp Bug 1433030 - Initialize nsTransferable::mPrivateData with false r=jdm 2018-03-07 10:21:50 +01:00
nsTransferable.h Bug 335545 - Make DataStruct non-copyable r=mstange 2018-02-25 17:36:08 +01:00
nsWidgetInitData.h Bug 1447056 part 1 - Move eWindowType_sheet to be before eWindowType_popup. r=mstange 2018-04-05 08:08:30 +10:00
nsWidgetsCID.h Bug 1363168 - Add support for OSX Share feature. r=Gijs,mstange 2018-03-12 09:16:51 +00:00
nsXPLookAndFeel.cpp Backed out 5 changesets (bug 1417709) for failing X in devtools/shared/tests/unit/test_css-properties-db.js r=backout on a CLOSED TREE 2017-11-23 01:17:07 +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
PluginWidgetProxy.h
PuppetBidiKeyboard.cpp Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
PuppetBidiKeyboard.h
PuppetWidget.cpp merge mozilla-central to autoland 2018-04-13 16:04:29 +03:00
PuppetWidget.h Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
Screen.cpp Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05: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 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
ScreenManager.h Bug 1356023 - Remove nsIScreenManager.systemDefaultScale. r=jfkthame 2017-04-13 07:20:35 +09:00
SharedWidgetUtils.cpp
SystemTimeConverter.h Bug 1447549 - avoid crashing windows debug builds at startup when ::GetMessageTime returns 0, r=jimm. 2018-03-21 23:35:00 +01:00
TextEventDispatcher.cpp Bug 1440189 - Stop dispatching keypress event to the default event group in web content (only Nightly and early Beta) unless web page isn't in blacklist r=smaug 2018-03-23 12:06:55 +09:00
TextEventDispatcher.h Bug 1433101 - part 1: Add new pref which disables keypress event for non-printable keys only for the default event group in web content r=smaug 2018-01-25 23:27:07 +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 Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03: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 Bug 1436508 part 16. Remove nsIDOMSimpleGestureEvent. r=masayuki 2018-02-09 11:17:10 -05:00
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 1429903 part 4. Remove nsIDOMEventTarget. r=mccr8 2018-04-20 00:49:30 -04:00
WidgetMessageUtils.h Bug 1445234 - Use ContiguousEnumSerializer for serializing nsCursor. r=smaug 2018-04-09 10:48:09 -04:00
WidgetTraceEvent.h
WidgetUtils.cpp Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05: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
WindowSurfaceX11SHM.cpp
WindowSurfaceX11SHM.h