No longer need to invalidate all of a foreignObject when there's an invalidate inside of it. (Bug 418063) r=jwatt
authorL. David Baron <dbaron@dbaron.org>
Tue, 26 Jan 2010 12:39:56 -0800
changeset 37521 59a8c065718b7dfe361cb770a208090e4b6a400d
parent 37520 868a2da476a8bffded359e8496955c9e43083355
child 37522 eab0596c15081f2952004f7487264948ccbfec69
push id11352
push userdbaron@mozilla.com
push dateTue, 26 Jan 2010 20:40:33 +0000
treeherdermozilla-central@59a8c065718b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjwatt
bugs418063
milestone1.9.3a1pre
No longer need to invalidate all of a foreignObject when there's an invalidate inside of it. (Bug 418063) r=jwatt
layout/svg/base/src/nsSVGForeignObjectFrame.cpp
--- a/layout/svg/base/src/nsSVGForeignObjectFrame.cpp
+++ b/layout/svg/base/src/nsSVGForeignObjectFrame.cpp
@@ -610,20 +610,16 @@ nsSVGForeignObjectFrame::InvalidateDirty
 
   nsRect rect = ToCanvasBounds(r, GetCanvasTM(), PresContext());
 
   // Don't invalidate areas outside our bounds:
   rect.IntersectRect(rect, mRect);
   if (rect.IsEmpty())
     return;
 
-  // XXX invalidate the entire covered region
-  // See bug 418063
-  rect.UnionRect(rect, mRect);
-
   rect = nsSVGUtils::FindFilterInvalidation(this, rect);
   aOuter->InvalidateWithFlags(rect, aFlags);
 }
 
 void
 nsSVGForeignObjectFrame::FlushDirtyRegion()
 {
   if ((mSameDocDirtyRegion.IsEmpty() && mSubDocDirtyRegion.IsEmpty()) ||