Bug 1022612. Part 15.5: Use GetVisibleRectForChildren instead of GetVisibleRect. r=mattwoodrow

--HG--
extra : rebase_source : 67cd76ce64beff29af0a90db76e752585922ddab
This commit is contained in:
Robert O'Callahan 2014-07-15 23:49:38 +12:00
parent 7929f2e6de
commit f1dee11b96

View File

@ -3453,8 +3453,14 @@ FrameLayerBuilder::BuildContainerLayerFor(nsDisplayListBuilder* aBuilder,
} }
ContainerLayerParameters scaleParameters; ContainerLayerParameters scaleParameters;
if (!ChooseScaleAndSetTransform(this, aBuilder, aContainerFrame, aChildren.GetVisibleRect(), nsRect bounds = aChildren->GetBounds(aBuilder);
aTransform, aParameters, containerLayer, state, scaleParameters)) { nsRect childrenVisible =
aContainerItem ? aContainerItem->GetVisibleRectForChildren() :
aContainerFrame->GetVisualOverflowRectRelativeToSelf();
if (!ChooseScaleAndSetTransform(this, aBuilder, aContainerFrame,
bounds.Intersect(childrenVisible),
aTransform, aParameters,
containerLayer, state, scaleParameters)) {
return nullptr; return nullptr;
} }
@ -3473,7 +3479,6 @@ FrameLayerBuilder::BuildContainerLayerFor(nsDisplayListBuilder* aBuilder,
LayerManagerData* data = static_cast<LayerManagerData*> LayerManagerData* data = static_cast<LayerManagerData*>
(aManager->GetUserData(&gLayerManagerUserData)); (aManager->GetUserData(&gLayerManagerUserData));
nsRect bounds = aChildren->GetBounds(aBuilder);
nsIntRect pixBounds; nsIntRect pixBounds;
int32_t appUnitsPerDevPixel; int32_t appUnitsPerDevPixel;
uint32_t stateFlags = 0; uint32_t stateFlags = 0;