<?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>287948</bug_id>
          
          <creation_ts>2025-02-19 02:21:33 -0800</creation_ts>
          <short_desc>Allow use of ::before/::after pseudo-elements with &lt;progress&gt;</short_desc>
          <delta_ts>2025-05-08 05:18:21 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>284540</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>karlcow</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2095807</commentid>
    <comment_count>0</comment_count>
      <attachid>474284</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2025-02-19 02:21:33 -0800</bug_when>
    <thetext>Created attachment 474284
Test

The attached test case uses a custom property defined using `@property` and `inherits: true` to set the width of a `::before` pseudo-element:

```
    @property --y {
      syntax: &apos;&lt;number&gt;&apos;;
      inherits: true;
      initial-value: 0.5;
    }

    progress {
      width: 150px;
      height: 150px;
      appearance: none;
      position: relative;
      --y: 0.25;
      animation: y 250ms both;
    }

    progress::before {
      position: absolute;
      content: &quot;&quot;;
      width: calc(var(--y) * 100%);
      height: 100%;
      background-color: green;
    }

    @keyframes y {
      from { --y: 0 }
      to { --y: 1 }
    }
```

In Chrome, the animation is visible, but in Firefox and WebKit it is not. The test also queries the computed style of the `&lt;progress&gt;` element and its `::before` pseudo-element separately and it appears the `--y` property is not inherited on the element.

Commenting out the `animation` property shows in the console that the `--y` property is correctly inherited when not animated, but it doesn&apos;t get picked up in the rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2095808</commentid>
    <comment_count>1</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2025-02-19 02:23:38 -0800</bug_when>
    <thetext>This is blocking bug 284540 which has some scroll-animations issues but, once solved, revealed this specific issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2095809</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-02-19 02:23:58 -0800</bug_when>
    <thetext>&lt;rdar://problem/145125372&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2115632</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2025-05-07 05:59:08 -0700</bug_when>
    <thetext>The test case reduces to not being able to use ::before with &lt;progress&gt; (which has UA shadow tree). Only browser where that works is Chrome and it is not clear to me that is something that should work.

&lt;!DOCTYPE html&gt;
&lt;style&gt;
    progress {
      width: 150px;
      height: 150px;
      appearance: none;
      position: relative;
    }
    progress::before {
      position: absolute;
      content: &quot;&quot;;
      width: 25%;
      height: 100%;
      background-color: green;
    }
&lt;/style&gt;
&lt;progress&gt;&lt;/progress&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2115833</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2025-05-08 01:01:53 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/45102</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2115859</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-05-08 05:18:19 -0700</bug_when>
    <thetext>Committed 294663@main (d793d6d497f0): &lt;https://commits.webkit.org/294663@main&gt;

Reviewed commits have been landed. Closing PR #45102 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>474284</attachid>
            <date>2025-02-19 02:21:33 -0800</date>
            <delta_ts>2025-02-19 02:21:33 -0800</delta_ts>
            <desc>Test</desc>
            <filename>custom-property-inheritance-on-pseudo-elements.html</filename>
            <type>text/html</type>
            <size>1393</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgogIDxtZXRhIGh0dHAtZXF1aXY9IngtdWEtY29tcGF0aWJsZSIgY29udGVudD0iaWU9
ZWRnZSI+CiAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCBzaHJpbmstdG8tZml0PW5vIj4KCiAgPHRpdGxlPjwvdGl0bGU+
Cgo8c3R5bGU+CgogICAgQHByb3BlcnR5IC0teSB7CiAgICAgIHN5bnRheDogJzxudW1iZXI+JzsK
ICAgICAgaW5oZXJpdHM6IHRydWU7CiAgICAgIGluaXRpYWwtdmFsdWU6IDAuNTsKICAgIH0KCiAg
ICBwcm9ncmVzcyB7CiAgICAgIHdpZHRoOiAxNTBweDsKICAgICAgaGVpZ2h0OiAxNTBweDsKICAg
ICAgYXBwZWFyYW5jZTogbm9uZTsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAtLXk6
IDAuMjU7CiAgICAgIC8qYW5pbWF0aW9uOiB5IDI1MG1zIGJvdGg7Ki8KICAgIH0KCiAgICBwcm9n
cmVzczo6YmVmb3JlIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBjb250ZW50OiAi
IjsKICAgICAgd2lkdGg6IGNhbGModmFyKC0teSkgKiAxMDAlKTsKICAgICAgaGVpZ2h0OiAxMDAl
OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKICAgIH0KCiAgICBAa2V5ZnJhbWVzIHkg
ewogICAgICBmcm9tIHsgLS15OiAwIH0KICAgICAgdG8geyAtLXk6IDEgfQogICAgfQoKPC9zdHls
ZT4KICAKPC9oZWFkPgo8Ym9keT4KCjxwcm9ncmVzcz48L3Byb2dyZXNzPgoKPHNjcmlwdD4KCiAg
ICBjb25zdCBhbmltYXRpb24gPSBkb2N1bWVudC5nZXRBbmltYXRpb25zKClbMF07CiAgICBjb25z
dCBwcm9ncmVzcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInByb2dyZXNzIik7CgogICAgY29u
c3QgZHVtcEFuaW1hdGlvbnMgPSAoKSA9PiB7CiAgICAgICAgY29uc29sZS5ncm91cChkb2N1bWVu
dC50aW1lbGluZS5jdXJyZW50VGltZSk7CiAgICAgICAgY29uc29sZS5sb2coYC0teSBvbiA8cHJv
Z3Jlc3M+ID0gJHtnZXRDb21wdXRlZFN0eWxlKHByb2dyZXNzKS5nZXRQcm9wZXJ0eVZhbHVlKCct
LXknKX1gKTsKICAgICAgICBjb25zb2xlLmxvZyhgLS15IG9uIDxwcm9ncmVzcz46OmJlZm9yZSA9
ICR7Z2V0Q29tcHV0ZWRTdHlsZShwcm9ncmVzcywgIjo6YmVmb3JlIikuZ2V0UHJvcGVydHlWYWx1
ZSgnLS15Jyl9YCk7CiAgICAgICAgY29uc29sZS5ncm91cEVuZCgpOwogICAgICAgIGlmIChhbmlt
YXRpb24/LnBsYXlTdGF0ZSA9PSAicnVubmluZyIpCiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRp
b25GcmFtZShkdW1wQW5pbWF0aW9ucyk7CiAgICB9OwoKICAgIGR1bXBBbmltYXRpb25zKCk7Cgo8
L3NjcmlwdD4KCjwvYm9keT4KPC9odG1sPg==
</data>

          </attachment>
      

    </bug>

</bugzilla>