Bug 914457 - Part 1: Use an empty clip rect for layers with an empty visible region

- Layer::CalculateScissorRect no longer asserts when all children of a
  3d transformed layer have an empty visible region.

--HG--
extra : rebase_source : e05b1e12d88d36a7fedd20fc50c1f02a5370d7fc
This commit is contained in:
Kearwood (Kip) Gilbert 2015-09-14 09:26:10 -07:00
Родитель 962c78b6e0
Коммит e39a8b9817
1 изменённых файлов: 7 добавлений и 0 удалений

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

@ -700,6 +700,13 @@ Layer::CalculateScissorRect(const RenderTargetIntRect& aCurrentScissorRect)
return currentClip;
}
if (GetVisibleRegion().IsEmpty()) {
// When our visible region is empty, our parent may not have created the
// intermediate surface that we would require for correct clipping; however,
// this does not matter since we are invisible.
return RenderTargetIntRect(currentClip.TopLeft(), RenderTargetIntSize(0, 0));
}
const RenderTargetIntRect clipRect =
ViewAs<RenderTargetPixel>(*GetEffectiveClipRect(),
PixelCastJustification::RenderTargetIsParentLayerForRoot);