Add tests for dynamic reflow root handling

RESOLVED FIXED in Firefox 67

Status

()

enhancement
P3
normal
RESOLVED FIXED
8 months ago
3 months ago

People

(Reporter: dholbert, Assigned: dholbert)

Tracking

(Blocks 1 bug)

Trunk
mozilla67
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox67 fixed)

Details

Attachments

(1 attachment)

Filing this bug to add some tests to exercise the various special cases in bug 1159042.

In particular, ideally it'd be great to have a testcase that would fail without:

 - ...overflow getting correctly calculated/repainted on frames that are dynamic reflow roots (to exercise https://phabricator.services.mozilla.com/D9488 )

 - ...the needPaddingProp special case in https://phabricator.services.mozilla.com/D9492 (perhaps as a variant of testcases associated with https://bugzilla.mozilla.org/show_bug.cgi?id=157846#c108 )

 - ...as many as possible of the "canBeDynamicReflowRoot = false" special-cases in https://phabricator.services.mozilla.com/D9491

Feel free to chime in on other cases that need testing.
I thought of one other thing that we can't allow to become a dynamic reflow root:
 - flex/grid items with "align-self:baseline"

(because their internal contents determine their baseline, which then influences their positioning and the positioning of their baseline-aligned siblings)

Technically we should include this in bug 1159042, but I think it's also OK to address as a followup (and with a test), to avoid moving goalposts over there.
WIP mochitest posted on phabricator. So far, it provides coverage for the width/height and {min,max}-{width,height} cases in https://searchfox.org/mozilla-central/source/layout/generic/ReflowInput.cpp#844

(i.e. if I comment out any of those checks, the mochitest fails and dumps a reftest-analyzer-friendly screenshot of a scenario where we produce the wrong result for an incremental reflow)

I'm planning on extending it to cover the rest of the "if" checks, and then I'll request review.
Pushed by dholbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b99e71654921
Add mochitest for conditions that disqualify a frame from becoming a dynamic reflow root. r=dbaron
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
Blocks: 1547922
Blocks: 1548078
You need to log in before you can comment on or make changes to this bug.