<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    I agree that the discussion should continue. As noted by Michael,
    John, and Andy, there are many pain points in CSS. It is a very tall
    order, though. One of the main points to discuss will be how to
    ensure compatibility, both API (a must with the possible exception
    of API that can't be usefully used today by an application) and
    functional compatibility.<br>
    <br>
    -- Kevin<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 8/26/2024 12:05 PM, Andy Goryachev
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:BL3PR10MB6185AC600881F8F8C4836608E58B2@BL3PR10MB6185.namprd10.prod.outlook.com">
      
      <meta name="Generator" content="Microsoft Word 15 (filtered medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:"Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}@font-face
        {font-family:Aptos;
        panose-1:2 11 0 4 2 2 2 2 2 4;}@font-face
        {font-family:"Iosevka Fixed SS16";
        panose-1:2 0 5 9 3 0 0 0 0 4;}@font-face
        {font-family:"Times New Roman \(Body CS\)";
        panose-1:2 11 6 4 2 2 2 2 2 4;}@font-face
        {font-family:"\@Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}@font-face
        {font-family:"Helvetica Neue";
        panose-1:2 0 5 3 0 0 0 2 0 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:10.0pt;
        font-family:"Aptos",sans-serif;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}p.li1, li.li1, div.li1
        {mso-style-name:li1;
        margin:0in;
        font-size:10.0pt;
        font-family:"Helvetica Neue";}span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Iosevka Fixed SS16";
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}div.WordSection1
        {page:WordSection1;}ol
        {margin-bottom:0in;}ul
        {margin-bottom:0in;}</style>
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Well,
            I don't think we should dissuade anyone from discussing a
            possible improvement from the very beginning, especially if
            they are trying to address a pain point.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Though
            Kevin is right: CSS is a complicated subsystem, and
            attempting to change it, or worse, rewrite it, requires
            enormous effort - not only for development, but also for
            reviewing and most of all, testing.  I also have little
            confidence in the CSS "spec" - not only it's a moving
            target, but the github shows 3.3k issues
            <a href="https://github.com/w3c/csswg-drafts/issues" moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/w3c/csswg-drafts/issues</a>
            .  Granted, not all of them might be applicable, but it
            certainly does not help.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">-andy<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
        <div id="mail-editor-reference-message-container">
          <div>
            <div>
              <div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                <p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
                    </span></b><span style="font-size:12.0pt;color:black">openjfx-dev
                    <a class="moz-txt-link-rfc2396E" href="mailto:openjfx-dev-retn@openjdk.org"><openjfx-dev-retn@openjdk.org></a> on behalf of
                    Kevin Rushforth <a class="moz-txt-link-rfc2396E" href="mailto:kevin.rushforth@oracle.com"><kevin.rushforth@oracle.com></a><br>
                    <b>Date: </b>Monday, August 26, 2024 at 11:52<br>
                    <b>To: </b><a class="moz-txt-link-abbreviated" href="mailto:openjfx-dev@openjdk.org">openjfx-dev@openjdk.org</a>
                    <a class="moz-txt-link-rfc2396E" href="mailto:openjfx-dev@openjdk.org"><openjfx-dev@openjdk.org></a><br>
                    <b>Subject: </b>Re: New CSS parser for JavaFX<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:12.0pt">Lots of things might be good
                  ideas. I'm rather skeptical of the cost / benefit of
                  implementing a new CSS parser. This would be a large
                  effort and run a significant risk of regression,
                  especially since CSS is a fragile area (although
                  parsing less so than the runtime CSS processing).<br>
                  <br>
                  -- Kevin<br>
                  <br>
                  <o:p></o:p></span></p>
              <div>
                <p class="MsoNormal"><span style="font-size:12.0pt">On
                    8/26/2024 10:24 AM, Andy Goryachev wrote:<o:p></o:p></span></p>
              </div>
              <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                <div>
                  <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Michael:</span><o:p></o:p></p>
                  <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                  <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">This
                      might be a good idea.  A few questions:</span><o:p></o:p></p>
                  <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                  <ul style="margin-top:0in" type="disc">
                    <li class="li1" style="mso-list:l0 level1 lfo1"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">can
                        we create stylesheets programmatically without
                        parsing (i.e. construct the token tree
                        directly)?</span><o:p></o:p></li>
                    <li class="li1" style="mso-list:l0 level1 lfo1"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">would
                        it be possible to add a diagnostic (at the
                        moment of applyCSS()) to show the actual rule(s)
                        being used?</span><o:p></o:p></li>
                    <li class="li1" style="mso-list:l0 level1 lfo1"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">are
                        we going to track the evolution of
                        <a href="https://www.w3.org/TR/css-syntax-3/" moz-do-not-send="true" class="moz-txt-link-freetext">https://www.w3.org/TR/css-syntax-3/</a>
                        "spec"?</span><o:p></o:p></li>
                    <li class="li1" style="mso-list:l0 level1 lfo1"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">are
                        we going to clarify the w3 "spec" (what is the
                        value of "EOF code point"?)?</span><o:p></o:p></li>
                    <li class="li1" style="mso-list:l0 level1 lfo1"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">are
                        there incompatibilities between web-style CSS
                        and FX-style CSS?</span><o:p></o:p></li>
                    <li class="li1" style="mso-list:l0 level1 lfo1"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">what
                        is the testing strategy?</span><o:p></o:p></li>
                  </ul>
                  <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                  <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Thank
                      you</span><o:p></o:p></p>
                  <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                  <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">-andy</span><o:p></o:p></p>
                  <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                  <div id="mail-editor-reference-message-container">
                    <div>
                      <div>
                        <div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                          <p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
                              </span></b><span style="font-size:12.0pt;color:black">openjfx-dev
                              <a href="mailto:openjfx-dev-retn@openjdk.org" moz-do-not-send="true">
                                <openjfx-dev-retn@openjdk.org></a>
                              on behalf of Michael Strauß <a href="mailto:michaelstrau2@gmail.com" moz-do-not-send="true">
                                <michaelstrau2@gmail.com></a><br>
                              <b>Date: </b>Sunday, August 25, 2024 at
                              20:45<br>
                              <b>To: </b>openjfx-dev <a href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true"><openjfx-dev@openjdk.org></a><br>
                              <b>Subject: </b>New CSS parser for JavaFX</span><o:p></o:p></p>
                        </div>
                        <div>
                          <p class="MsoNormal"><span style="font-size:11.0pt">I've written up a
                              proposal to implement a new CSS parser for
                              JavaFX:<br>
                              <a href="https://gist.github.com/mstr2/f416996caf48e11193f0b6a5883a3926" moz-do-not-send="true" class="moz-txt-link-freetext">https://gist.github.com/mstr2/f416996caf48e11193f0b6a5883a3926</a><br>
                              <br>
                              The goal is not add new features at this
                              point, but to resolve some<br>
                              long-standing issues with the existing CSS
                              parsing (though if you read<br>
                              carefully, you might spot a new feature).<br>
                              <br>
                              I'm interested in your opinion whether
                              this is a good idea to move forward.</span><o:p></o:p></p>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </blockquote>
              <p class="MsoNormal"><span style="font-size:12.0pt"><o:p> </o:p></span></p>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>