gecko-dev/layout/painting
Hiroyuki Ikezoe c746275523 Bug 1638152 - Inform transform value in the clip rectangle and the offset from the reference frame for the partial pre-render check on WebRender. r=botond
On WebRender there is no layer tree structures so that we can't accumulate
transform values up to the nearest APZ's scroll layer by walking up the layer
tree, or we can't tell a given transform animation is inside a perspective layer
to decide whether we need to apply the offset from the reference frame or not
[1]. So we get the accumulated transform by using
nsLayoutUtils::GetTransformToAncestor on the main-thread and inform it to the
compositor thread, and also inform the offset which is set conditionally [2]
so that we don't need to tell whether the transform animation is inside a
perspective layer or not on the compositor thread.

I am not yet 100% sure that these values are same both on WebRender and non
WebRender in all cases, once after partial pre-rendering transforms have
been used in the wild well enough and any problem has not appeared, even if
there are problems we should fix them then the non WebRender version should
eventually use this same setup instead of walking up the layer tree.

[1] https://searchfox.org/mozilla-central/rev/85ae3b911d5fcabd38ef315725df32e25edef83b/gfx/layers/CompositorAnimationStorage.cpp#273-275
[2] https://searchfox.org/mozilla-central/rev/85ae3b911d5fcabd38ef315725df32e25edef83b/layout/painting/nsDisplayList.cpp#7879-7891

Differential Revision: https://phabricator.services.mozilla.com/D83201
2020-07-21 10:09:06 +00:00
..
crashtests Bug 1647034 - Change how the visual viewport is updated to eliminate spurious reflows. r=tnikkel 2020-06-29 18:39:57 +00:00
ActiveLayerTracker.cpp Bug 1620594 - Part 5: Use GetMainThreadSerialEventTarget instead of SystemGroup::EventTargetFor. r=nika 2020-04-07 15:17:07 +00:00
ActiveLayerTracker.h
BorderCache.h
BorderConsts.h
DashedCornerFinder.cpp
DashedCornerFinder.h
DisplayItemClip.cpp Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel 2020-03-09 14:16:17 +00:00
DisplayItemClip.h Bug 1626570 - Improve handling of copying arrays in layout/painting/. r=emilio 2020-05-05 10:05:59 +00:00
DisplayItemClipChain.cpp
DisplayItemClipChain.h
DisplayListChecker.cpp
DisplayListChecker.h
DisplayListClipState.cpp Bug 1424714 - Prevent the displayport clip from clipping sticky items. r=mstange 2020-04-08 04:59:14 +00:00
DisplayListClipState.h Bug 1630704 - Part 27: Remove nsFrame from inheritance chain r=emilio 2020-07-06 22:29:42 +00:00
DottedCornerFinder.cpp
DottedCornerFinder.h
FrameLayerBuilder.cpp Bug 1637130 - Rename visual overflow to ink overflow. r=dbaron 2020-07-20 20:17:36 +00:00
FrameLayerBuilder.h Bug 1636731 - Use FunctionRef for animation generation enumeration. r=hiro 2020-05-10 02:17:47 +00:00
LayerState.h
MaskLayerImageCache.cpp Bug 1626570 - Improve handling of copying arrays in layout/painting/. r=emilio 2020-05-05 10:05:59 +00:00
MaskLayerImageCache.h
MatrixStack.h
moz.build Bug 1652254 - Remove svg from some moz.build local includes r=dholbert 2020-07-12 16:38:26 +00:00
nsCSSRendering.cpp Bug 1637130 - Rename visual overflow to ink overflow. r=dbaron 2020-07-20 20:17:36 +00:00
nsCSSRendering.h Bug 1550710 - Make vector images enable high quality scaling for embedded raster images. r=tnikkel 2020-06-23 12:43:21 +00:00
nsCSSRenderingBorders.cpp Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj 2020-07-01 08:29:29 +00:00
nsCSSRenderingBorders.h
nsCSSRenderingGradients.cpp Bug 1642989 - Use RemoveLastElements instead of RemoveElementsAt where possible. r=froydnj 2020-06-08 08:50:15 +00:00
nsCSSRenderingGradients.h Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel 2020-03-09 14:16:17 +00:00
nsDisplayItemTypes.h
nsDisplayItemTypesList.h Bug 1592739 - Stop clearing the background behind vibrant -moz-appearance items. r=mattwoodrow 2020-06-11 18:46:39 +00:00
nsDisplayList.cpp Bug 1638152 - Inform transform value in the clip rectangle and the offset from the reference frame for the partial pre-render check on WebRender. r=botond 2020-07-21 10:09:06 +00:00
nsDisplayList.h Bug 1637130 - Rename visual overflow to ink overflow. r=dbaron 2020-07-20 20:17:36 +00:00
nsDisplayListArenaTypes.h
nsDisplayListInvalidation.cpp Bug 1626570 - Improve handling of copying arrays in layout/painting/. r=emilio 2020-05-05 10:05:59 +00:00
nsDisplayListInvalidation.h Bug 1644468 - Invalidate XUL trees when window focus changes. r=miko 2020-06-11 23:35:18 +00:00
nsImageRenderer.cpp Bug 1653848 - Make SVGPaintServer and SVGGradientFrames queryable r=dholbert 2020-07-20 18:02:25 +00:00
nsImageRenderer.h Bug 1550710 - Make vector images enable high quality scaling for embedded raster images. r=tnikkel 2020-06-23 12:43:21 +00:00
PaintTracker.cpp
PaintTracker.h
RetainedDisplayListBuilder.cpp Bug 1637130 - Rename visual overflow to ink overflow. r=dbaron 2020-07-20 20:17:36 +00:00
RetainedDisplayListBuilder.h
RetainedDisplayListHelpers.h
TransformClipNode.h