Bug 1299715 - Part 3. Clip the target context by visible region of nsDisplayMask. r=mstange

MozReview-Commit-ID: HuqQBdY2M0O

--HG--
extra : rebase_source : bd1bf1b7fbbd6dd660f9f8d1609e5c6c6c07a368
This commit is contained in:
cku 2016-10-07 11:47:45 +08:00
Родитель 5617bfd116
Коммит 74299516a8
1 изменённых файлов: 9 добавлений и 0 удалений

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

@ -6938,9 +6938,18 @@ nsDisplayMask::PaintAsLayer(nsDisplayListBuilder* aBuilder,
aManager,
mHandleOpacity);
// Clip the drawing target by mVisibleRect, which contains the visible
// region of the target frame and its out-of-flow and inflow descendants.
gfxContext* context = aCtx->ThebesContext();
context->Clip(NSRectToSnappedRect(mVisibleRect,
mFrame->PresContext()->AppUnitsPerDevPixel(),
*aCtx->GetDrawTarget()));
image::DrawResult result =
nsSVGIntegrationUtils::PaintMaskAndClipPath(params);
context->PopClip();
nsDisplaySVGEffectsGeometry::UpdateDrawResult(this, result);
}