author Timothy Nikkel <>
Wed, 13 Jul 2016 23:37:13 -0500
changeset 395128 29dda3d9dfcb2ac4b7e84f69bb1649af99089f19
parent 132322 de94eaa9891124e3c498b57ad0343fad7276e4c5
permissions -rw-r--r--
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).

load 509839-1.html
load 509839-2.html
asserts-if(browserIsRemote,4) load 576878.xhtml
load 793844.html