Skip to content

Re-pin parley for negative half-leading fix (WPT Group B) - #686

Open
nicoburns wants to merge 3 commits into
devin/1786131935-parley-git-depfrom
devin/1786407599-group-b-negative-half-leading
Open

Re-pin parley for negative half-leading fix (WPT Group B)#686
nicoburns wants to merge 3 commits into
devin/1786131935-parley-git-depfrom
devin/1786407599-group-b-negative-half-leading

Conversation

@nicoburns

@nicoburns nicoburns commented Aug 11, 2026

Copy link
Copy Markdown
Member

Summary

Consumes DioxusLabs/parley#8 (rev 99ec3e5), which stops clamping negative line box extents produced by negative half-leading (line-height < ascent + descent), fixing the css/CSS2/linebox/line-height-0xx WPT regression cluster on this branch.

Parley's line extents now start at f32::NEG_INFINITY (resolved to 0 for lines with no contributing content) instead of 0, so max-accumulation no longer floors legitimately-negative over/under at zero. Out-of-flow inline boxes contribute NEG_INFINITY extents (no-op) instead of 0.0; correspondingly, the float placement path in inline.rs now passes NEG_INFINITY ascent/descent to append_inline_box_to_line so floats no longer floor the line's extents (previously masked by the zero default, and would otherwise regress line-height-oof-descendants-001.html).

