<?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>310264</bug_id>
          
          <creation_ts>2026-03-19 01:35:18 -0700</creation_ts>
          <short_desc>LCP in shadow DOM is not reported</short_desc>
          <delta_ts>2026-04-06 11:38:23 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></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>
          <dependson>311575</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter>smrtnyk</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>barry</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>erik.witt</cc>
    
    <cc>karlcow</cc>
    
    <cc>nicole</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2191646</commentid>
    <comment_count>0</comment_count>
      <attachid>478720</attachid>
    <who name="">smrtnyk</who>
    <bug_when>2026-03-19 01:35:18 -0700</bug_when>
    <thetext>Created attachment 478720
you will need to install playwright test for this

Both chrome and firefox report LCP coming from shadow dom but webkit doesn&apos;t.
Given a scenario if image is loaded from shadow dom and is the best LCP candidate, chrome and firefox will report it as an lcp where webkit will ignore it and take only candidates from regular DOM.

I am not really sure if webkit is more behaving to spec or not.
It could be that firefox aligned to Chrome and webkit decided to follow the spec more closely.

Relevant links:

  • LCP spec: https://w3c.github.io/largest-contentful-paint/ (section 4.2)
  • Paint Timing spec: https://w3c.github.io/paint-timing/ (section 5.4.1 &quot;Exposed for paint timing&quot;)


The LCP spec section 4.2 step 5.2 says 
If imageElement is not exposed for paint timing, given document, continue.

in Paint timing spec seciton 5.4.1 step 4
If element’s root is not equal to document, return false.

I am not sure how to interpret it.

I have attached a test script you can run via node
It uses @playwright/test in order to run all 3 browsers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2192948</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2026-03-23 17:40:28 -0700</bug_when>
    <thetext>I thought there was a web platform test for this that we passed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2192949</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-03-23 17:40:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/173197678&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2196739</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2026-04-03 17:16:19 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/62008</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2196870</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-04-04 08:35:43 -0700</bug_when>
    <thetext>Committed 310575@main (0b5c61add5d5): &lt;https://commits.webkit.org/310575@main&gt;

Reviewed commits have been landed. Closing PR #62008 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2196970</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-04-04 21:13:00 -0700</bug_when>
    <thetext>Committed 305413.615@safari-7624-branch (c1f3664d9ebb): &lt;https://commits.webkit.org/305413.615@safari-7624-branch&gt;

Reviewed commits have been landed. Closing PR #4896 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197295</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2026-04-06 11:27:19 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 311575</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197297</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2026-04-06 11:29:16 -0700</bug_when>
    <thetext>It&apos;s not clear from specs about whether this is correct, so reverted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197301</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2026-04-06 11:38:23 -0700</bug_when>
    <thetext>https://github.com/w3c/largest-contentful-paint/issues/152</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>478720</attachid>
            <date>2026-03-19 01:35:18 -0700</date>
            <delta_ts>2026-03-19 01:35:18 -0700</delta_ts>
            <desc>you will need to install playwright test for this</desc>
            <filename>webkit-lcp-shadow-dom-bug.mjs</filename>
            <type>text/javascript</type>
            <size>4102</size>
            <attacher>smrtnyk</attacher>
            
              <data encoding="base64">LyoqDQogKiBXZWJLaXQgZG9lcyBub3QgcmVwb3J0IHNoYWRvdyBET00gY29udGVudCBhcyBMQ1Ag
