Backout changesets 238b3c81f42c and rest of a417424f9213 (bug 928798 and rest of bug 923193 respectively),a=bajaj
authorRobert O'Callahan <robert@ocallahan.org>
Mon, 11 Nov 2013 21:02:01 +1300
changeset 166640 90c307e8c79ae5e6dc5684f3a7970257a7b4a519
parent 166639 3e5824f3b572f5140f90deb238c61eef91fb7278
child 166641 3420e1f8907536688d657f2f7e040ccd701a213f
push id3066
push userakeybl@mozilla.com
push dateMon, 09 Dec 2013 19:58:46 +0000
treeherdermozilla-beta@a31a0dce83aa [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbajaj
bugs928798, 923193
milestone27.0a2
backs out238b3c81f42c11f3f0d9dd9c27d6ed7238523c2b
Backout changesets 238b3c81f42c and rest of a417424f9213 (bug 928798 and rest of bug 923193 respectively),a=bajaj
layout/svg/nsSVGTextFrame2.cpp
--- a/layout/svg/nsSVGTextFrame2.cpp
+++ b/layout/svg/nsSVGTextFrame2.cpp
@@ -3802,31 +3802,19 @@ TextRenderedRunFlagsForBBoxContribution(
 }
 
 SVGBBox
 nsSVGTextFrame2::GetBBoxContribution(const gfxMatrix &aToBBoxUserspace,
                                      uint32_t aFlags)
 {
   NS_ASSERTION(GetFirstPrincipalChild(), "must have a child frame");
 
+  UpdateGlyphPositioning();
+
   SVGBBox bbox;
-  if (NS_SUBTREE_DIRTY(this)) {
-    // Return an empty bbox if this frame's subtree is dirty. This may be called
-    // in that situation, e.g. when we're building a display list after an
-    // interrupted reflow. This can also be called during reflow before we've
-    // been reflowed, e.g. if an earlier sibling is calling FinishAndStoreOverflow and
-    // needs our parent's perspective matrix, which depends on the SVG bbox
-    // contribution of this frame. In the latter situation, when all siblings have
-    // been reflowed, the parent will compute its perspective and rerun
-    // FinishAndStoreOverflow for all its children.
-    return bbox;
-  }
-
-  UpdateGlyphPositioning();
-
   nsPresContext* presContext = PresContext();
 
   TextRenderedRunIterator it(this);
   for (TextRenderedRun run = it.Current(); run.mFrame; run = it.Next()) {
     uint32_t flags = TextRenderedRunFlagsForBBoxContribution(run, aFlags);
     SVGBBox bboxForRun =
       run.GetUserSpaceRect(presContext, flags, &aToBBoxUserspace);
     bbox.UnionEdges(bboxForRun);