gecko-dev/layout/painting
Timothy Nikkel b89bb47353 Bug 1628988. Don't apply ImgDrawResult::NOT_READY in PaintMaskSurface. r=mstange
PaintMaskSurface shouldn't be applying ImgDrawResult::NOT_READY when we don't have a frame and the mask image hasn't been resolved. ImgDrawResult is only about drawing images, not about waiting for external resources to resolve or frames to get constructed. The only purpose of tracking ImgDrawResult's in painting code is to know which frames we need to invalidate because their rendering might change if we sync decode images during a Draw call. Applying NOT_READY here means we invalidate for every paint with the sync decode images flag (ie reftest paints), and it never changes from NOT_READY. This bites the reftest for this bug 1624532.

To fix it, instead of "overloading" the ImgDrawResult we return a bool to indicate the mask is missing or incomplete.

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

--HG--
extra : moz-landing-system : lando
2020-04-13 20:08:05 +00:00
..
crashtests Bug 1587953 - Improve Gtk theme handling for some widgets in vertical writing-modes. r=jmathies 2020-03-19 19:29:55 +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 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel 2020-03-09 14:16:17 +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 1424714 - Prevent the displayport clip from clipping sticky items. r=mstange 2020-04-08 04:59:14 +00:00
DottedCornerFinder.cpp
DottedCornerFinder.h
FrameLayerBuilder.cpp Bug 1546856 - Use GetPaintedDisplayItemLayerUserData in more places and use auto*. r=miko 2020-04-09 16:47:05 +00:00
FrameLayerBuilder.h Bug 1546856 - Group related functions and make GetLastPaintOffset static. r=miko 2020-04-09 16:32:50 +00:00
LayerState.h
MaskLayerImageCache.cpp
MaskLayerImageCache.h
MatrixStack.h
PaintTracker.cpp
PaintTracker.h
RetainedDisplayListBuilder.cpp Bug 1624829 - Use FunctionRef for various Enumerate* callbacks. r=edgar 2020-03-26 12:44:47 +00:00
RetainedDisplayListBuilder.h
RetainedDisplayListHelpers.h
TransformClipNode.h
moz.build
nsCSSRendering.cpp Bug 1622442 - Snap inline-edges of rect to device pixels for each segment of a skip-ink decoration line, for consistent rendering of dotted lines etc. r=dholbert 2020-03-19 19:08:02 +00:00
nsCSSRendering.h Bug 1623410 - Convert mask-composite #defines to an enum class. r=emilio 2020-03-19 13:48:57 +00:00
nsCSSRenderingBorders.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
nsCSSRenderingBorders.h
nsCSSRenderingGradients.cpp Bug 1143478 - Rename mozilla::Pair to CompactPair. r=froydnj 2020-03-17 12:42:12 +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 1622360 - Remove the nsDisplayRenderRoot display item type. r=jrmuizel 2020-03-20 14:20:21 +00:00
nsDisplayList.cpp Bug 1628988. Don't apply ImgDrawResult::NOT_READY in PaintMaskSurface. r=mstange 2020-04-13 20:08:05 +00:00
nsDisplayList.h Bug 1424714 - Prevent the displayport clip from clipping sticky items. r=mstange 2020-04-08 04:59:14 +00:00
nsDisplayListArenaTypes.h
nsDisplayListInvalidation.cpp
nsDisplayListInvalidation.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
nsImageRenderer.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
nsImageRenderer.h