KExhcmdlc3QgQ29udGVudGZ1bCBQYWludCkgY2FuZGlkYXRlcy4NCiAqDQogKiBFeHBlY3RlZCAo
Q2hyb21pdW0gJiBGaXJlZm94KToNCiAqICAgLSBMQ1AgZW50cnkgZm9yIHRoZSBzaGFkb3cgRE9N
IGltYWdlOiBzaXplPTQ4MDAwMCwgZWxlbWVudD1udWxsLCB1cmw9PGltYWdlIHVybD4NCiAqDQog
KiBBY3R1YWwgKFdlYktpdCk6DQogKiAgIC0gU2hhZG93IERPTSBpbWFnZSBpcyBuZXZlciByZXBv
cnRlZCBhcyBhbiBMQ1AgY2FuZGlkYXRlLg0KICogICAtIExDUCBlbnRyeSBpcyBmb3IgdGhlIHNt
YWxsIGxpZ2h0IERPTSBpbWFnZTogc2l6ZT00MDAsIGVsZW1lbnQ9PElNRz4sIHVybD08aW1hZ2Ug
dXJsPg0KICoNCiAqIFJ1bjogIG5vZGUgd2Via2l0LWxjcC1zaGFkb3ctZG9tLWJ1Zy5tanMNCiAq
Lw0KaW1wb3J0IHsgY2hyb21pdW0sIHdlYmtpdCwgZmlyZWZveCB9IGZyb20gIkBwbGF5d3JpZ2h0
L3Rlc3QiOw0KDQpjb25zdCBIVE1MID0gYDwhRE9DVFlQRSBodG1sPg0KPGh0bWw+DQo8aGVhZD4N
CjxzY3JpcHQ+DQp3aW5kb3cuX19sY3BFbnRyaWVzID0gW107DQpuZXcgUGVyZm9ybWFuY2VPYnNl
cnZlcihmdW5jdGlvbiAobGlzdCkgew0KICAgIGZvciAoY29uc3QgZW50cnkgb2YgbGlzdC5nZXRF
bnRyaWVzKCkpIHsNCiAgICAgICAgd2luZG93Ll9fbGNwRW50cmllcy5wdXNoKHsNCiAgICAgICAg
ICAgIHNpemU6IGVudHJ5LnNpemUsDQogICAgICAgICAgICB1cmw6IGVudHJ5LnVybCwNCiAgICAg
ICAgICAgIGVsZW1lbnRJc051bGw6IGVudHJ5LmVsZW1lbnQgPT09IG51bGwsDQogICAgICAgICAg
ICBlbGVtZW50VGFnOiBlbnRyeS5lbGVtZW50ID8gZW50cnkuZWxlbWVudC50YWdOYW1lIDogbnVs
bCwNCiAgICAgICAgfSk7DQogICAgfQ0KfSkub2JzZXJ2ZSh7IHR5cGU6ICJsYXJnZXN0LWNvbnRl
bnRmdWwtcGFpbnQiLCBidWZmZXJlZDogdHJ1ZSB9KTsNCg0KY3VzdG9tRWxlbWVudHMuZGVmaW5l
KCJteS1zaGFkb3ciLCBjbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50IHsNCiAgICBjb25zdHJ1Y3Rv
cigpIHsNCiAgICAgICAgc3VwZXIoKTsNCiAgICAgICAgdGhpcy5hdHRhY2hTaGFkb3coeyBtb2Rl
OiAib3BlbiIgfSkuaW5uZXJIVE1MID0NCiAgICAgICAgICAgICc8aW1nIHNyYz0iaHR0cDovL3Rl
c3QubG9jYWwvbGFyZ2UucG5nIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+JzsNCiAgICB9DQp9
KTsNCjwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHk+DQogICAgPG15LXNoYWRvdz48L215LXNoYWRv
dz4NCiAgICA8aW1nIHNyYz0iaHR0cDovL3Rlc3QubG9jYWwvc21hbGwucG5nIiB3aWR0aD0iMjAi
IGhlaWdodD0iMjAiPg0KPC9ib2R5Pg0KPC9odG1sPmA7DQoNCmFzeW5jIGZ1bmN0aW9uIGdlbmVy
YXRlSW1hZ2UocGFnZSwgdywgaCwgY29sb3IpIHsNCiAgICBjb25zdCBiNjQgPSBhd2FpdCBwYWdl
LmV2YWx1YXRlKCh7IHcsIGgsIGNvbG9yIH0pID0+IHsNCiAgICAgICAgY29uc3QgYyA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOw0KICAgICAgICBjLndpZHRoID0gdzsNCiAgICAg
ICAgYy5oZWlnaHQgPSBoOw0KICAgICAgICBjLmdldENvbnRleHQoIjJkIikuZmlsbFN0eWxlID0g
Y29sb3I7DQogICAgICAgIGMuZ2V0Q29udGV4dCgiMmQiKS5maWxsUmVjdCgwLCAwLCB3LCBoKTsN
CiAgICAgICAgcmV0dXJuIGMudG9EYXRhVVJMKCJpbWFnZS9wbmciKS5zcGxpdCgiLCIpWzFdOw0K
ICAgIH0sIHsgdywgaCwgY29sb3IgfSk7DQogICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGI2NCwgImJh
c2U2NCIpOw0KfQ0KDQphc3luYyBmdW5jdGlvbiBydW5Ccm93c2VyKGJyb3dzZXJUeXBlLCBuYW1l
KSB7DQogICAgY29uc3QgYnJvd3NlciA9IGF3YWl0IGJyb3dzZXJUeXBlLmxhdW5jaCh7IGhlYWRs
ZXNzOiB0cnVlIH0pOw0KICAgIGNvbnN0IGN0eCA9IGF3YWl0IGJyb3dzZXIubmV3Q29udGV4dCgp
Ow0KDQogICAgLy8gR2VuZXJhdGUgdGVzdCBpbWFnZXMgaW4tYnJvd3NlciAoYXZvaWRzIGV4dGVy
bmFsIGRlcGVuZGVuY2llcykNCiAgICBjb25zdCBoZWxwZXIgPSBhd2FpdCBjdHgubmV3UGFnZSgp
Ow0KICAgIGF3YWl0IGhlbHBlci5zZXRDb250ZW50KCI8aHRtbD48Ym9keT48L2JvZHk+PC9odG1s
PiIpOw0KICAgIGNvbnN0IGxhcmdlID0gYXdhaXQgZ2VuZXJhdGVJbWFnZShoZWxwZXIsIDgwMCwg
NjAwLCAicmVkIik7DQogICAgY29uc3Qgc21hbGwgPSBhd2FpdCBnZW5lcmF0ZUltYWdlKGhlbHBl
ciwgMjAsIDIwLCAiYmx1ZSIpOw0KICAgIGF3YWl0IGhlbHBlci5jbG9zZSgpOw0KDQogICAgY29u
c3QgcGFnZSA9IGF3YWl0IGN0eC5uZXdQYWdlKCk7DQogICAgYXdhaXQgcGFnZS5yb3V0ZSgiaHR0
cDovL3Rlc3QubG9jYWwvbGFyZ2UucG5nIiwgciA9Pg0KICAgICAgICByLmZ1bGZpbGwoeyBzdGF0
dXM6IDIwMCwgY29udGVudFR5cGU6ICJpbWFnZS9wbmciLCBib2R5OiBsYXJnZSB9KSk7DQogICAg
YXdhaXQgcGFnZS5yb3V0ZSgiaHR0cDovL3Rlc3QubG9jYWwvc21hbGwucG5nIiwgciA9Pg0KICAg
ICAgICByLmZ1bGZpbGwoeyBzdGF0dXM6IDIwMCwgY29udGVudFR5cGU6ICJpbWFnZS9wbmciLCBi
b2R5OiBzbWFsbCB9KSk7DQogICAgYXdhaXQgcGFnZS5yb3V0ZSgiaHR0cDovL3Rlc3QubG9jYWwv
aW5kZXguaHRtbCIsIHIgPT4NCiAgICAgICAgci5mdWxmaWxsKHsgc3RhdHVzOiAyMDAsIGNvbnRl
bnRUeXBlOiAidGV4dC9odG1sIiwgYm9keTogSFRNTCB9KSk7DQoNCiAgICBhd2FpdCBwYWdlLmdv
dG8oImh0dHA6Ly90ZXN0LmxvY2FsL2luZGV4Lmh0bWwiLCB7IHdhaXRVbnRpbDogImxvYWQiIH0p
Ow0KICAgIGF3YWl0IHBhZ2Uud2FpdEZvclRpbWVvdXQoMjAwMCk7DQoNCiAgICBjb25zdCBlbnRy
aWVzID0gYXdhaXQgcGFnZS5ldmFsdWF0ZSgoKSA9PiB3aW5kb3cuX19sY3BFbnRyaWVzKTsNCiAg
ICBjb25zdCBsYXN0ID0gZW50cmllc1tlbnRyaWVzLmxlbmd0aCAtIDFdOw0KDQogICAgY29uc29s
ZS5sb2cobmFtZSk7DQogICAgY29uc29sZS5sb2coIiAgTENQIGVudHJpZXM6ICIgKyBlbnRyaWVz
Lmxlbmd0aCk7DQogICAgZm9yIChjb25zdCBlIG9mIGVudHJpZXMpIHsNCiAgICAgICAgY29uc29s
ZS5sb2coDQogICAgICAgICAgICAiICAgIHNpemU9IiArIGUuc2l6ZSArDQogICAgICAgICAgICAi
ICBlbGVtZW50PSIgKyAoZS5lbGVtZW50SXNOdWxsID8gIm51bGwiIDogZS5lbGVtZW50VGFnKSAr
DQogICAgICAgICAgICAiICB1cmw9IiArIChlLnVybCB8fCAiKG5vbmUpIikNCiAgICAgICAgKTsN
CiAgICB9DQogICAgaWYgKGxhc3QpIHsNCiAgICAgICAgY29uc3QgZXhwZWN0U2hhZG93ID0gbGFz
dC5lbGVtZW50SXNOdWxsICYmIGxhc3Quc2l6ZSA9PT0gNDgwMDAwOw0KICAgICAgICBjb25zb2xl
LmxvZygiICBTaGFkb3cgRE9NIGltYWdlIHJlcG9ydGVkIGFzIExDUDogIiArIChleHBlY3RTaGFk
b3cgPyAiWUVTIiA6ICJOTyIpKTsNCiAgICB9DQogICAgY29uc29sZS5sb2coKTsNCg0KICAgIGF3
YWl0IGJyb3dzZXIuY2xvc2UoKTsNCiAgICByZXR1cm4gZW50cmllczsNCn0NCg0KY29uc3QgcmVz
dWx0cyA9IHt9Ow0KcmVzdWx0cy5jaHJvbWl1bSA9IGF3YWl0IHJ1bkJyb3dzZXIoY2hyb21pdW0s
ICJDaHJvbWl1bSIpOw0KcmVzdWx0cy5maXJlZm94ID0gYXdhaXQgcnVuQnJvd3NlcihmaXJlZm94
LCAiRmlyZWZveCIpOw0KcmVzdWx0cy53ZWJraXQgPSBhd2FpdCBydW5Ccm93c2VyKHdlYmtpdCwg
IldlYktpdCIpOw0KDQovLyBTdW1tYXJ5DQpjb25zb2xlLmxvZygiLS0tIFN1bW1hcnkgLS0tIik7
DQpmb3IgKGNvbnN0IFtuYW1lLCBlbnRyaWVzXSBvZiBPYmplY3QuZW50cmllcyhyZXN1bHRzKSkg
ew0KICAgIGNvbnN0IGxhc3QgPSBlbnRyaWVzW2VudHJpZXMubGVuZ3RoIC0gMV07DQogICAgY29u
c3Qgb2sgPSBsYXN0ICYmIGxhc3QuZWxlbWVudElzTnVsbCAmJiBsYXN0LnNpemUgPT09IDQ4MDAw
MDsNCiAgICBjb25zb2xlLmxvZyhuYW1lICsgIjogc2hhZG93IERPTSBpbWFnZSBpcyBMQ1AgY2Fu
ZGlkYXRlID0gIiArIChvayA/ICJZRVMgKGNvcnJlY3QpIiA6ICJOTyAoYnVnKSIpKTsNCn0NCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>