<?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>270900</bug_id>
          
          <creation_ts>2024-03-12 23:38:54 -0700</creation_ts>
          <short_desc>[css-cascade] Proximity for implicit scopes seems to be ignored for rules with zero specificity</short_desc>
          <delta_ts>2024-03-19 13:52:24 -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>Safari 17</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/45205</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nathan Knowler">nathan</reporter>
          <assigned_to name="Matthieu Dubet">m_dubet</assigned_to>
          <cc>kizmarh</cc>
    
    <cc>koivisto</cc>
    
    <cc>m_dubet</cc>
    
    <cc>nathan</cc>
    
    <cc>obrufau</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2020658</commentid>
    <comment_count>0</comment_count>
      <attachid>470334</attachid>
    <who name="Nathan Knowler">nathan</who>
    <bug_when>2024-03-12 23:38:54 -0700</bug_when>
    <thetext>Created attachment 470334
Reduced test case for implicit scope’s proximity being override by explicit scope when selectors have zero specificity.

When an implicit `@scope` (i.e. a scope within an embedded style without an explicit scope root) is used and it contains a rule that has a sum of zero specificity (0,0,0) like the universal selector (i.e. `*`) or a selector wrapped with the `:where()` pseudo-class function, it seems like less proximate scopes with the same specificity can override the local scope. The only workaround is to bump the specificity of the selector used in the local scope.

From what I’ve observed:

- Other properties for the same selector with zero specificity inside the implicit scope where there is no conflict apply fine.
- Order of appearance does not seem to cause any difference (e.g. ordering the less proximate explicit scope rule before or after the implicit one), so I assume this is a problem with how scope proximity is being determined for this situation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2021133</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-03-14 14:50:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/124640124&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2021189</commentid>
    <comment_count>2</comment_count>
    <who name="Matthieu Dubet">m_dubet</who>
    <bug_when>2024-03-14 16:58:55 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/25918</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2022132</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-03-19 07:43:17 -0700</bug_when>
    <thetext>Committed 276345@main (7b99ea4ee244): &lt;https://commits.webkit.org/276345@main&gt;

Reviewed commits have been landed. Closing PR #25918 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>470334</attachid>
            <date>2024-03-12 23:38:54 -0700</date>
            <delta_ts>2024-03-12 23:38:54 -0700</delta_ts>
            <desc>Reduced test case for implicit scope’s proximity being override by explicit scope when selectors have zero specificity.</desc>
            <filename>implicit-scope-zero-specificity-test.html</filename>
            <type>text/html</type>
            <size>2778</size>
            <attacher name="Nathan Knowler">nathan</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuLWNhIj4KICA8aGVhZD4KICAgIDxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CiAgICA8dGl0bGU+SW1wbGljaXQgc2NvcGUg
