<?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>286707</bug_id>
          
          <creation_ts>2025-01-29 14:38:43 -0800</creation_ts>
          <short_desc>OffscreenCanvas with WebGL goes blank</short_desc>
          <delta_ts>2026-03-12 13:09: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>WebGL</component>
          <version>Safari 18</version>
          <rep_platform>Mac (Apple Silicon)</rep_platform>
          <op_sys>macOS 15</op_sys>
          <bug_status>NEW</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>
          
          <blocked>267291</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>mrolig+webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>djg</cc>
    
    <cc>hunter</cc>
    
    <cc>karlcow</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>mandrei.dinu</cc>
    
    <cc>mattwoodrow</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2090553</commentid>
    <comment_count>0</comment_count>
      <attachid>474064</attachid>
    <who name="">mrolig+webkit</who>
    <bug_when>2025-01-29 14:38:43 -0800</bug_when>
    <thetext>Created attachment 474064
Test harness to demonstrate the issue

When displaying a canvas that has been transferred to an offscreen canvas, the offscreen canvas may go blank, especially when switching to other windows, but even while the Safari window appears in the background.

This can be reproduced with the attached offsceen_safari_blanking.html test harness.

When viewing this page, after putting the Safari page in the background and doing other tasks on my Mac, the offscreen canvases will go blank. The normal &quot;on screen&quot; canvases will continue to show their content. Only after clicking &quot;redraw&quot; to cause the canvases to be updated, will they reappear.

It seems that one workaround it to use the bitmaprenderer context in an on screen canvas to retain the image. However, this is less desirable as it may introduce additional latency or jank in the display of the newly drawn frame depending on the business of the main thread, and may have additional performance implications for memory use and buffer copies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2090574</commentid>
    <comment_count>1</comment_count>
    <who name="">mrolig+webkit</who>
    <bug_when>2025-01-29 15:45:38 -0800</bug_when>
    <thetext>It&apos;s also possible that it repro&apos;s more easily when under memory pressure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2092281</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-02-05 14:40:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/144262555&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>474064</attachid>
            <date>2025-01-29 14:38:43 -0800</date>
            <delta_ts>2025-01-29 14:38:43 -0800</delta_ts>
            <desc>Test harness to demonstrate the issue</desc>
            <filename>offscreen_safari_blanking.html</filename>
            <type>text/html</type>
            <size>2918</size>
            <attacher>mrolig+webkit</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KPHRpdGxlPkRlbW8gb2Zmc2Ny
