<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>197430</bug_id>
          
          <creation_ts>2019-04-30 13:05:50 -0700</creation_ts>
          <short_desc>[css-text] break-all shouldn&apos;t allow breaking opportunities before a slash character</short_desc>
          <delta_ts>2025-04-17 00:07:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=83934</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Javier Fernandez">jfernandez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>fantasai.bugs</cc>
    
    <cc>jfernandez</cc>
    
    <cc>mmaxfield</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1531647</commentid>
    <comment_count>0</comment_count>
      <attachid>368592</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2019-04-30 13:05:50 -0700</bug_when>
    <thetext>Created attachment 368592
Test case to reproduce the issue

What steps will reproduce the problem?
(1) Load the attached test case

What is the expected result?

The line is broken before the last letter before the slash &quot;X|X/X&quot; (see expected.png)

What happens instead?

The line is broken before the slash character &quot;XX|/X&quot; (see actual.png)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1531653</commentid>
    <comment_count>1</comment_count>
      <attachid>368595</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2019-04-30 13:08:48 -0700</bug_when>
    <thetext>Created attachment 368595
Test case to reproduce the issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1531662</commentid>
    <comment_count>2</comment_count>
      <attachid>368597</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2019-04-30 13:11:56 -0700</bug_when>
    <thetext>Created attachment 368597
Actual result</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1531663</commentid>
    <comment_count>3</comment_count>
      <attachid>368598</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2019-04-30 13:12:33 -0700</bug_when>
    <thetext>Created attachment 368598
Expected result</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1531666</commentid>
    <comment_count>4</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2019-04-30 13:15:20 -0700</bug_when>
    <thetext>According to the unicode rules UAX#14 breaking opportunities around slash characters are only possible after, not before, the character. 

https://www.unicode.org/reports/tr14/#SY

&quot;The SY line breaking property is intended to provide a break opportunity after, except in front of digits, so as to not break “1/2” or “06/07/99”.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533711</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-05-06 17:55:07 -0700</bug_when>
    <thetext>Looks like our behavior matches Chrome&apos;s but not Firefox&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533712</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-05-06 17:57:03 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #5)
&gt; Looks like our behavior matches Chrome&apos;s but not Firefox&apos;s.

Whoops, I was mixed up. Our behavior matches Firefox&apos;s but not Chrome&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533714</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-05-06 17:59:23 -0700</bug_when>
    <thetext>There&apos;s a big comment about this in the table in BreakLines.cpp that refers to https://bugs.webkit.org/show_bug.cgi?id=37698</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533867</commentid>
    <comment_count>8</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2019-05-07 03:32:34 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #7)
&gt; There&apos;s a big comment about this in the table in BreakLines.cpp that refers
&gt; to https://bugs.webkit.org/show_bug.cgi?id=37698

I still think Chrome&apos;s behavior is correct and this bug report is valid, but   admit I&apos;ve got doubts, so I&apos;d appreciate any feedback you can provide so that I can understand the issue better.

I could try to file a bug in Firefox, if there isn&apos;t any already, so that we can gather feedback. It&apos;d be good to improve interoperability in these kind of cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1534460</commentid>
    <comment_count>9</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-05-08 13:31:26 -0700</bug_when>
    <thetext>Looks like Chrome has the same table that we do, except for a difference in one line:

https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/rendering/BreakLines.cpp#L53

https://github.com/chromium/chromium/blob/master/third_party/blink/renderer/platform/text/text_break_iterator.cc#L124

The line that&apos;s different is:

{ B(1, 1, 1, 1, 1, 1, 1, 1), B(1, 1, 1, 0, 1, 0, 1, 0), 0, B(0, 1, 1, 1, 1, 1, 1, 1), F, F, F, B(1, 1, 1, 1, 1, 1, 1, 1), F, F, F, B(1, 1, 1, 1, 1, 1, 1, 1) }, // - Note: breaking before &apos;0&apos;-&apos;9&apos; is handled hard-coded in shouldBreakAfter().

vs

{ B(0, 1, 1, 0, 1, 1, 1, 1), B(0, 1, 1, 0, 1, 0, 0, 0), 0, B(0, 0, 0, 1, 1, 1, 0, 1), F, F, F, B(1, 1, 1, 1, 0, 1, 1, 1), F, F, F, B(1, 1, 1, 1, 0, 1, 1, 1) }, // - Note: breaking before &apos;0&apos;-&apos;9&apos; is handled hard-coded in shouldBreakAfter().

