gecko-dev/layout/painting
Alexis Beingessner f6d109ce74 Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow
This static method is assumed to have the same signature as the type's constructor,
and so we must have an implementation of ComputePerFrameKey for each constructor
a display item provides that is called by MakeDisplayItem. Notably this excludes
the MakeClone constructor for a lot of items.

There is a default varargs implementation on nsDisplayItem which everyone
inherits by default, so types which previously didn't overload this method
still don't need to.

Providing an implementation of ComputePerFrameKey on some display item type
shadows the varargs implementation, so one doesn't need to worry about overloading
one constructor but forgetting about another -- if you do, the compiler will only
see the overload and complain that the signature doesn't match.

One slightly annoying result of this is that display items which previously
inherited an overloaded implementation from a superclass now must provide
their own manual implementations. Although as far as I could tell, all of
those cases had a trivial implementation of key=0 (the super class supported
custom keys but the subclasses didn't make use of it).

In those cases I just hardcoded key=0, but it's possible that it would be
better to call into the superclass' implementation to be more robust to changes.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 20:24:30 +00:00
..
crashtests Bug 1555819 - Remove invalidated display items during PreProcessDisplayLists, since we might not merge their display list. r=miko 2019-06-11 04:39:17 +00:00
ActiveLayerTracker.cpp Bug 1429299 - Part 1: Unpack StyleMotion and use cbindgen for OffsetPath. r=emilio 2019-05-20 23:42:50 +00:00
ActiveLayerTracker.h Bug 1529422 - Part 1: Add all transform-like properties into ActiveLayerTracker. r=hiro,mattwoodrow 2019-02-23 00:21:45 +00:00
BorderCache.h
BorderConsts.h
DashedCornerFinder.cpp
DashedCornerFinder.h
DisplayItemClip.cpp Bug 1554247 - Fix bracing in layout/painting r=miko 2019-05-29 14:34:34 +00:00
DisplayItemClip.h Bug 1441308 - Remove unnecessary StackingContextHelper params from clips r=kats 2019-03-13 16:44:05 +00:00
DisplayItemClipChain.cpp Bug 1523969 part 14 - Move method definition inline comments to new line in 'layout/'. r=dholbert 2019-02-25 16:09:24 -06:00
DisplayItemClipChain.h
DisplayListChecker.cpp Bug 1561825 - Make layout.* static prefs follow the naming convention. r=KrisWright 2019-06-27 16:28:25 +10:00
DisplayListChecker.h
DisplayListClipState.cpp
DisplayListClipState.h
DottedCornerFinder.cpp
DottedCornerFinder.h
FrameLayerBuilder.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-07-06 08:18:28 +00:00
FrameLayerBuilder.h Bug 1348503 - Retrieve the FrameLayerBuilder pointer from the LayerManager when we need it. r=tnikkel 2019-06-13 17:02:54 +00:00
LayerState.h Bug 1529698 - Part 1: Make LayerState enum class r=mattwoodrow 2019-05-18 20:11:11 +00:00
MaskLayerImageCache.cpp
MaskLayerImageCache.h
MatrixStack.h
moz.build Bug 1560188 - Fix and improve display list memory reporting. r=mattwoodrow,njn 2019-07-02 02:46:09 +00:00
nsCSSRendering.cpp Bug 1409773 - Use WebRender instead of fallback for border raster images. r=jrmuizel 2019-07-08 12:54:44 -04:00
nsCSSRendering.h Bug 1409773 - Use WebRender instead of fallback for border raster images. r=jrmuizel 2019-07-08 12:54:44 -04:00
nsCSSRenderingBorders.cpp Bug 1409773 - Use WebRender instead of fallback for border raster images. r=jrmuizel 2019-07-08 12:54:44 -04:00
nsCSSRenderingBorders.h Bug 1527972 - Use Rust types for some misc properties. r=jwatt 2019-02-19 15:22:40 +01:00
nsCSSRenderingGradients.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-07-06 08:18:28 +00:00
nsCSSRenderingGradients.h Bug 1557212 - Use cbindgen for gradients. r=jwatt 2019-06-07 14:13:17 +00:00
nsDisplayItemTypes.h Bug 1551986 - Do not create unnecessary items inside opacity: 0 containers r=mattwoodrow 2019-05-16 21:13:49 +00:00
nsDisplayItemTypesList.h Bug 1529698 - Part 4: Add nsDisplayContainer r=mattwoodrow 2019-05-18 20:11:42 +00:00
nsDisplayList.cpp Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow 2019-07-17 20:24:30 +00:00
nsDisplayList.h Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow 2019-07-17 20:24:30 +00:00
nsDisplayListArenaTypes.h Bug 1560188 - Fix and improve display list memory reporting. r=mattwoodrow,njn 2019-07-02 02:46:09 +00:00
nsDisplayListInvalidation.cpp Bug 1541985 - Merge nsCharClipDisplayItem and nsDisplayText r=mattwoodrow 2019-04-10 01:41:22 +00:00
nsDisplayListInvalidation.h Bug 1541985 - Merge nsCharClipDisplayItem and nsDisplayText r=mattwoodrow 2019-04-10 01:41:22 +00:00
nsImageRenderer.cpp Bug 1559094 - Restore old behavior for background-size: cover + zero-sized background positioning area. r=dholbert 2019-06-23 10:08:16 +00:00
nsImageRenderer.h Bug 1409773 - Use WebRender instead of fallback for border raster images. r=jrmuizel 2019-07-08 12:54:44 -04:00
PaintTracker.cpp
PaintTracker.h
RetainedDisplayListBuilder.cpp Bug 1561825 - Make layout.* static prefs follow the naming convention. r=KrisWright 2019-06-27 16:28:25 +10:00
RetainedDisplayListBuilder.h Bug 1558482 - Apply visibleRect and scaling when painting. r=mattwoodrow 2019-06-11 07:52:12 -05:00
RetainedDisplayListHelpers.h Bug 1554247 - Fix bracing in layout/painting r=miko 2019-05-29 14:34:34 +00:00
TransformClipNode.h