<?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>224547</bug_id>
          
          <creation_ts>2021-04-14 08:08:03 -0700</creation_ts>
          <short_desc>Images and iframes with attribute loading=lazy do not print if not viewed (scrolled to) first</short_desc>
          <delta_ts>2024-11-08 09:07:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Images</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=208094</see_also>
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>groek_de_bc</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eoconnor</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hartman.wiki</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>rbuis</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1750105</commentid>
    <comment_count>0</comment_count>
    <who name="">groek_de_bc</who>
    <bug_when>2021-04-14 08:08:03 -0700</bug_when>
    <thetext>* SUMMARY
Lazy loaded images and iframes that have not been on screen yet, are not loaded when printing, producing empty elements.

* STEPS TO REPRODUCE
1. Open Safari/WebKit.
2. Enable lazy loading of images in the Experimental features.
3. Visit a page that contains lazy loaded images or iframes that are not visible on page load (i.e. below the fold).
4. Print the page

* EXPECTED RESULTS
All images should be visible in the printed version

* ACTUAL RESULTS
Only images that were already loaded before executing the print command are visible. 

* REGRESSION
I think this never worked.

* TEST CASE
https://www.ecb.europa.eu/lazy-loading-test/

Printing this page should show the numbers 1 through 6. 

* RELATED LINKS
https://github.com/whatwg/html/issues/6581</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752747</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-21 08:08:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/76959554&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798864</commentid>
    <comment_count>2</comment_count>
      <attachid>439736</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-09-30 07:33:35 -0700</bug_when>
    <thetext>Created attachment 439736
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1994170</commentid>
    <comment_count>3</comment_count>
    <who name="Derk-Jan Hartman">hartman.wiki</who>
    <bug_when>2023-11-21 07:15:42 -0800</bug_when>
    <thetext>This bug still exists. The same issue in Chrome was fixed in January of 2022 https://bugs.chromium.org/p/chromium/issues/detail?id=875403

This is currently blocking Wikipedia (esp Desktop) from using the native attribute, as people still want to print Wikipedia and expect that to work.


I even tried something like:
&lt;script&gt;
window.onbeforeprint = () =&gt; {
	console.log( &apos;print&apos; )
	document.querySelectorAll( &apos;img&apos; ).forEach( (elem, index) =&gt; {
		elem.removeAttribute( &apos;loading&apos; );
	})
}
&lt;/script&gt;

But it seems that this is only processed async, and the print still misses images.

Related wikipedia ticket: https://phabricator.wikimedia.org/T148047</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2052703</commentid>
    <comment_count>4</comment_count>
    <who name="Derk-Jan Hartman">hartman.wiki</who>
    <bug_when>2024-08-14 04:39:25 -0700</bug_when>
    <thetext>For Safari 17.6 (Desktop) images, I can now set a beforeprint handler, to remove the loading attribute, or explicitly sets it to &apos;eager&apos; and this will force the images to load.

Of course I shouldn&apos;t have to set a onbeforeprint handler, but at least that might offer a workaround for the time this remains broken.

Still have to verify on the iPhone and I haven&apos;t tested iframe behaviour.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439736</attachid>
            <date>2021-09-30 07:33:35 -0700</date>
            <delta_ts>2021-09-30 07:33:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224547-20210930153333.patch</filename>
            <type>text/plain</type>
            <size>5010</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTAyNmY4MmQ4MTM1MGZm