It looks like the Chrome line was modified in:

https://codereview.chromium.org/2490153002
https://codereview.chromium.org/1370203005

and the WebKit line was modified in:

https://bugs.webkit.org/show_bug.cgi?id=185899</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>368592</attachid>
            <date>2019-04-30 13:05:50 -0700</date>
            <delta_ts>2019-04-30 13:08:48 -0700</delta_ts>
            <desc>Test case to reproduce the issue</desc>
            <filename>test-case.html</filename>
            <type>text/html</type>
            <size>158</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxzdHlsZT4KZGl2IHsKICBmb250OiAyMHB4LzEgTW9ub3NwYWNlOwog
IHdpZHRoOiAyY2g7CgogIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKCiAgYm9yZGVyOiAxcHggc29s
aWQ7Cn0KPC9zdHlsZT4KPGRpdiBjbGFzcz0idGVzdCI+WFgvWDwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>368595</attachid>
            <date>2019-04-30 13:08:48 -0700</date>
            <delta_ts>2019-04-30 13:08:48 -0700</delta_ts>
            <desc>Test case to reproduce the issue</desc>
            <filename>test-case.html</filename>
            <type>text/html</type>
            <size>159</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxzdHlsZT4KZGl2IHsKICBmb250OiAyMHB4LzEgTW9ub3NwYWNlOwog
IHdpZHRoOiAzY2g7CgogIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKCiAgYm9yZGVyOiAxcHggc29s
aWQ7Cn0KPC9zdHlsZT4KPGRpdiBjbGFzcz0idGVzdCI+WFhYL1g8L2Rpdj4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>368597</attachid>
            <date>2019-04-30 13:11:56 -0700</date>
            <delta_ts>2019-04-30 13:11:56 -0700</delta_ts>
            <desc>Actual result</desc>
            <filename>actual.png</filename>
            <type>image/png</type>
            <size>1072</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAADUAAAA3CAYAAACsLgJ7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4wQeFAsba/xeawAAAB1pVFh0Q29tbWVudAAAAAAAQ3Jl
YXRlZCB3aXRoIEdJTVBkLmUHAAADlElEQVRo3u2a7U9TVxzHPy2lFaIxim4TxAdM1BoWdck0zmji
QzRrqZWUQhVBp/MhQaL4Z+yFNgo+Ec1cxNmCWkSLwagQE1HxIcGHBrQb0micjA1xY7SlrW98MWOg
COf2FnJ/L+/53pvzOTnn3Hs+uarut10RRlmpGYWlQI2U0vTXYDBmxWWH3ZcvDR1qsA+IZQ12oJU1
NTqg+n7ndJEZg/EHDjf7P20PeDi23YTBtJMTnoD0eSFQmpnk7bGQru7AffhXnvf9vzGE11lGzSsV
U9fvpUCvlT4vavolzraxZ10aEZ+LUpeP8Ifr4ZfVHKpqgzQTJZv0aGOUF7SmtMwrLMbwZYjWM0e4
0gHQgbu0gtZQKtklm9HrYpkXtVHoMtm6ew2T/M2cOl5P2/Wj/NwcZKq5n2khdV7U7pf0zTaKVk3k
3a1S9pXdoTfVREnBvH6nhdR5QVt6Mos356BX9dLbq2VpYUGUaSF1XghUEI+rlpYIQIC7l6/yRta8
AKhASwV2l4+EWRvYZ0kn8OgXyuo6ZcsPHyr4jNP28/iYhnVvHqvzd7Jm0n80nTxCQ5cM+eFDBWk9
Y+d8O6RnF5OXoQHdArZs+46x725zvLyRf2KaFwAV9Dqxn3tB5Csjxfl6Ej9cH798OwVf6/i7/ign
HvTELC/g2+83zu6vpC2Uwve7C8n8aDeajHGXlYyETupKT/HYH4O8CCivw46zrY+Jq4rYujDp05tn
WNiVNYXIH7UcqnhCi6R5z6ChVP3ZJIMxKy4PiYPpk3JIVKAUKAVKSqgQnvIfMRg3cqDJPzSnEXdQ
3Q2crX2NOsNM7re6oTmN+IKK4HVV0eRPZpnNRNownEb8QPU04qhph/QsrEuSh+k04gTKd8nBrR4d
i3LMZKgFOA3Zofz3cLq8hL9Yi23FeGFOQ1aoN7VO6t8mMt9qYW5CbJyDtFDBx1ReeEpowkpsq1ME
Ow2ZoP665qDuTzVzsnOYrxXrNOSBCrdyrvIhwXHLsRmniHUackF1Nzhwv1Yx02xl0RiRTkMuqMgL
qp138SctJtc0HZVApyEbVE+jk4vtEVKNuSwbK9BpyAf1ihrHTf7VLiR3/ewBbgh9ptPwEJQIShP1
XXu/iurnYSab8lg5YaBkArPyD1KTP1Amkcwd5bh3yLqmOrniuEGXRk+OJTP6CMRJRelnCuafLmAe
YYdETTQlNRJLpfxFpkApUAqUAqVAKVCxrfdvDOlzm+XbIwAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>368598</attachid>
            <date>2019-04-30 13:12:33 -0700</date>
            <delta_ts>2019-04-30 13:12:33 -0700</delta_ts>
            <desc>Expected result</desc>
            <filename>expected.png</filename>
            <type>image/png</type>
            <size>1083</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAADAAAAA2CAYAAACBWxqaAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4wQeFAo3QD8DyQAAAB1pVFh0Q29tbWVudAAAAAAAQ3Jl