ZWVuIGNhbnZhcyBnb2luZyBibGFuazwvdGl0bGU+CjxzY3JpcHQ+CmFkZEV2ZW50TGlzdGVuZXIo
IkRPTUNvbnRlbnRMb2FkZWQiLCAoZXZlbnQpID0+IHsKICBjb25zdCBvZmZzY3JlZW5DYW52YXMg
PSBjYW52YXNUb1RyYW5zZmVyLnRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVuKCk7CiAgY29uc3Qg
b2Zmc2NyZWVuUHJlc2VydmVEcmF3aW5nQnVmZmVyQ2FudmFzID0gcHJlc2VydmVEcmF3aW5nQnVm
ZmVyQ2FudmFzLnRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVuKCk7CiAgbGV0IGV4dHJhRGl2ID0g
d2luZG93LmV4dHJhRGl2OwogIGNvbnN0IGdsID0gV2ViR0wyUmVuZGVyaW5nQ29udGV4dDsKICBs
ZXQgZ2xDb250ZXh0ID0gb2Zmc2NyZWVuQ2FudmFzLmdldENvbnRleHQoJ3dlYmdsMicpOwogIGxl
dCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXJDb250ZXh0ID0gb2Zmc2NyZWVuUHJlc2VydmVEcmF3aW5n
QnVmZmVyQ2FudmFzLmdldENvbnRleHQoJ3dlYmdsMicsIHtwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6
IHRydWV9KTsKICBsZXQgb25zY3JlZW5Db250ZXh0ID0gb25zY3JlZW5DYW52YXMuZ2V0Q29udGV4
dCgnd2ViZ2wyJyk7CiAgY29uc3QgYml0bWFwRGlzcGxheUNvbnRleHQgPSBiaXRtYXBEaXNwbGF5
Q2FudmFzLmdldENvbnRleHQoJ2JpdG1hcHJlbmRlcmVyJyk7CiAgY29uc3QgYml0bWFwT2Zmc2Ny
ZWVuQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcyhiaXRtYXBEaXNwbGF5Q2FudmFzLndpZHRo
LCBjYW52YXNUb1RyYW5zZmVyLmhlaWdodCk7CiAgY29uc3QgYml0bWFwQ29udGV4dCA9IGJpdG1h
cE9mZnNjcmVlbkNhbnZhcy5nZXRDb250ZXh0KCd3ZWJnbDInKTsKICBsZXQgZHJhd0NvdW50ID0g
MTsKICBmdW5jdGlvbiByZWRyYXcoZ2xDb250ZXh0KSB7CiAgIHN3aXRjaCAoZHJhd0NvdW50ICUg
MykgewogICAgIGNhc2UgMDoKICAgICAgIGNvbnNvbGUubG9nKCdSZWRyYXcgUmVkJyk7CiAgICAg
ICBnbENvbnRleHQuY2xlYXJDb2xvcigxLCAwLCAwLCAxKTsKICAgICAgIGJyZWFrOwogICAgIGNh
c2UgMToKICAgICAgIGNvbnNvbGUubG9nKCdSZWRyYXcgR3JlZW4nKTsKICAgICAgIGdsQ29udGV4
dC5jbGVhckNvbG9yKDAsIDEsIDAsIDEpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSAyOgogICAg
ICAgY29uc29sZS5sb2coJ1JlZHJhdyBCbHVlJyk7CiAgICAgICBnbENvbnRleHQuY2xlYXJDb2xv
cigwLCAwLCAxLCAxKTsKICAgICAgIGJyZWFrOwogICB9CiAgIGdsQ29udGV4dC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CiAgfQogIHJlZHJhd0J1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIChlKSA9PiB7CiAgICBkcmF3Q291bnQrKzsKICAg
IHJlZHJhdyhvbnNjcmVlbkNvbnRleHQpOwogICAgcmVkcmF3KHByZXNlcnZlRHJhd2luZ0J1ZmZl
ckNvbnRleHQpOwogICAgcmVkcmF3KGdsQ29udGV4dCk7CiAgICByZWRyYXcoYml0bWFwQ29udGV4
dCk7CiAgICBiaXRtYXBEaXNwbGF5Q29udGV4dC50cmFuc2ZlckZyb21JbWFnZUJpdG1hcChiaXRt
YXBPZmZzY3JlZW5DYW52YXMudHJhbnNmZXJUb0ltYWdlQml0bWFwKCkpOwogIH0pOwogIHJlZHJh
d0J1dHRvbi5jbGljaygpOwp9KTsKPC9zY3JpcHQ+CjxzdHlsZT4KLnJvb3QgewogIHdpZHRoOiAz
MDBweDsKICBoZWlnaHQ6IDQwMHB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IGFi
c29sdXRlOwogIHotaW5kZXg6IDA7CiAgYmFja2dyb3VuZDoKICAgIHJlcGVhdGluZy1jb25pYy1n
cmFkaWVudCgKICAgICAgICB3aGl0ZSAwIDkwZGVnLAogICAgICAgIGdyYXkgMCAxODBkZWcpCiAg
ICAwIDAvNSUgNSU7Cn0KLnJvb3Qgc3BhbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7Cn0K
PC9zdHlsZT4KCjxib2R5PgogIDxwPgogIE1vdmluZyBmb2N1cyBhd2F5IGZyb20gU2FmYXJpLCBv
ciBsZWF2aW5nIFNhZmFyaSBpZGxlIGNhdXNlcyB0aGUgT2Zmc2NyZWVuIGNhbnZhcyB0byBnbyBi
bGFuay4KCiAgVGhlIG5vcm1hbCAib24gc2NyZWVuIiBjYW52YXMgYXZvaWRzIHRoaXMgaXNzdWUs
IGluY2x1ZGluZyB3aGVuIGRpc3BsYXlpbmcgYSB0cmFuc2ZlcmVkIGJpdG1hcCBmcm9tIGFuIG9m
ZnNjcmVlbiBjYW52YXMuCiAgPC9wPgogIDxwPlJlZHJhdyBidXR0b24gcmVkcmF3cyB0aGUgY2Fu
dmFzLCByb3RhdGluZyB0aHJvdWdoIEJsdWUsIFJlZCwgYW5kIEdyZWVuLCB0aGlzIHNob3dzIHRo
YXQgYSByZWRyYXcgaXMgbmVjZXNzYXJ5IHRvIHJlY292ZXIgdGhlIGNhbnZhcyBjb250ZW50cy48
L3A+CiAgPGRpdj4KICAgIDxidXR0b24gaWQ9InJlZHJhd0J1dHRvbiI+UmVkcmF3PC9idXR0b24+
CiAgPC9kaXY+CiAgPGRpdiBpZD0icm9vdERpdiIgY2xhc3M9InJvb3QiPgogICAgPGRpdj48c3Bh
bj5PZmZzY3JlZW48L3NwYW4+PC9kaXY+CiAgICA8Y2FudmFzIGlkPSJjYW52YXNUb1RyYW5zZmVy
IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjY0Ij48L2NhbnZhcz4KICAgIDxkaXY+PHNwYW4+T2Zmc2Ny
ZWVuIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjwvc3Bhbj48L2Rpdj4KICAgIDxjYW52YXMgaWQ9InBy
ZXNlcnZlRHJhd2luZ0J1ZmZlckNhbnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSI2NCI+PC9jYW52
YXM+CiAgICA8ZGl2PjxzcGFuPmJpdG1hcHJlbmRlcmVyPC9zcGFuPjwvZGl2PgogICAgPGNhbnZh
cyBpZD0iYml0bWFwRGlzcGxheUNhbnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSI2NCI+PC9jYW52
YXM+CiAgICA8ZGl2PjxzcGFuPk9uIHNjcmVlbjwvc3Bhbj48L2Rpdj4KICAgIDxjYW52YXMgaWQ9
Im9uc2NyZWVuQ2FudmFzIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjY0Ij48L2NhbnZhcz4KICA8L2Rp
dj4KPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>