MWNiYjZhMjc1OTFlMjFhYjRiNWMwM2YzYi4uYWE3ZjQxMjljOTIxZjE4ODg4ZWQ1NGZmYTJkZjQz
ZTgwNDhhYjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA5LTMwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1hZ2VzIGFuZCBpZnJhbWVzIHdp
dGggYXR0cmlidXRlIGxvYWRpbmc9bGF6eSBkbyBub3QgcHJpbnQgaWYgbm90IHZpZXdlZCAoc2Ny
b2xsZWQgdG8pIGZpcnN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjQ1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXSVAuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmxvYWREZWZlcnJlZEltYWdlcyk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgICogaHRtbC9MYXp5TG9hZEltYWdlT2JzZXJ2ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF6eUxvYWRJbWFnZU9ic2VydmVyOjpsb2FkRGVmZXJyZWRJbWFnZXMpOgor
ICAgICAgICAqIGh0bWwvTGF6eUxvYWRJbWFnZU9ic2VydmVyLmg6CisKIDIwMjEtMDktMzAgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgR1RLIGJ1aWxkIGZpeCBhZnRlciByMjgzMzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg1YmFjYmQ4NTlj
ZWYyNWYyNTIwMDEwYjBiNTc4M2RmZDJiNzdlNjIuLjM2MTdjYzc5N2U5OGMxMzFlMWIxNDM2NWNj
MTQxMzhlNDc3YTdkNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDktMzAgIFJv
YiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBJbWFnZXMgYW5kIGlmcmFtZXMg
d2l0aCBhdHRyaWJ1dGUgbG9hZGluZz1sYXp5IGRvIG5vdCBwcmludCBpZiBub3Qgdmlld2VkIChz
Y3JvbGxlZCB0bykgZmlyc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNDU0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdJUC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YmVnaW5QcmludGluZyk6CisKIDIwMjEtMDkt
MzAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW2ExMXldIENvbm5lY3QgVUkgcHJvY2VzcyBhMTF5IHRyZWUgd2l0aCB0aGUgd2ViIHBy
b2Nlc3Mgd2hlbiBidWlsZGluZyB3aXRoIEFUU1BJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRl
eCAwNTgxMmMzNjE1OTI5YzkwYjY0MWM4MjBjNzkzOTEyYzBjYzA2NjZmLi5hY2M0MzFkMGEyOWQx
NWZmYjViMWViNWYwMzNkNjJkOTMwODMzZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTg5MDEsNiArODkwMSwxMiBAQCBMYXp5TG9hZEltYWdlT2JzZXJ2ZXImIERvY3VtZW50OjpsYXp5
TG9hZEltYWdlT2JzZXJ2ZXIoKQogICAgIHJldHVybiAqbV9sYXp5TG9hZEltYWdlT2JzZXJ2ZXI7
CiB9CiAKK3ZvaWQgRG9jdW1lbnQ6OmxvYWREZWZlcnJlZEltYWdlcygpCit7CisgICAgaWYgKG1f
bGF6eUxvYWRJbWFnZU9ic2VydmVyKQorICAgICAgICBtX2xhenlMb2FkSW1hZ2VPYnNlcnZlci0+
bG9hZERlZmVycmVkSW1hZ2VzKCk7Cit9CisKIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5
JiBEb2N1bWVudDo6Y3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSBjb25zdAogewogICAgIGlmICh0
aGlzICE9ICZ0b3BEb2N1bWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA0NGUwNjAyOWZj
MmFlNzk2NDI0ODg2YmEyMDE1NDkyNzgxNjRhYWQyLi40MmQ5MGY4Y2Y2NzMwMjNhYjZhYjI5ODQx
YzE5MmRmZjc0MGU1N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTYxNiw2ICsxNjE2LDcg
QEAgcHVibGljOgogICAgIGJvb2wgYWxsb3dzQ29udGVudEphdmFTY3JpcHQoKSBjb25zdDsKIAog
ICAgIExhenlMb2FkSW1hZ2VPYnNlcnZlciYgbGF6eUxvYWRJbWFnZU9ic2VydmVyKCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBsb2FkRGVmZXJyZWRJbWFnZXMoKTsKIAogICAgIHZvaWQgc2V0
SGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQoKSB7IG1faGFzVmlzdWFsbHlOb25FbXB0
eUN1c3RvbUNvbnRlbnQgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNWaXN1YWxseU5vbkVtcHR5Q3Vz
dG9tQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNv
bnRlbnQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGF6eUxvYWRJbWFnZU9i
c2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGF6eUxvYWRJbWFnZU9ic2VydmVyLmNw
cAppbmRleCA4MzZkYzgyYWExMzA2MjJkYWQ4NzFjMTA3ODhhOTc5Mjg1ZTUxZmVmLi5jMzM0MDMz
NDM1NjIxN2Q5M2YwZjZkYTA2OGU5MzY2ZmJjZTViYTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0xhenlMb2FkSW1hZ2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9MYXp5TG9hZEltYWdlT2JzZXJ2ZXIuY3BwCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVk
ZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW50
ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5oIgotI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAK
ICNpbmNsdWRlIDxsaW1pdHM+CiAKQEAgLTEwMCw0ICs5OSwxNiBAQCBib29sIExhenlMb2FkSW1h
Z2VPYnNlcnZlcjo6aXNPYnNlcnZlZChFbGVtZW50JiBlbGVtZW50KSBjb25zdAogICAgIHJldHVy
biBtX29ic2VydmVyICYmIG1fb2JzZXJ2ZXItPmlzT2JzZXJ2aW5nKGVsZW1lbnQpOwogfQogCit2
b2lkIExhenlMb2FkSW1hZ2VPYnNlcnZlcjo6bG9hZERlZmVycmVkSW1hZ2VzKCkKK3sKKyAgICBp
ZiAobV9vYnNlcnZlcikgeworICAgICAgICBmb3IgKGF1dG8mIHRhcmdldCA6IG1fb2JzZXJ2ZXIt
Pm9ic2VydmF0aW9uVGFyZ2V0cygpKSB7CisgICAgICAgICAgICBpZiAoaXM8SFRNTEltYWdlRWxl
bWVudD4odGFyZ2V0KSkgeworICAgICAgICAgICAgICAgIGRvd25jYXN0PEhUTUxJbWFnZUVsZW1l
bnQ+KCp0YXJnZXQpLmxvYWREZWZlcnJlZEltYWdlKCk7CisgICAgICAgICAgICAgICAgdGFyZ2V0
LT5kb2N1bWVudCgpLmxhenlMb2FkSW1hZ2VPYnNlcnZlcigpLnVub2JzZXJ2ZSgqdGFyZ2V0LCB0
YXJnZXQtPmRvY3VtZW50KCkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xhenlMb2FkSW1hZ2VPYnNlcnZl
ci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MYXp5TG9hZEltYWdlT2JzZXJ2ZXIuaAppbmRleCA3
YTRmMTMyMzllZjY3OTdlZmJhYmU2OWJjMjE1NDhhYjNmZDk1Y2IyLi5jZjUzNmYzZWQ2OTMwODhl
YjkwODBjMTFjMjE0ZGQ4MjcyYjA2NDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0xhenlMb2FkSW1hZ2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGF6eUxv
YWRJbWFnZU9ic2VydmVyLmgKQEAgLTQwLDYgKzQwLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBp
c09ic2VydmVkKEVsZW1lbnQmKSBjb25zdDsKIAorICAgIHZvaWQgbG9hZERlZmVycmVkSW1hZ2Vz
KCk7CisKIHByaXZhdGU6CiAgICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIqIGludGVyc2VjdGlvbk9i
c2VydmVyKERvY3VtZW50Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKaW5kZXggMjJkMDkyMWU5YjFkZGMzZjJkZjY4OTdmNWM4NzJhOWNiYTVjNTg5
MS4uMjFlZTU1MTBlYWUwNGUyNjliZjVjMmQ5MWM2ZmFjZTI1MDJiYzQ3YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTUzMDQsNiArNTMwNCw5
IEBAIHZvaWQgV2ViUGFnZTo6YmVnaW5QcmludGluZyhGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwg
Y29uc3QgUHJpbnRJbmZvJiBwcmludEluZm8pCiAgICAgICAgIHJldHVybjsKICNlbmRpZgogCisg
ICAgaWYgKGNvcmVGcmFtZS0+ZG9jdW1lbnQoKSkKKyAgICAgICAgY29yZUZyYW1lLT5kb2N1bWVu
dCgpLT5sb2FkRGVmZXJyZWRJbWFnZXMoKTsKKwogICAgIGlmICghbV9wcmludENvbnRleHQpIHsK
ICAgICAgICAgbV9wcmludENvbnRleHQgPSBtYWtlVW5pcXVlPFByaW50Q29udGV4dD4oY29yZUZy
YW1lKTsKICAgICAgICAgbV9wYWdlLT5kaXNwYXRjaEJlZm9yZVByaW50RXZlbnQoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>