YXRlZCB3aXRoIEdJTVBkLmUHAAADn0lEQVRo3u2a6U9TWRjGfy2lFaIxI64gzoiJTg3GJVGjE01c
orGlVlIKdRxwjyRIFP8APxs/jI2CazBqxLFFpYiCwagYEx1llgSXBrSKNBoVUdyQtpTOB5cwgq2F
cwvE+3zr7XPfe57b95xzf20Vr181B+jHUtLPJQeQA3zvAVQdX+j0KX1ykOVnz3xbgFDm3lComyrP
gb4XoO0BR3OM6PSr2V3j6XyG18m+9QZ0hg0UOr3h+yUPoBpLxiYTicpGynf/wb22jm/6cdkLKHus
YPSyzWRq1eH7I9FC0eMtbFqaQMDtIN/hpv3j8fZHpew6UQ8JBvJ+06Lupj8Cc0DNxKxcdCP81B3b
w7lGgEbK84uo88eTmrcSraYn/khMYk0yazYuYqinhsP7q6i/uJdDNT5GG7/SCuH6I7EKxUxbS86C
Iby5ms+Wguu0xhvIy5z41VYI1x+BZTSWmSvT0CpaaW1V80tWZohWCNcveQAfTkcFtQEALzfOnueZ
UL/EAby1RVgdbqLGLWeLKRHvzSMUVDYJ80sbwHeXo9ZTuBmDeXMGC1dsYNHQ91Qf3MPlZgF+aQP4
qDtm5VQDJKbmkpGkAs0UVq2dzcA3f7L/wDXe9sgvcQCfy4715EMCI/XkrtAS/fH44LnryZyk4WXV
Xgr/aem2X+Jnofsc/72Yen8cSzZmkfy/VWQY+mwzSVFNVOYf5panG36pA7hsVuz1bQxZkMOaqTGd
T/jJRHbKKAJPK9hVdJvasPxOfIIDKDp+L6TTp/RJoAk2Jhlo5ABygO+eiYPKj/PAOnT6X9lR7ZGg
vggmDqbXlzle8QRlkpH06Rrx9UUxcdcK4HKcoNoTyxyLgQTh9YUycRdquYatrAESUzDPihVfXzgT
fyH3GRtXWzTMSDOSpBRfXxIm/izPX9gdLtqHL8Yyb7D4+tIx8Qc9q7BT9SqayWYTP0dJy9CCmRjw
3aK45A7+H+ZjWRiH8PpSMjHAiws2Kp8rmZCaxuQQvSCCocUxMUB7HSeL/8U3aC4W/agQN18MQwti
4k/7lo3yJwrGGs3MGBC8dUQxtBAm/rBvPaTUfgNPzEzSDT+iCDZ8gQzdcyb+vG/ZOd0QIF6fzpyB
Qa4omKF7yMSfGPcxZbYrvFNPJX3Z+CATyx92/YgwsefvnazeWkm0YRuF2cmdfzns20zcxDnbJZpV
WtJMYgf/LRJwvTiM20sw9hLQqLr6yPqTFPL/heQAcgA5QK/qP33p78m4/RR7AAAAAElFTkSuQmCC
</data>

          </attachment>
      

    </bug>

</bugzilla>