зеркало из https://github.com/mozilla/gecko-dev.git
b89bb47353
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 |
||
---|---|---|
.. | ||
crashtests | ||
ActiveLayerTracker.cpp | ||
ActiveLayerTracker.h | ||
BorderCache.h | ||
BorderConsts.h | ||
DashedCornerFinder.cpp | ||
DashedCornerFinder.h | ||
DisplayItemClip.cpp | ||
DisplayItemClip.h | ||
DisplayItemClipChain.cpp | ||
DisplayItemClipChain.h | ||
DisplayListChecker.cpp | ||
DisplayListChecker.h | ||
DisplayListClipState.cpp | ||
DisplayListClipState.h | ||
DottedCornerFinder.cpp | ||
DottedCornerFinder.h | ||
FrameLayerBuilder.cpp | ||
FrameLayerBuilder.h | ||
LayerState.h | ||
MaskLayerImageCache.cpp | ||
MaskLayerImageCache.h | ||
MatrixStack.h | ||
PaintTracker.cpp | ||
PaintTracker.h | ||
RetainedDisplayListBuilder.cpp | ||
RetainedDisplayListBuilder.h | ||
RetainedDisplayListHelpers.h | ||
TransformClipNode.h | ||
moz.build | ||
nsCSSRendering.cpp | ||
nsCSSRendering.h | ||
nsCSSRenderingBorders.cpp | ||
nsCSSRenderingBorders.h | ||
nsCSSRenderingGradients.cpp | ||
nsCSSRenderingGradients.h | ||
nsDisplayItemTypes.h | ||
nsDisplayItemTypesList.h | ||
nsDisplayList.cpp | ||
nsDisplayList.h | ||
nsDisplayListArenaTypes.h | ||
nsDisplayListInvalidation.cpp | ||
nsDisplayListInvalidation.h | ||
nsImageRenderer.cpp | ||
nsImageRenderer.h |