Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ae01d1c92a1c021eded660f0ca33c8df6a357435
      
https://github.com/WebKit/WebKit/commit/ae01d1c92a1c021eded660f0ca33c8df6a357435
  Author: Alan Baradlay <[email protected]>
  Date:   2026-06-09 (Tue, 09 Jun 2026)

  Changed paths:
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-001-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-001.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-002-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-002.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-001-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-001.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-002-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-002.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-003-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-003.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/reference/line-break-quotation-double-001-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/reference/line-break-quotation-double-002-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/reference/line-break-quotation-double-cjk-001-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/reference/line-break-quotation-double-cjk-002-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/reference/line-break-quotation-double-cjk-003-ref.html
    M Source/WebCore/rendering/BreakablePositions.h

  Log Message:
  -----------
  Line break should not appear after U+201D Right Double Quotation Mark
https://bugs.webkit.org/show_bug.cgi?id=315560
<rdar://problem/177952069>

Reviewed by Elika Etemad.

  <div style="font-family: Monospace; max-inline-size: 2em">1 &rdquo;2</div>

The text should wrap as "1" on the first line and "&rdquo;2" on the second.
Instead it wrapped as "1 &rdquo;" on the first line and "2" alone on the
second.

BreakablePositions::classify mapped the single curly quotes (U+2018 and
U+2019) to the kQU line break class but missed the double curly quotes.
U+201C and U+201D fell through to kWeird and were deferred to ICU.
Current ICU returned a break opportunity right after U+201D
(predates LB19a which prohibits breaks adjacent to QU when neighbors are not 
East Asian;
LB19a was added in ICU 76)

The fix adds Pi/Pf sub-flags to the QU class and implements LB19/LB19a
directly in the fast path. Curly quotes and the angle quotation marks now
classify as kQU|kPi (initial) or kQU|kPf (final). When neither neighbor is
East Asian, LB19a forbids the break either side. When one neighbor is East
Asian, LB19's [QU - Pi] / [QU - Pf] split decides: break before is allowed
only for an initial-class QU, break after is allowed only for a
final-class QU. No ICU lookup is needed for QU pairs.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-001-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-001.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-002-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-002.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-001-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-001.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-002-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-002.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-003-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-quotation-double-cjk-003.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/reference/line-break-quotation-double-001-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/reference/line-break-quotation-double-002-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/reference/line-break-quotation-double-cjk-001-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/reference/line-break-quotation-double-cjk-002-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/reference/line-break-quotation-double-cjk-003-ref.html:
 Added.

* Source/WebCore/rendering/BreakablePositions.h:
(WebCore::BreakablePositions::nextBreakablePosition):
(WebCore::BreakablePositions::classify):

Canonical link: https://commits.webkit.org/314829@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to