Bug 966510. Scroll frame display items are never opaque. r=roc

The content they contain may be moved, so any region that is opaquely covered at paint time may not be later.

This problem was made worse by bug 951467 because it made the bounds of the scroll layer item be the bounds of the scrollport is all cases (making it return wrong results even at paint time), instead of the bounds of the contained content (meaning the results would only be wrong after async scroll).
This commit is contained in:
Timothy Nikkel 2014-02-10 04:56:30 -06:00
parent 3779f046a4
commit 6b6d8746ee

View File

@ -2792,6 +2792,12 @@ public:
virtual bool ShouldBuildLayerEvenIfInvisible(nsDisplayListBuilder* aBuilder) MOZ_OVERRIDE;
virtual nsRegion GetOpaqueRegion(nsDisplayListBuilder* aBuilder,
bool* aSnap) MOZ_OVERRIDE {
*aSnap = false;
return nsRegion();
}
virtual bool ComputeVisibility(nsDisplayListBuilder* aBuilder,
nsRegion* aVisibleRegion,
const nsRect& aAllowVisibleRegionExpansion) MOZ_OVERRIDE;