зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1393706 - Compute display item's visibility when creating fallback data in layers-free mode. r=jrmuizel
MozReview-Commit-ID: 6eUnABLce2Z --HG-- extra : rebase_source : 1a1b462897ef838c70eb8613501b940c06dd0f99
This commit is contained in:
Родитель
3fb42e9edd
Коммит
7675f794c1
|
@ -516,6 +516,13 @@ WebRenderLayerManager::GenerateFallbackData(nsDisplayItem* aItem,
|
|||
clippedBounds = itemBounds.Intersect(clip.GetClipRect());
|
||||
}
|
||||
|
||||
// nsDisplayItem::Paint() may refer the variables that come from ComputeVisibility().
|
||||
// So we should call ComputeVisibility() before painting. e.g.: nsDisplayBoxShadowInner
|
||||
// uses mVisibleRegion in Paint() and mVisibleRegion is computed in
|
||||
// nsDisplayBoxShadowInner::ComputeVisibility().
|
||||
nsRegion visibleRegion(clippedBounds);
|
||||
aItem->ComputeVisibility(aDisplayListBuilder, &visibleRegion);
|
||||
|
||||
const int32_t appUnitsPerDevPixel = aItem->Frame()->PresContext()->AppUnitsPerDevPixel();
|
||||
LayerRect bounds = ViewAs<LayerPixel>(
|
||||
LayoutDeviceRect::FromAppUnits(clippedBounds, appUnitsPerDevPixel),
|
||||
|
|
Загрузка…
Ссылка в новой задаче