Bug 1534250. Always paint the entire mask. r=mattwoodrow

Previously we would only paint the building area but we
would not do anything to check that the building area had
changed. Since, we're already allocating a surface for the entire
item it's better to just paint it and not worry about doing extra
invalidations.

Originally, we used mVisibleRect here. That was changed to GetPaintRect()
in part 1 of 1460491 and then to GetBuildingRect in part 2. However,
I think the original code was always wrong and we should've been using
mBounds the whole time.

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

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Jeff Muizelaar 2019-03-13 15:43:56 +00:00
Родитель ec0fa7a41a
Коммит a00f951356
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -8972,7 +8972,7 @@ bool nsDisplayMasksAndClipPaths::PaintMask(nsDisplayListBuilder* aBuilder,
: imgIContainer::FLAG_SYNC_DECODE_IF_FAST);
nsRect borderArea = nsRect(ToReferenceFrame(), mFrame->GetSize());
nsSVGIntegrationUtils::PaintFramesParams params(
*aMaskContext, mFrame, GetBuildingRect(), borderArea, aBuilder, nullptr,
*aMaskContext, mFrame, mBounds, borderArea, aBuilder, nullptr,
mHandleOpacity, imgParams);
ComputeMaskGeometry(params);
bool painted = nsSVGIntegrationUtils::PaintMask(params);