WPT (css/CSS2 + css/css-fonts + css/css-text, vs this branch without the fix): 4685 → 4720 passing (+35 fixed, 0 regressions). Fixed: the line-height-0xx cluster, visudet/line-height-201.html, first-available-font-003/004.html. Not covered: inline-formatting-context-011.xht (passes on main, still fails on this branch — it depends on inline-block/vertical-align line metrics, outside this fix's scope).

Link to Devin session: https://dioxus.staging.devinenterprise.com/sessions/be0138f98f55445c85962594d089b88d
Requested by: @nicoburns

WPT results

33 newly passing, 53 newly failing (net -20).

Full diff (86 changed tests)
+ Fail => Pass css/CSS2/bidi-text/bidi-001.xht
+ Fail => Pass css/CSS2/css1/c414-flt-fit-004.xht
- Pass => Fail css/CSS2/floats-clear/float-003.xht
- Pass => Fail css/CSS2/floats-clear/float-replaced-width-006.xht
- Pass => Fail css/CSS2/floats-clear/float-replaced-width-008.xht
- Pass => Fail css/CSS2/floats-clear/float-replaced-width-009.xht
- Pass => Fail css/CSS2/floats-clear/float-replaced-width-011.xht
- Pass => Fail css/CSS2/floats-clear/floats-141.xht
- Pass => Fail css/CSS2/floats/floats-wrap-bfc-002-left-overflow.xht
- Pass => Fail css/CSS2/floats/floats-wrap-bfc-002-left-table.xht
- Pass => Fail css/CSS2/floats/floats-wrap-bfc-002-right-overflow.xht
- Pass => Fail css/CSS2/floats/floats-wrap-bfc-002-right-table.xht
- Pass => Fail css/CSS2/fonts/font-family-applies-to-005.xht
- Pass => Fail css/CSS2/linebox/baseline-block-with-overflow-001.html
- Pass => Fail css/CSS2/linebox/inline-formatting-context-011.xht
- Pass => Fail css/CSS2/linebox/inline-formatting-context-013.xht
- Pass => Fail css/CSS2/normal-flow/inline-block-replaced-width-001.xht
- Pass => Fail css/CSS2/normal-flow/inline-block-replaced-width-003.xht
- Pass => Fail css/CSS2/normal-flow/inline-block-replaced-width-006.xht
- Pass => Fail css/CSS2/normal-flow/inline-replaced-width-001.xht
- Pass => Fail css/CSS2/normal-flow/inline-replaced-width-003.xht
- Pass => Fail css/CSS2/normal-flow/inline-replaced-width-006.xht
+ Fail => Pass css/CSS2/normal-flow/max-height-036.xht
+ Fail => Pass css/CSS2/normal-flow/max-height-047.xht
- Pass => Fail css/CSS2/normal-flow/max-width-percentage-001.xht
+ Fail => Pass css/CSS2/normal-flow/min-height-036.xht
+ Fail => Pass css/CSS2/normal-flow/min-height-047.xht
- Pass => Fail css/CSS2/normal-flow/min-width-percentage-001.xht
- Pass => Fail css/CSS2/normal-flow/width-percentage-001.xht
- Pass => Fail css/CSS2/normal-flow/width-percentage-002.xht
- Pass => Fail css/CSS2/positioning/absolute-non-replaced-height-008.xht
- Pass => Fail css/CSS2/positioning/absolute-non-replaced-max-height-008.xht
+ Fail => Pass css/CSS2/visudet/content-height-001.html
+ Fail => Pass css/CSS2/visudet/content-height-002.html
+ Fail => Pass css/CSS2/visudet/content-height-003.html
- Pass => Fail css/css-align/baseline-of-scrollable-1a.html
- Pass => Fail css/css-align/baseline-of-scrollable-1b.html
- Pass => Fail css/css-align/baseline-of-scrollable-2.html
+ Fail => Pass css/css-align/baseline-rules/synthesized-baseline-flexbox-001.html
+ Fail => Pass css/css-align/baseline-rules/synthesized-baseline-grid-001.html
+ Fail => Pass css/css-align/baseline-rules/synthesized-baseline-inline-block-001.html
- Pass => Fail css/css-backgrounds/background-size-027.html
- Pass => Fail css/css-backgrounds/background-size-028.html
- Pass => Fail css/css-backgrounds/background-size-030.html
- Pass => Fail css/css-backgrounds/background-size-031.html
- Pass => Fail css/css-break/ruby-003.html
- Pass => Fail css/css-contain/contain-layout-baseline-001.html
- Pass => Fail css/css-contain/contain-layout-flexbox-001.html
- Pass => Fail css/css-contain/contain-layout-grid-001.html
+ Fail => Pass css/css-contain/contain-paint-022.html
+ Fail => Pass css/css-flexbox/flexbox-align-self-horiz-001-block.xhtml
+ Fail => Pass css/css-flexbox/flexbox-baseline-align-self-baseline-vert-001.html
+ Fail => Pass css/css-flexbox/flexbox-baseline-multi-item-vert-001a.html
+ Fail => Pass css/css-flexbox/flexbox-baseline-multi-item-vert-001b.html
- Pass => Fail css/css-flexbox/flexbox-baseline-multi-line-horiz-004.html
+ Fail => Pass css/css-flexbox/flexbox-basic-canvas-vert-001.xhtml
+ Fail => Pass css/css-flexbox/flexbox-basic-canvas-vert-001v.xhtml
+ Fail => Pass css/css-flexbox/flexbox-basic-iframe-vert-001.xhtml
+ Fail => Pass css/css-flexbox/flexbox-basic-img-vert-001.xhtml
+ Fail => Pass css/css-flexbox/flexbox-basic-textarea-vert-001.xhtml
+ Fail => Pass css/css-flexbox/flexbox-basic-video-vert-001.xhtml
- Pass => Fail css/css-flexbox/percentage-size-subitems-001.html
- Pass => Fail css/css-grid/alignment/grid-baseline-001.html
- Pass => Fail css/css-grid/alignment/grid-baseline-002.html
- Pass => Fail css/css-grid/alignment/grid-inline-baseline.html
+ Fail => Pass css/css-grid/alignment/self-baseline/grid-self-baseline-horiz-001.html
+ Fail => Pass css/css-grid/alignment/self-baseline/grid-self-baseline-horiz-003.html
+ Fail => Pass css/css-grid/alignment/self-baseline/grid-self-baseline-vertical-lr-001.html
+ Fail => Pass css/css-grid/alignment/self-baseline/grid-self-baseline-vertical-rl-001.html
- Pass => Fail css/css-grid/grid-items/grid-inline-items-002.html
- Pass => Fail css/css-grid/grid-items/percentage-size-replaced-subitems-001.html
- Pass => Fail css/css-grid/grid-items/percentage-size-subitems-001.html
- Pass => Fail css/css-grid/subgrid/scrollbar-gutter-001.html
- Pass => Fail css/css-grid/subgrid/scrollbar-gutter-002.html
- Pass => Fail css/css-images/object-view-box-fit-contain-canvas.html
- Pass => Fail css/css-images/object-view-box-fit-contain-img.html
- Pass => Fail css/css-images/object-view-box-fit-contain-svg.html
- Pass => Fail css/css-images/object-view-box-fit-none-img.html
- Pass => Fail css/css-images/object-view-box-fit-none-svg.html
+ Fail => Pass css/css-inline/baseline-source/baseline-source-last-textarea-001.tentative.html
- Pass => Fail css/css-ruby/br-clear-all-000.html
+ Fail => Pass css/css-text/line-breaking/line-breaking-atomic-009.html
+ Fail => Pass css/css-values/ch-unit-001.html
+ Fail => Pass css/css-writing-modes/baseline-with-orthogonal-flow-001.html
+ Fail => Pass css/css-writing-modes/text-combine-upright-shadow.html
+ Fail => Pass css/filter-effects/effect-reference-after-001.html

Generated by the WPT workflow.

@nicoburns nicoburns self-assigned this Aug 11, 2026
@staging-devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@staging-devin-ai-integration
staging-devin-ai-integration Bot force-pushed the devin/1786131935-parley-git-dep branch from 262905f to 7d1d6b1 Compare August 18, 2026 21:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant