gecko-dev/layout/reftests
Daniel Holbert ab6826ce32 Bug 1655608 part 3: Fix ReflowOutput/ReflowInput mismatch in nsPageSequenceFrame. r=TYLin
For a given ::Reflow call, we have an expectation that the ReflowInput and
ReflowOutput should be "matching".  In particular: we should use the
ReflowInput to initialize the ReflowOutput, and we should pass both of these to
the frame's Reflow method.

In current mozilla-central (prior to this patch), nsPageSequenceFrame violates
this expectation when it prepares to reflow its children, in the following
ways:
1) It passes in the wrong ReflowInput as an arg when constructing a
   ReflowOutput struct for its children. (It passes *its own* ReflowInput arg,
   rather than the ReflowInput for the child that it's about to reflow.)
2) It *reuses* that single ReflowOutput structure *for all of its children*,
   which means that sizing information from one child will end up improperly
   influencing later children by "leaking through".

This results in overflow areas that are artificially too large on nsPageFrames,
because ReflowOutput populates its overflow areas via "union()" operations. So
the improperly-reused ReflowOutput produces a strictly larger overflow area
on each subsequent page (even if the page doesn't actually have any overflow).

This patch fixes these problems by creating a new ReflowOutput for each child,
and initializing it with the correct ReflowInput instance.

Notably, this patch *is* a behavior-change (in the direction of correctness).
In particular, we won't have artificially-inflated overflow areas on later
nsPageFrame instances anymore, and so now some of our automated testcases
trigger assertion-failures that they were getting around before. These all
seem to be versions of https://bugzilla.mozilla.org/show_bug.cgi?id=1655630
which, "fortunately", is already reproducible (under certain paper sizes)
even in a build from current mozilla-central, without this here patch.

Differential Revision: https://phabricator.services.mozilla.com/D85098
2020-07-28 22:43:46 +00:00
..
abs-pos
apng-mime
async-scrolling
backgrounds
bidi
border-dotted
border-image Backed out 3 changesets (bug 1648851) for webgl issues. CLOSED TREE 2020-07-20 12:44:43 +03:00
border-radius
box
box-ordinal
box-properties
box-shadow
box-sizing
bugs Bug 1655608 part 3: Fix ReflowOutput/ReflowInput mismatch in nsPageSequenceFrame. r=TYLin 2020-07-28 22:43:46 +00:00
canvas
columns Bug 1647520 Part 2 - Set font and line-height to make column reftests stable across all platforms. r=heycam 2020-07-20 22:27:42 +00:00
counter-style
counters
css-animations
css-blending
css-break Bug 1647520 Part 1 - Adjust reftests so that the optimal column balancing height is on whole CSS pixels. r=heycam 2020-07-20 22:27:35 +00:00
css-calc
css-charset
css-default
css-disabled
css-display
css-enabled
css-gradients
css-grid Bug 1651530 - Apply min/max-block-size to tables. r=mats 2020-07-21 19:12:39 +00:00
css-import
css-invalid
css-mediaqueries
css-optional
css-parsing
css-placeholder
css-required
css-ruby
css-scroll-snap
css-scrollbars
css-selectors
css-shapes
css-sizing
css-submit-invalid
css-transitions
css-ui
css-ui-invalid
css-ui-valid
css-valid
css-valuesandunits
css-variables
css-visited
cssom
datalist
details-summary
display-list Bug 1650438 - Fix indentation in test. r=mattwoodrow 2020-07-16 15:56:27 +00:00
dom
first-letter
first-line
flexbox
floats
font-face
font-features
font-inflation
font-loading-api
font-matching
font-variations
fonts
forms Bug 558594 - Implement layout for <input type='search'>. r=emilio,masayuki 2020-07-27 12:09:40 +00:00
frameset
generated-content
high-contrast Bug 1637130 - Rename visual overflow to ink overflow. r=dbaron 2020-07-20 20:17:36 +00:00
ib-split
image
image-element
image-rect
image-region
indic-shaping
inline
inline-borderpadding
invalidation
layers
line-breaking
list-item
margin-collapsing
marquee
mathml
meta-viewport
mp4-video
native-theme
object
ogg-video
outline
pagination Bug 1655608 part 3: Fix ReflowOutput/ReflowInput mismatch in nsPageSequenceFrame. r=TYLin 2020-07-28 22:43:46 +00:00
percent-overflow-sizing
pixel-rounding
position-dynamic-changes
position-relative
position-sticky
printing
reftest-sanity
scrolling
selection
stylesheet-cloning
svg
tab-size
table-anonymous-boxes
table-background
table-bordercollapse
table-dom
table-html
table-overflow
table-width
text
text-decoration
text-indent
text-overflow Bug 1651530 - Apply min/max-block-size to tables. r=mats 2020-07-21 19:12:39 +00:00
text-shadow
text-stroke
text-svgglyphs
text-transform
transform Bug 1638152 - Jank partial prerender transform animations and report the janked animations to the main-thread in each process on WebRender. r=botond,kats 2020-07-21 10:03:34 +00:00
transform-3d
unicode
usercss
view-source
w3c-css Bug 1655608 part 3: Fix ReflowOutput/ReflowInput mismatch in nsPageSequenceFrame. r=TYLin 2020-07-28 22:43:46 +00:00
web-animations
webcomponents
webkit-box
webkit-gradient
webm-video
writing-mode
xul
xul-document-load
z-index
filters.svg
moz.build
reftest-qr.list
reftest.list