YmVpbmcgb3ZlcnJpZGRlbiBieSBsZXNzIHByb3hpbWF0ZSwgZXhwbGljaXQgc2NvcGU8L3RpdGxl
PgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkRlbW9uc3RyYXRlcyBhIGJ1
ZyBpbiBTYWZhcmkgYXJvdW5kIGltcGxpY2l0IHNjb3BlIHJ1bGVzIGFuZCBzZWxlY3RvcnMgd2l0
aCB6ZXJvIHNwZWNpZmljaXR5LiI+CiAgICA8c3R5bGU+CgkJOnJvb3QgewoJCQljb2xvci1zY2hl
bWU6IGRhcmsgbGlnaHQ7CgkJCWZvbnQtZmFtaWx5OiBzeXN0ZW0tdWk7CgkJCWxpbmUtaGVpZ2h0
OiAxLjU7CgkJfQoKCQloMSwgaDIsIHAgewoJCQl0ZXh0LXdyYXA6IGJhbGFuY2U7CgkJfQoKCQlo
MSwgaDIgewoJCQltYXgtaW5saW5lLXNpemU6IDIwZW07CgkJfQoKCQlwIHsKCQkJbWF4LWlubGlu
ZS1zaXplOiAzNmVtOwoJCX0KCgkJYXJ0aWNsZSB7CgkJCWJvcmRlcjogMXB4IGRhc2hlZCBDYW52
YXNUZXh0OwoJCQlwYWRkaW5nOiAxcmVtOwoJCQltYXJnaW4tdHJpbTogYmxvY2s7CgkJCW1heC1p
bmxpbmUtc2l6ZTogZml0LWNvbnRlbnQ7CgoJCQlAc3VwcG9ydHMgbm90IChtYXJnaW4tYmxvY2s6
IHRyaW0pIHsKCQkJCSogewoJCQkJCW1hcmdpbi1ibG9jay1zdGFydDogMDsKCgkJCQkJKyAqIHsK
CQkJCQkJbWFyZ2luLWJsb2NrLXN0YXJ0OiByZXZlcnQtbGF5ZXI7CgkJCQkJfQoJCQkJfQoKCQkJ
CTpsYXN0LWNoaWxkIHsKCQkJCQltYXJnaW4tYmxvY2stZW5kOiAwOwoJCQkJfQoJCQl9CgoJCQkr
IGFydGljbGUgewoJCQkJbWFyZ2luLWJsb2NrLXN0YXJ0OiAxcmVtOwoJCQl9CgkJfQoJPC9zdHls
ZT4KICA8L2hlYWQ+CiAgPGJvZHk+Cgk8aDE+SW1wbGljaXQgc2NvcGUgYmVpbmcgb3ZlcnJpZGRl
biBieSBsZXNzIHByb3hpbWF0ZSwgZXhwbGljaXQgc2NvcGU8L2gxPgoJPHA+CgkgIEluIGVhY2gg
ZXhhbXBsZSwgdGhlIHRleHQgb2YgdGhlIGltcGxpY2l0IHNjb3BlIGlzIGl0YWxpY2l6ZWQgdG8K
CSAgZGVtb25zdHJhdGUgdGhhdCA8Y29kZT5Ac2NvcGU8L2NvZGU+IHJ1bGVzIGFyZSBhcHBseWlu
ZyAod2hlbiB0aGVyZSBpcyBubwoJICBjb25mbGljdCkuIFRoZSBjb25mbGljdGluZyBzdHlsZSBp
cyB0aGUgPGNvZGU+Y29sb3I8L2NvZGU+LiBDaHJvbWUKCSAgY29ycmVjdGx5IHVzZXMgdGhlIHN0
eWxlIGZvciB0aGUgaW1wbGljaXQgc2NvcGUsIHdoaWxlIFNhZmFyaSBkb2VzCgkgIG5vdC4KCgk8
L3A+Cgk8YXJ0aWNsZT4KCSAgPGgyPkxlc3MgcHJveGltYXRlLCBleHBsaWNpdCBzY29wZSBvcmRl
cmVkIGZpcnN0IChib3RoIHVzaW5nIDxjb2RlPio8L2NvZGU+KTwvaDI+CgkgIDxwPkluIHRoZSBh
cnRpY2xlPC9wPgoJICA8YXNpZGU+CgkJPHN0eWxlPgoJCSAgQHNjb3BlIChhcnRpY2xlOmZpcnN0
LW9mLXR5cGUpIHsKCQkJKiB7IGNvbG9yOiBEZWVwUGluazsgfQoJCSAgfQoJCSAgQHNjb3BlIHsK
CQkJKiB7IGNvbG9yOiBDYW52YXNUZXh0OyBmb250LXN0eWxlOiBpdGFsaWM7IH0KCQkgIH0KCQk8
L3N0eWxlPgoJCTxwPkluIHRoZSBhc2lkZTwvcD4KCSAgPC9hc2lkZT4KCTwvYXJ0aWNsZT4KCTxh
cnRpY2xlPgoJICA8aDI+TGVzcyBwcm94aW1hdGUsIGV4cGxpY2l0IHNjb3BlIG9yZGVyZWQgZmly
c3QgKGJvdGggdXNpbmcgPGNvZGU+KjwvY29kZT4pPC9oMj4KCSAgPHA+SW4gdGhlIGFydGljbGU8
L3A+CgkgIDxhc2lkZT4KCQk8c3R5bGU+CgkJICBAc2NvcGUgewoJCQkqIHsgY29sb3I6IENhbnZh
c1RleHQ7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfQoJCSAgfQoJCSAgQHNjb3BlIChhcnRpY2xlOm50
aC1vZi10eXBlKDIpKSB7CgkJCSogeyBjb2xvcjogRGVlcFBpbms7IH0KCQkgIH0KCQk8L3N0eWxl
PgoJCTxwPkluIHRoZSBhc2lkZTwvcD4KCSAgPC9hc2lkZT4KCTwvYXJ0aWNsZT4KCTxhcnRpY2xl
PgoJICA8aDI+TGVzcyBwcm94aW1hdGUsIGV4cGxpY2l0IHNjb3BlIG9yZGVyZWQgZmlyc3QgKGJv
dGggdXNpbmcgPGNvZGU+OndoZXJlKCk8L2NvZGU+KTwvaDI+CgkgIDxwPkluIHRoZSBhcnRpY2xl
PC9wPgoJICA8YXNpZGU+CgkJPHN0eWxlPgoJCSAgQHNjb3BlIChhcnRpY2xlOm50aC1vZi10eXBl
KDMpKSB7CgkJCTp3aGVyZShwKSB7IGNvbG9yOiBEZWVwUGluazsgfQoJCSAgfQoJCSAgQHNjb3Bl
IHsKCQkJOndoZXJlKHApIHsgY29sb3I6IENhbnZhc1RleHQ7IGZvbnQtc3R5bGU6IGl0YWxpYzsg
fQoJCSAgfQoJCTwvc3R5bGU+CgkJPHA+SW4gdGhlIGFzaWRlPC9wPgoJICA8L2FzaWRlPgoJPC9h
cnRpY2xlPgoJPGFydGljbGU+CgkgIDxoMj5MZXNzIHByb3hpbWF0ZSwgZXhwbGljaXQgc2NvcGUg
b3JkZXJlZCBsYXN0IChib3RoIHVzaW5nIDxjb2RlPjp3aGVyZSgpPC9jb2RlPik8L2gyPgoJICA8
cD5JbiB0aGUgYXJ0aWNsZTwvcD4KCSAgPGFzaWRlPgoJCTxzdHlsZT4KCQkgIEBzY29wZSB7CgkJ
CTp3aGVyZShwKSB7IGNvbG9yOiBDYW52YXNUZXh0OyBmb250LXN0eWxlOiBpdGFsaWM7IH0KCQkg
IH0KCQkgIEBzY29wZSAoYXJ0aWNsZTpudGgtb2YtdHlwZSg0KSkgewoJCQk6d2hlcmUocCkgeyBj
b2xvcjogRGVlcFBpbms7IH0KCQkgIH0KCQk8L3N0eWxlPgoJCTxwPkluIHRoZSBhc2lkZTwvcD4K
CSAgPC9hc2lkZT4KCTwvYXJ0aWNsZT4KICA8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>