Skip to content

Repin parley to the whitespace-collapsing branch (parley#25) - #857

Open
nicoburns wants to merge 1 commit into
devin/1786131935-parley-git-depfrom
devin/1789072599-parley-whitespace-repin
Open

Repin parley to the whitespace-collapsing branch (parley#25)#857
nicoburns wants to merge 1 commit into
devin/1786131935-parley-git-depfrom
devin/1789072599-parley-whitespace-repin

Conversation

@nicoburns

@nicoburns nicoburns commented Sep 10, 2026

Copy link
Copy Markdown
Member

Summary

Repins the parley git dependency onto DioxusLabs/parley#25 (ba6037d, rebased on parley main 2b14269), which implements CSS Text phase-I whitespace collapsing across style-span and inline-box boundaries instead of trimming per span.

No Blitz source changes are needed — the branch is API-compatible with parley main, so this is only Cargo.toml/Cargo.lock.

Expected effects on the text WPT suites (numbers left to CI): improvements concentrated in css/CSS2/text/white-space-* and css-text/white-space/*, plus css-writing-modes/abs-pos-non-replaced-*set_white_space_mode now flushes buffered text, so an out-of-flow inline box gets its true source offset rather than one lagging behind uncommitted text. Known remaining failures on this branch are white-space-processing-024/027, where pre-line is mapped to WhiteSpaceCollapse::Preserve in packages/blitz-dom/src/stylo_to_parley.rs because parley has no PreserveBreaks mode yet.

Link to Devin session: https://dioxus.staging.devinenterprise.com/sessions/a9f0131145654530a87ad078d0d3c42b
Open in Devin Desktop: https://dioxus.staging.devinenterprise.com/desktop/session/a9f0131145654530a87ad078d0d3c42b?variant=devin-insiders
Requested by: @nicoburns

WPT results

Subtests: 500 newly passing, 106 newly failing (net +394).

Full diff (421 changed tests)
+ FAIL => PASS      [1/1]    +1  css/CSS2/abspos/between-float-and-text.html
+ FAIL => PASS      [1/1]    +1  css/CSS2/bidi-text/bidi-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c414-flt-fit-004.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c534-bgre-000.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c534-bgre-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c534-bgreps-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c534-bgreps-002.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c534-bgreps-003.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c534-bgreps-004.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c534-bgreps-005.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c536-bgpos-000.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c536-bgpos-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c541-word-sp-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c547-indent-000.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c5511-brdr-tw-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c5513-brdr-bw-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c5515-brdr-w-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c5525-fltwidth-003.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c562-white-sp-000.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/css1/c61-rel-len-000.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/floats-clear/float-003.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/floats-clear/float-replaced-width-006.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/floats-clear/float-replaced-width-008.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/floats-clear/float-replaced-width-009.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/floats-clear/float-replaced-width-011.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/floats-clear/floats-141.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/floats-clear/floats-149.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/floats/float-nowrap-3.html
- PASS => FAIL      [0/1]    -1  css/CSS2/floats/floats-wrap-bfc-002-left-overflow.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/floats/floats-wrap-bfc-002-left-table.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/floats/floats-wrap-bfc-002-right-overflow.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/floats/floats-wrap-bfc-002-right-table.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/fonts/font-family-applies-to-005.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/fonts/font-family-rule-005.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/fonts/font-size-124.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/generated-content/after-content-display-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/generated-content/after-content-display-018.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/generated-content/before-content-display-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/generated-content/before-content-display-018.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/linebox/inline-formatting-context-011.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/linebox/inline-formatting-context-013.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/linebox/line-height-applies-to-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/linebox/line-height-applies-to-002.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/linebox/line-height-applies-to-003.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/linebox/line-height-applies-to-004.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/linebox/line-height-applies-to-007.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/linebox/line-height-applies-to-008.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/linebox/line-height-applies-to-009.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/linebox/line-height-applies-to-012.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/linebox/line-height-applies-to-013.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/linebox/line-height-applies-to-014.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/linebox/line-height-oof-descendants-001.html
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/inline-block-replaced-width-001.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/inline-block-replaced-width-003.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/inline-block-replaced-width-006.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/inline-block-zorder-002.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/inline-replaced-width-001.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/inline-replaced-width-003.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/inline-replaced-width-006.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/inline-table-zorder-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/normal-flow/max-height-036.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/normal-flow/max-height-047.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/max-width-percentage-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/normal-flow/min-height-036.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/normal-flow/min-height-047.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/min-width-percentage-001.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/width-percentage-001.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/normal-flow/width-percentage-002.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/positioning/absolute-non-replaced-height-008.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/positioning/absolute-non-replaced-max-height-002.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/positioning/absolute-non-replaced-max-height-008.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/positioning/absolute-non-replaced-max-height-009.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/positioning/abspos-011.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/positioning/abspos-012.xht
+ FAIL => PASS      [6/6]    +5  css/CSS2/positioning/inline-static-position-001.html
+ FAIL => PASS      [1/1]    +1  css/CSS2/positioning/position-relative-029.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/positioning/position-relative-030.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/positioning/position-relative-031.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/syntax/escapes-000.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/tables/table-anonymous-objects-171.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/letter-spacing-justify-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/text-indent-011.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-007.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-applies-to-001.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-applies-to-005.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-applies-to-007.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-mixed-002.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-normal-005.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-normal-007.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-normal-008.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-nowrap-005.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-016.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-017.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-018.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-023.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/text/white-space-processing-024.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-025.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-026.xht
- PASS => FAIL      [0/1]    -1  css/CSS2/text/white-space-processing-027.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-031.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-032.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-033.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-034.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-035.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-036.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-050.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/text/white-space-processing-051.xht
+ FAIL => PASS      [1/1]    +1  css/CSS2/visudet/content-height-001.html
+ FAIL => PASS      [1/1]    +1  css/CSS2/visudet/content-height-002.html
+ FAIL => PASS      [1/1]    +1  css/CSS2/visudet/content-height-003.html
- PASS => FAIL      [0/1]    -1  css/CSS2/visudet/line-height-204.html
- PASS => FAIL      [0/1]    -1  css/css-align/baseline-of-scrollable-1a.html
- PASS => FAIL      [0/1]    -1  css/css-align/baseline-of-scrollable-1b.html
- PASS => FAIL      [0/1]    -1  css/css-align/baseline-of-scrollable-2.html
- FAIL => FAIL      [0/2]    -1  css/css-align/baseline-of-single-axis-scroll-container.html
+ FAIL => PASS      [7/7]    +5  css/css-align/baseline-rules/synthesized-baseline-flexbox-001.html
+ FAIL => PASS      [7/7]    +5  css/css-align/baseline-rules/synthesized-baseline-grid-001.html
+ FAIL => PASS      [3/3]    +3  css/css-align/baseline-rules/synthesized-baseline-inline-block-001.html
- PASS => FAIL      [0/1]    -1  css/css-backgrounds/background-size-025.html
- PASS => FAIL      [0/1]    -1  css/css-backgrounds/background-size-027.html
- PASS => FAIL      [0/1]    -1  css/css-backgrounds/background-size-028.html
- PASS => FAIL      [0/1]    -1  css/css-backgrounds/background-size-030.html
- PASS => FAIL      [0/1]    -1  css/css-backgrounds/background-size-031.html
- PASS => FAIL      [0/1]    -1  css/css-break/ruby-003.html
- PASS => FAIL      [0/1]    -1  css/css-contain/contain-animation-001.html
- PASS => FAIL      [0/1]    -1  css/css-contain/contain-layout-baseline-001.html
- PASS => FAIL      [0/1]    -1  css/css-contain/contain-layout-baseline-005.html
+ FAIL => PASS      [1/1]    +1  css/css-contain/contain-layout-ink-overflow-013.html
+ FAIL => PASS      [1/1]    +1  css/css-contain/contain-layout-ink-overflow-015.html
+ FAIL => PASS      [1/1]    +1  css/css-contain/contain-paint-022.html
- PASS => FAIL      [0/1]    -1  css/css-contain/contain-size-064.html
+ FAIL => FAIL     [3/12]    +1  css/css-flexbox/alignment/flex-align-baseline-overflow-002.html
+ FAIL => FAIL     [3/12]    +1  css/css-flexbox/alignment/flex-align-baseline-overflow-003.html
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexbox-align-self-horiz-001-block.xhtml
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexbox-baseline-align-self-baseline-vert-001.html
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexbox-baseline-multi-item-vert-001a.html
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexbox-baseline-multi-item-vert-001b.html
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexbox-baseline-wrap-reverse-unequal-lines.html
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexbox-basic-canvas-vert-001.xhtml
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexbox-basic-canvas-vert-001v.xhtml
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexbox-basic-iframe-vert-001.xhtml
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexbox-basic-img-vert-001.xhtml
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexbox-basic-textarea-vert-001.xhtml
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexbox-basic-video-vert-001.xhtml
+ FAIL => PASS      [1/1]    +1  css/css-flexbox/flexible-box-float.html
- FAIL => FAIL      [0/2]    -1  css/css-flexbox/percentage-size-quirks-002.html
+ FAIL => PASS      [1/1]    +1  css/css-fonts/font-size-zero-2.html
- PASS => FAIL      [0/1]    -1  css/css-fonts/font-variant-position-05.html
- PASS => FAIL      [0/1]    -1  css/css-fonts/small-caps-letter-spacing-002.html
+ FAIL => PASS      [1/1]    +1  css/css-fonts/variations/font-weight-metrics.html
+ FAIL => PASS  [100/100]  +100  css/css-grid/abspos/positioned-grid-descendants-001.html
- PASS => FAIL      [0/1]    -1  css/css-grid/alignment/grid-baseline-001.html
- PASS => FAIL      [0/1]    -1  css/css-grid/alignment/grid-baseline-002.html
+ FAIL => FAIL    [16/18]   +16  css/css-grid/alignment/grid-baseline-004.html
+ FAIL => FAIL     [3/11]    +3  css/css-grid/alignment/grid-container-baseline-001.html
- PASS => FAIL      [0/1]    -1  css/css-grid/alignment/grid-inline-baseline.html
+ FAIL => PASS      [1/1]    +1  css/css-grid/alignment/self-baseline/grid-self-baseline-horiz-001.html
+ FAIL => PASS      [1/1]    +1  css/css-grid/alignment/self-baseline/grid-self-baseline-horiz-003.html
+ FAIL => PASS      [1/1]    +1  css/css-grid/alignment/self-baseline/grid-self-baseline-vertical-lr-001.html
+ FAIL => PASS      [1/1]    +1  css/css-grid/alignment/self-baseline/grid-self-baseline-vertical-rl-001.html
- PASS => FAIL      [0/1]    -1  css/css-grid/grid-items/grid-inline-items-002.html
+ FAIL => PASS      [1/1]    +1  css/css-grid/grid-items/grid-layout-z-order-a.html
+ FAIL => PASS      [1/1]    +1  css/css-grid/grid-items/grid-layout-z-order-b.html
- PASS => FAIL      [0/1]    -1  css/css-highlight-api/painting/custom-highlight-painting-inheritance-001.html
- PASS => FAIL      [0/1]    -1  css/css-highlight-api/painting/custom-highlight-painting-inheritance-002.html
+ FAIL => PASS      [1/1]    +1  css/css-highlight-api/painting/custom-highlight-painting-invalidation-002.html
+ FAIL => PASS      [1/1]    +1  css/css-highlight-api/painting/custom-highlight-painting-staticrange-001.html
- PASS => FAIL      [0/1]    -1  css/css-images/object-view-box-fit-contain-canvas.html
- PASS => FAIL      [0/1]    -1  css/css-images/object-view-box-fit-contain-img.html
- PASS => FAIL      [0/1]    -1  css/css-images/object-view-box-fit-contain-svg.html
- PASS => FAIL      [0/1]    -1  css/css-images/object-view-box-fit-none-canvas.html
- PASS => FAIL      [0/1]    -1  css/css-images/object-view-box-fit-none-img.html
- PASS => FAIL      [0/1]    -1  css/css-images/object-view-box-fit-none-svg.html
+ FAIL => FAIL    [16/22]   +16  css/css-inline/baseline-source/baseline-source-first-001.html
+ FAIL => FAIL     [9/12]    +9  css/css-inline/baseline-source/baseline-source-first-textarea-001.tentative.html
+ FAIL => FAIL    [10/22]   +10  css/css-inline/baseline-source/baseline-source-last-001.html
+ FAIL => PASS    [12/12]   +12  css/css-inline/baseline-source/baseline-source-last-textarea-001.tentative.html
- PASS => FAIL      [0/1]    -1  css/css-inline/empty-span-size-002.html
+ FAIL => PASS      [1/1]    +1  css/css-lists/list-style-type-string-001a.html
+ FAIL => PASS      [1/1]    +1  css/css-lists/list-style-type-string-001b.html
+ FAIL => PASS      [1/1]    +1  css/css-overflow/text-overflow-023.html
+ FAIL => PASS      [1/1]    +1  css/css-position/multicol/static-position/vlr-ltr-ltr-in-multicol.html
+ FAIL => PASS      [1/1]    +1  css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html
+ FAIL => PASS      [1/1]    +1  css/css-position/multicol/static-position/vrl-ltr-ltr-in-multicol.html
+ FAIL => PASS      [1/1]    +1  css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html
+ FAIL => PASS      [1/1]    +1  css/css-position/static-position/htb-ltr-ltr.html
+ FAIL => PASS      [1/1]    +1  css/css-position/static-position/htb-rtl-ltr.tentative.html
+ FAIL => PASS      [1/1]    +1  css/css-pseudo/first-line-with-before-after.html
- PASS => FAIL      [0/1]    -1  css/css-ruby/br-clear-all-000.html
- PASS => FAIL      [0/1]    -1  css/css-ruby/empty-ruby-base-container.html
- PASS => FAIL      [0/1]    -1  css/css-ruby/empty-ruby-text-container-abs.html
- PASS => FAIL      [0/1]    -1  css/css-ruby/empty-ruby-text-container-float.html
- PASS => FAIL      [0/1]    -1  css/css-ruby/ruby-base-container-abs.html
- PASS => FAIL      [0/1]    -1  css/css-ruby/ruby-base-container-float.html
+ FAIL => PASS      [1/1]    +1  css/css-ruby/ruby-intra-level-whitespace-001.html
- PASS => FAIL      [0/1]    -1  css/css-ruby/ruby-tab-in-base-001.html
- PASS => FAIL      [0/1]    -1  css/css-ruby/ruby-tab-in-base-003.html
- PASS => FAIL      [0/1]    -1  css/css-ruby/ruby-whitespace-002.html
- PASS => FAIL      [0/1]    -1  css/css-sizing/min-content-le-max-content.tentative.html
+ FAIL => PASS      [1/1]    +1  css/css-sizing/slice-nowrap-intrinsic-size.html
+ FAIL => FAIL     [4/15]    +2  css/css-tables/tentative/baseline-table.html
- PASS => FAIL      [0/1]    -1  css/css-text-decor/text-decoration-skip-spaces-001.html
- PASS => FAIL      [0/1]    -1  css/css-text/hanging-punctuation/hanging-punctuation-first-002.html
- PASS => FAIL      [0/1]    -1  css/css-text/line-break/line-break-anywhere-overrides-uax-behavior-004.html
- PASS => FAIL      [0/1]    -1  css/css-text/line-break/line-break-anywhere-overrides-uax-behavior-006.html
+ FAIL => PASS      [1/1]    +1  css/css-text/line-breaking/line-breaking-atomic-002.html
+ FAIL => PASS      [1/1]    +1  css/css-text/line-breaking/line-breaking-atomic-009.html
+ FAIL => PASS      [1/1]    +1  css/css-text/overflow-wrap/overflow-wrap-anywhere-009.html
+ FAIL => PASS      [1/1]    +1  css/css-text/overflow-wrap/overflow-wrap-break-word-009.html
+ FAIL => PASS      [1/1]    +1  css/css-text/overflow-wrap/overflow-wrap-min-content-size-002.html
+ FAIL => PASS      [1/1]    +1  css/css-text/shaping/shaping-002.html
+ FAIL => PASS      [1/1]    +1  css/css-text/shaping/shaping-003.html
+ FAIL => PASS      [1/1]    +1  css/css-text/shaping/shaping-008.html
+ FAIL => PASS      [1/1]    +1  css/css-text/shaping/shaping-017.html
+ FAIL => PASS      [1/1]    +1  css/css-text/shaping/shaping-018.html
+ FAIL => PASS      [1/1]    +1  css/css-text/shaping/shaping-021.html
+ FAIL => PASS      [1/1]    +1  css/css-text/shaping/shaping-024.html
+ FAIL => PASS      [1/1]    +1  css/css-text/text-align/text-align-end-009.html
+ FAIL => PASS      [1/1]    +1  css/css-text/text-align/text-align-match-parent-05.html
+ FAIL => PASS      [1/1]    +1  css/css-text/text-encoding/shaping-tatweel-003.html
+ FAIL => PASS      [1/1]    +1  css/css-text/text-justify/text-justify-and-trailing-spaces-001.html
+ FAIL => PASS      [1/1]    +1  css/css-text/text-justify/text-justify-and-trailing-spaces-002.html
+ FAIL => PASS      [1/1]    +1  css/css-text/text-justify/text-justify-and-trailing-spaces-003.html
+ FAIL => PASS      [1/1]    +1  css/css-text/text-justify/text-justify-and-trailing-spaces-004.html
+ FAIL => PASS      [1/1]    +1  css/css-text/text-transform/text-transform-fullwidth-006.html
+ FAIL => PASS      [1/1]    +1  css/css-text/text-transform/text-transform-fullwidth-008.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-before-first-ideographic-char-001.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-before-first-ideographic-char-002.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-before-first-ideographic-char-003.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-before-first-ideographic-char-004.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-before-first-ideographic-char-005.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-before-first-ideographic-char-006.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-before-first-ideographic-char-012.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-before-first-ideographic-char-013.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-before-first-ideographic-char-014.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-before-first-ideographic-char-015.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-before-first-ideographic-char-018.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/break-spaces-with-ideographic-space-001.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-with-ideographic-space-002.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-with-ideographic-space-003.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/break-spaces-with-ideographic-space-008.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/break-spaces-with-ideographic-space-010.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/control-chars-00B.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/control-chars-085.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/eol-spaces-bidi-004.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/full-width-leading-spaces-002.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/full-width-leading-spaces-003.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/full-width-leading-spaces-005.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/pre-wrap-014.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/trailing-ideographic-space-006.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/trailing-ideographic-space-007.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/trailing-ideographic-space-009.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/trailing-ideographic-space-012.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/trailing-ideographic-space-018.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/trailing-ideographic-space-021.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/trailing-ideographic-space-024.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/trailing-other-space-separators-break-spaces-015.html
+ FAIL => PASS      [8/8]    +2  css/css-text/white-space/trailing-space-before-br-001.html
- PASS => FAIL      [0/1]    -1  css/css-text/white-space/white-space-intrinsic-size-001.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/white-space-intrinsic-size-015.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/white-space-intrinsic-size-016.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/white-space-intrinsic-size-018.html
+ FAIL => FAIL  [135/192]    +5  css/css-text/white-space/white-space-intrinsic-size-021.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/white-space-intrinsic-size-024.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/white-space-intrinsic-size-025.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/white-space-nowrap-011.html
+ FAIL => PASS      [1/1]    +1  css/css-text/white-space/white-space-pre-wrap-justify-003.html
- PASS => FAIL      [0/1]    -1  css/css-text/word-break/word-break-break-all-003.html
+ FAIL => PASS      [1/1]    +1  css/css-text/word-break/word-break-break-all-008.html
+ FAIL => PASS      [1/1]    +1  css/css-text/word-break/word-break-break-all-018.html
+ FAIL => PASS      [1/1]    +1  css/css-text/word-break/word-break-break-all-021.html
+ FAIL => PASS      [1/1]    +1  css/css-text/word-break/word-break-break-all-029.html
- PASS => FAIL      [0/1]    -1  css/css-text/word-break/word-break-keep-all-003.html
- PASS => FAIL      [0/1]    -1  css/css-text/word-break/word-break-normal-tdd-000.html
- PASS => FAIL      [0/1]    -1  css/css-text/word-break/word-break-normal-th-000.html
- FAIL => FAIL     [2/12]    -3  css/css-transforms/3d-point-mapping-2-transforminterop.html
+ FAIL => PASS      [1/1]    +1  css/css-values/ch-unit-001.html
- FAIL => FAIL      [2/8]    -2  css/css-values/lh-rlh-on-root-001.html
+ FAIL => PASS      [1/1]    +1  css/css-values/lh-unit-001.html
+ FAIL => PASS      [1/1]    +1  css/css-values/lh-unit-002.html
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-005.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-009.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-011.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-017.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-021.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-023.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-029.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-033.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-035.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-041.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-045.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-047.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-053.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-057.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-059.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-065.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-069.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-071.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-077.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-081.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-083.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-089.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-095.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-105.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-111.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-113.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-117.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-121.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-127.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-129.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-133.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-137.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-143.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-145.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-149.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-153.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-159.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-161.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-165.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-169.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-175.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-177.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-181.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-185.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-191.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-193.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-197.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-201.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-207.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-209.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-213.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-217.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vlr-225.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-004.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-010.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-014.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-016.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-022.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-028.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-034.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-038.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-040.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-046.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-050.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-052.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-058.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-062.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-064.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-070.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-074.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-076.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-082.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-086.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-088.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-094.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-104.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-112.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-120.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-126.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-128.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-132.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-136.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-144.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-152.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-158.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-160.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-164.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-168.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-174.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-176.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-180.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-184.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-190.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-192.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-196.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-200.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-206.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-208.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-212.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-216.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-222.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-224.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/abs-pos-non-replaced-vrl-228.xht
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/baseline-with-orthogonal-flow-001.html
+ FAIL => PASS    [11/11]    +2  css/css-writing-modes/bidi-line-break-001.html
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/float-vlr-011.xht
- PASS => FAIL      [0/1]    -1  css/css-writing-modes/tcy-white-space-processing-001.html
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/text-combine-upright-decorations-001.html
+ FAIL => PASS      [1/1]    +1  css/css-writing-modes/text-combine-upright-shadow.html
+ FAIL => FAIL     [5/11]    +2  css/cssom-view/elementFromPoint.html
+ FAIL => FAIL      [5/9]    +2  css/cssom-view/elementsFromPoint.html
+ FAIL => PASS      [1/1]    +1  css/cssom-view/getClientRects-inline-inline-child.html
+ FAIL => PASS      [1/1]    +1  css/filter-effects/effect-reference-after-001.html
+ FAIL => PASS      [1/1]    +1  css/selectors/i18n/css3-selectors-lang-021.html
+ FAIL => PASS      [1/1]    +1  css/selectors/i18n/css3-selectors-lang-022.html
+ FAIL => PASS      [1/1]    +1  css/selectors/i18n/css3-selectors-lang-024.html
+ FAIL => PASS      [1/1]    +1  css/selectors/i18n/css3-selectors-lang-025.html
+ FAIL => PASS      [1/1]    +1  css/selectors/i18n/css3-selectors-lang-026.html
+ FAIL => PASS      [1/1]    +1  css/selectors/i18n/css3-selectors-lang-027.html
+ FAIL => PASS      [1/1]    +1  css/selectors/i18n/css3-selectors-lang-028.html
# ... and 21 more (see the workflow logs)

Generated by the WPT workflow.

@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 d02be35 to e349ed3 Compare September 10, 2026 20:57
@staging-devin-ai-integration
staging-devin-ai-integration Bot force-pushed the devin/1789072599-parley-whitespace-repin branch from b93c634 to 51a7c6e Compare September 10, 2026 20:57
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