Bug 1299715 - Part 2. Correct the value of nsDisplayMask::mVisibleRect. r=mstange

In nsDisplayItem::RecomputeVisibility, we compute and assign the value of
mVisibleRect base on the return value of nsDisplayMask::GetBounds.
Before this patch, the region of out-of-flow descendants is discarded.

MozReview-Commit-ID: JEeegiO1a6J

--HG--
extra : rebase_source : 0e66c0765d7eb7700592ab947c92a705a7281ea5
This commit is contained in:
cku 2016-10-06 17:53:19 +08:00
Родитель a73d4a3f35
Коммит 2a0c6d5e7c
1 изменённых файлов: 5 добавлений и 6 удалений

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

@ -3853,11 +3853,6 @@ public:
virtual void HitTest(nsDisplayListBuilder* aBuilder, const nsRect& aRect,
HitTestState* aState,
nsTArray<nsIFrame*> *aOutFrames) override;
virtual nsRect GetBounds(nsDisplayListBuilder* aBuilder,
bool* aSnap) override {
*aSnap = false;
return mEffectsBounds + ToReferenceFrame();
}
virtual bool ShouldFlattenAway(nsDisplayListBuilder* aBuilder) override {
return false;
@ -3937,7 +3932,11 @@ public:
virtual LayerState GetLayerState(nsDisplayListBuilder* aBuilder,
LayerManager* aManager,
const ContainerLayerParameters& aParameters) override;
virtual nsRect GetBounds(nsDisplayListBuilder* aBuilder,
bool* aSnap) override {
*aSnap = false;
return mEffectsBounds + ToReferenceFrame();
}
virtual bool ComputeVisibility(nsDisplayListBuilder* aBuilder,
nsRegion* aVisibleRegion) override;
#ifdef MOZ_DUMP_PAINTING