Bug 1271714 - Annotate expected asserts in layout/printing/crashtests/576878.xhtml. r=mstange, a=gchang
authorTimothy Nikkel <tnikkel@gmail.com>
Wed, 13 Jul 2016 23:37:13 -0500
changeset 340098 29dda3d9dfcb2ac4b7e84f69bb1649af99089f19
parent 340097 db9f8c2dcb833b7206f3cd6dfa8aa9677fa16fcd
child 340099 d2076125a317af21aaf87cc2a3eee4351eeaaf5f
push id6249
push userjlund@mozilla.com
push dateMon, 01 Aug 2016 13:59:36 +0000
treeherdermozilla-beta@bad9d4f5bf7e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmstange, gchang
bugs1271714, 576878
milestone49.0a2
Bug 1271714 - Annotate expected asserts in layout/printing/crashtests/576878.xhtml. r=mstange, a=gchang The asserts are: ###!!! ASSERTION: Bounds computation mismatch: 'mContainerBounds.IsEqualInterior(mAccumulatedChildBounds)', /layout/base/FrameLayerBuilder.cpp, line 4887 ###!!! ASSERTION: bad aListVisibleBounds: 'r.GetBounds().IsEqualInterior(aListVisibleBounds)', /layout/base/nsDisplayList.cpp, line 1637 They happen because we have a wrap list item that contains an out of flow frame with no saved clip data. So the patch for this bug changes the scroll clip of the wrap list item from the scroll clip induced by the root scroll frame to the null scroll clip. All of the display items that the wrap list contains have the root scroll frame scroll clip, so this causes the scroll clipped bounds for the wrap list item to expand to the whole content area. These expanded bounds of the wrap list item get incorporated into the bounds of a parent transform item. Later the wrap list item is flattened away, and so it's no longer around to provide the expanded bounds, leading to the assertions. I've thought through options like changing how scroll clipped bounds work for wrap list items, but I can't seem to find any solution that would be consistent. The best thing would be to get the proper clip on out of flows we are going to descend into, but I can't think of a good way to do that either in this case (or in general).
layout/printing/crashtests/crashtests.list
--- a/layout/printing/crashtests/crashtests.list
+++ b/layout/printing/crashtests/crashtests.list
@@ -1,4 +1,4 @@
 load 509839-1.html
 load 509839-2.html
-load 576878.xhtml
+asserts-if(browserIsRemote,4) load 576878.xhtml
 load 793844.html