Bug 1313757 - (WIP) Paitially fix this bug when e10 is disable.
MozReview-Commit-ID: 54sPe4s8Oss
--- a/layout/painting/nsDisplayList.cpp
+++ b/layout/painting/nsDisplayList.cpp
@@ -2597,17 +2597,21 @@ nsDisplayBackgroundImage::nsDisplayBackg
uint32_t flags = aBuilder->GetBackgroundPaintFlags();
const nsStyleImageLayers::Layer &layer = mBackgroundStyle->mImage.mLayers[mLayer];
bool isTransformedFixed;
nsBackgroundLayerState state =
nsCSSRendering::PrepareImageLayer(presContext, mFrame, flags,
mBackgroundRect, mBackgroundRect, layer,
&isTransformedFixed);
- mShouldTreatAsFixed = ComputeShouldTreatAsFixed(isTransformedFixed);
+
+ StyleGeometryBox clip = mBackgroundStyle->mImage.mLayers[mLayer].mClip;
+ mShouldTreatAsFixed = (clip == StyleGeometryBox::Text)
+ ? false
+ : ComputeShouldTreatAsFixed(isTransformedFixed);
mBounds = GetBoundsInternal(aBuilder);
if (ShouldFixToViewport(aBuilder)) {
mAnimatedGeometryRoot = aBuilder->FindAnimatedGeometryRootFor(this);
// Expand the item's visible rect to cover the entire bounds, limited to the
// viewport rect. This is necessary because the background's clip can move
// asynchronously.