Bug 845526. Limit complexity of invalid region in RemoveFrameFromLayerManager. r=mattwoodrow
☠☠ backed out by 905a4659c3d2 ☠ ☠
authorRobert O'Callahan <robert@ocallahan.org>
Wed, 27 Feb 2013 16:05:32 +1300
changeset 123143 05c35dc73323764e05fc366cc8d2fd5274bdd598
parent 123142 622b744e5df9387fa352791b415b85fa9b1d0ef5
child 123144 dba7a059ed222ed1515a878a3e3b906a55850aeb
push id24372
push useremorley@mozilla.com
push dateWed, 27 Feb 2013 13:22:59 +0000
treeherdermozilla-central@0a91da5f5eab [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmattwoodrow
bugs845526
milestone22.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 845526. Limit complexity of invalid region in RemoveFrameFromLayerManager. r=mattwoodrow
layout/base/FrameLayerBuilder.cpp
--- a/layout/base/FrameLayerBuilder.cpp
+++ b/layout/base/FrameLayerBuilder.cpp
@@ -918,16 +918,17 @@ FrameLayerBuilder::RemoveFrameFromLayerM
     if (t) {
       ThebesDisplayItemLayerUserData* thebesData =
           static_cast<ThebesDisplayItemLayerUserData*>(t->GetUserData(&gThebesDisplayItemLayerUserData));
       if (thebesData) {
         nsRegion old = data->mGeometry->ComputeInvalidationRegion();
         nsIntRegion rgn = old.ScaleToOutsidePixels(thebesData->mXScale, thebesData->mYScale, thebesData->mAppUnitsPerDevPixel);
         rgn.MoveBy(-GetTranslationForThebesLayer(t));
         thebesData->mRegionToInvalidate.Or(thebesData->mRegionToInvalidate, rgn);
+        thebesData->mRegionToInvalidate.SimplifyOutward(8);
       }
     }
 
     data->mParent->mDisplayItems.RemoveEntry(data);
   }
 
   arrayCopy.Clear();
   delete array;