Bug 1021564 - Make sure that FinishAndStoreOverflow is called for MathML frames even if they are in an error state. r=roc
authorMarkus Stange <mstange@themasta.com>
Sat, 30 Aug 2014 18:22:42 +0200
changeset 224252 2c0f68531d4bdf3412b02c0e7606f35d80e023a9
parent 224251 9c0d8ef32b3e05782380916166a507ec4ed86af3
child 224253 68e542dad3c1ab31e68a7eb2fe73ab7bfb3c5fe1
push id3979
push userraliiev@mozilla.com
push dateMon, 13 Oct 2014 16:35:44 +0000
treeherdermozilla-beta@30f2cc610691 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersroc
bugs1021564
milestone34.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 1021564 - Make sure that FinishAndStoreOverflow is called for MathML frames even if they are in an error state. r=roc
layout/mathml/nsMathMLContainerFrame.cpp
--- a/layout/mathml/nsMathMLContainerFrame.cpp
+++ b/layout/mathml/nsMathMLContainerFrame.cpp
@@ -466,16 +466,17 @@ nsMathMLContainerFrame::FinalizeReflow(n
 
   // Place() will call FinishReflowChild() when placeOrigin is true but if
   // it returns before reaching FinishReflowChild() due to errors we need
   // to fulfill the reflow protocol by calling DidReflow for the child frames
   // that still needs it here (or we may crash - bug 366012).
   // If placeOrigin is false we should reach Place() with aPlaceOrigin == true
   // through Stretch() eventually.
   if (NS_MATHML_HAS_ERROR(mPresentationData.flags) || NS_FAILED(rv)) {
+    GatherAndStoreOverflow(&aDesiredSize);
     DidReflowChildren(GetFirstPrincipalChild());
     return rv;
   }
 
   bool parentWillFireStretch = false;
   if (!placeOrigin) {
     // This means the rect.x and rect.y of our children were not set!!
     // Don't go without checking to see if our parent will later fire a Stretch() command