Skip to content

Upgrade parley to latest main (git dependency pinned to commit) - #627

Open
nicoburns wants to merge 2 commits into
mainfrom
devin/1786131935-parley-git-dep
Open

Upgrade parley to latest main (git dependency pinned to commit)#627
nicoburns wants to merge 2 commits into
mainfrom
devin/1786131935-parley-git-dep

Conversation

@nicoburns

@nicoburns nicoburns commented Aug 7, 2026

Copy link
Copy Markdown
Member

Summary

Switch the parley dependency from crates.io 0.10 to a git dependency on DioxusLabs/parley main, pinned to commit 9c41a4d0b9aa1aae7b8fdad8cf31728c9c3476bb (parley 0.11.0, fontique 0.11.0, new parley_engine/parlance crates).

API adaptations for parley 0.11:

  • InlineBox gained a baseline: Option<f32> field → initialize with baseline: None (baseline = bottom edge, matching previous behavior) in construct.rs
  • LineState::append_inline_box_to_line(next_x, box_height)(next_x, ascent, descent, quantize); the blitz call site is for floated (out-of-flow) boxes which contribute no line height, so (advance, 0.0, 0.0, false) (matches parley's own internal handling of out-of-flow boxes)
  • Glyph::style_index() was removed → use Cluster::style_index() (now u16) in hit-testing
  • Run::metrics()Run::font_metrics(); Run::font() now returns &FontInstance (use .font for the FontData); Run::normalized_coords() now returns &[NormalizedCoord] → convert with .to_bits() for draw_glyphs

cargo check/clippy/fmt clean; cargo test --workspace passes.

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

WPT results

30 newly passing, 54 newly failing (net -24).

Full diff (84 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/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-013.xht
- Pass => Fail css/CSS2/linebox/line-height-bleed-001.xht
- Pass => Fail css/CSS2/linebox/line-height-bleed-002.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-replaced-width-001.xht
- Pass => Fail css/CSS2/normal-flow/inline-replaced-width-003.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/CSS2/visudet/line-height-201.html
- Pass => Fail css/css-align/baseline-of-scrollable-1a.html
- Pass => Fail css/css-align/baseline-of-scrollable-2.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/flexbox_inline.html
- Pass => Fail css/css-flexbox/percentage-size-subitems-001.html
- Pass => Fail css/css-fonts/first-available-font-003.html
- Pass => Fail css/css-fonts/first-available-font-004.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-overflow/scrollable-overflow-padding-inline.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 7, 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 0b48bf5 to ecb1d95 Compare August 8, 2026 00:52
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