<?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>224500</bug_id>
          
          <creation_ts>2021-04-13 12:20:06 -0700</creation_ts>
          <short_desc>Have HTMLCanvasElement clear its buffer as soon as its script execution context goes away</short_desc>
          <delta_ts>2022-04-11 07:03:03 -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>Canvas</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sam</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>1749785</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-13 12:20:06 -0700</bug_when>
    <thetext>Have HTMLCanvasElement clear its buffer as soon as its script execution context goes away. We used to do this only in the destructor, which would only get called after GC of the JS wrapper, which may delay release of the ImageBuffer and its memory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749789</commentid>
    <comment_count>1</comment_count>
      <attachid>425896</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-13 12:21:55 -0700</bug_when>
    <thetext>Created attachment 425896
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749830</commentid>
    <comment_count>2</comment_count>
      <attachid>425906</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-13 13:10:01 -0700</bug_when>
    <thetext>Created attachment 425906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749900</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-13 15:35:31 -0700</bug_when>
    <thetext>This is web-observable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782301</commentid>
    <comment_count>4</comment_count>
      <attachid>425906</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-08-05 12:05:36 -0700</bug_when>
    <thetext>Comment on attachment 425906
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=425906&amp;action=review

Additional motivation: https://bugs.webkit.org/show_bug.cgi?id=228747

&gt; Source/WebCore/html/HTMLCanvasElement.cpp:1028
&gt; +    setImageBuffer(nullptr);

I&apos;m guessing we&apos;d need to slurp some more code from the destructor to fix the assertions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782316</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-08-05 13:02:07 -0700</bug_when>
    <thetext>Reopening because Sam and Chris and I all think we should try this again when we have lots of bake time :)

(Also, we already do it for WebGL)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860274</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-11 07:03:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/91563038&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425896</attachid>
            <date>2021-04-13 12:21:55 -0700</date>
            <delta_ts>2021-04-13 14:13:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224500-20210413122154.patch</filename>
            <type>text/plain</type>
            <size>2166</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQzODJkZTkzN2FhYmE4
OGVlNTZkNmNiZDJkZGQxM2U0Y2YzYjAzMy4uN2VjNWM3YzQ0MGI4ZjEwMWE3MWM3YTRkODUyN2Zj
M2RkN2Y4OWUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA0LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSGF2ZSBIVE1MQ2FudmFzRWxl
bWVudCBjbGVhciBpdHMgYnVmZmVyIGFzIHNvb24gYXMgaXRzIHNjcmlwdCBleGVjdXRpb24gY29u
dGV4dCBnb2VzIGF3YXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDUwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEhhdmUgSFRNTENhbnZhc0VsZW1lbnQgY2xlYXIgaXRzIGJ1ZmZlciBhcyBzb29uIGFz
IGl0cyBzY3JpcHQgZXhlY3V0aW9uIGNvbnRleHQgZ29lcyBhd2F5LgorICAgICAgICBXZSB1c2Vk
IHRvIGRvIHRoaXMgb25seSBpbiB0aGUgZGVzdHJ1Y3Rvciwgd2hpY2ggd291bGQgb25seSBnZXQg
Y2FsbGVkIGFmdGVyIEdDIG9mIHRoZSBKUworICAgICAgICB3cmFwcGVyLiBUaGlzIHdvdWxkIGRl
bGF5IHJlbGVhc2Ugb2YgdGhlIEltYWdlQnVmZmVyIGFuZCBpdHMgbWVtb3J5IHVubmVjZXNzYXJp
bHkuCisKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpzdG9wKToKKyAgICAgICAgKiBodG1sL0hUTUxDYW52
YXNFbGVtZW50Lmg6CisKIDIwMjEtMDQtMTMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc1ODg5LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRleCA5Y2U5OWYzNmE3Mzc4
MzEzZDg4MmVhYjdhYjVjZGQ1YmQwMTYzNTExLi40NjE3YzRiNjFkY2M0ODcyZGVlYzcxZDNhOTE3
NjlmYTQ2ZjQyMzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNw
cApAQCAtMTAyMyw2ICsxMDIzLDEyIEBAIGJvb2wgSFRNTENhbnZhc0VsZW1lbnQ6OnZpcnR1YWxI
YXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBI
VE1MQ2FudmFzRWxlbWVudDo6c3RvcCgpCit7CisgICAgbV9jb250ZXh0ID0gbnVsbHB0cjsgLy8g
RW5zdXJlIHRoaXMgZ29lcyBhd2F5IGJlZm9yZSB0aGUgSW1hZ2VCdWZmZXIuCisgICAgc2V0SW1h
Z2VCdWZmZXIobnVsbHB0cik7Cit9CisKIHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6OmV2ZW50TGlz
dGVuZXJzRGlkQ2hhbmdlKCkKIHsKICNpZiBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxDYW52YXNFbGVtZW50LmgKaW5kZXggMDQyMzI2OGQ2NTBiOWYwZTVkNTdjNDg3MTBjOGRh
ZmM3MjJjOTQzMy4uZTVjYjA5YTAwNzUxZGVmMWYxODE5ZmQzMjhjNzM0M2EwZTY0YTQ3OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaApAQCAtMTUwLDYgKzE1MCw3IEBA
IHByaXZhdGU6CiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0LgogICAgIGNvbnN0IGNoYXIqIGFjdGl2
ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIHZpcnR1YWxIYXNQZW5kaW5n
QWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHN0b3AoKSBmaW5hbDsKIAogICAgIC8v
IEV2ZW50VGFyZ2V0LgogICAgIHZvaWQgZXZlbnRMaXN0ZW5lcnNEaWRDaGFuZ2UoKSBmaW5hbDsK
</data>
<flag name="commit-queue"
          id="446016"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425906</attachid>
            <date>2021-04-13 13:10:01 -0700</date>
            <delta_ts>2021-04-13 15:57:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224500-20210413131000.patch</filename>
            <type>text/plain</type>
            <size>2091</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQzODJkZTkzN2FhYmE4
OGVlNTZkNmNiZDJkZGQxM2U0Y2YzYjAzMy4uN2VjNWM3YzQ0MGI4ZjEwMWE3MWM3YTRkODUyN2Zj
M2RkN2Y4OWUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA0LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSGF2ZSBIVE1MQ2FudmFzRWxl
bWVudCBjbGVhciBpdHMgYnVmZmVyIGFzIHNvb24gYXMgaXRzIHNjcmlwdCBleGVjdXRpb24gY29u
dGV4dCBnb2VzIGF3YXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDUwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEhhdmUgSFRNTENhbnZhc0VsZW1lbnQgY2xlYXIgaXRzIGJ1ZmZlciBhcyBzb29uIGFz
IGl0cyBzY3JpcHQgZXhlY3V0aW9uIGNvbnRleHQgZ29lcyBhd2F5LgorICAgICAgICBXZSB1c2Vk
IHRvIGRvIHRoaXMgb25seSBpbiB0aGUgZGVzdHJ1Y3Rvciwgd2hpY2ggd291bGQgb25seSBnZXQg
Y2FsbGVkIGFmdGVyIEdDIG9mIHRoZSBKUworICAgICAgICB3cmFwcGVyLiBUaGlzIHdvdWxkIGRl
bGF5IHJlbGVhc2Ugb2YgdGhlIEltYWdlQnVmZmVyIGFuZCBpdHMgbWVtb3J5IHVubmVjZXNzYXJp
bHkuCisKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpzdG9wKToKKyAgICAgICAgKiBodG1sL0hUTUxDYW52
YXNFbGVtZW50Lmg6CisKIDIwMjEtMDQtMTMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc1ODg5LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRleCA5Y2U5OWYzNmE3Mzc4
MzEzZDg4MmVhYjdhYjVjZGQ1YmQwMTYzNTExLi5kY2ViNTgwYTEyMTRiMjRkNmZhZWU5MzNmMWQ4
YzI0N2E1YmNlMmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNw
cApAQCAtMTAyMyw2ICsxMDIzLDExIEBAIGJvb2wgSFRNTENhbnZhc0VsZW1lbnQ6OnZpcnR1YWxI
YXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBI
VE1MQ2FudmFzRWxlbWVudDo6c3RvcCgpCit7CisgICAgc2V0SW1hZ2VCdWZmZXIobnVsbHB0cik7
Cit9CisKIHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6OmV2ZW50TGlzdGVuZXJzRGlkQ2hhbmdlKCkK
IHsKICNpZiBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxDYW52YXNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50
LmgKaW5kZXggMDQyMzI2OGQ2NTBiOWYwZTVkNTdjNDg3MTBjOGRhZmM3MjJjOTQzMy4uZTVjYjA5
YTAwNzUxZGVmMWYxODE5ZmQzMjhjNzM0M2EwZTY0YTQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTENhbnZhc0VsZW1lbnQuaApAQCAtMTUwLDYgKzE1MCw3IEBAIHByaXZhdGU6CiAgICAgLy8g
QWN0aXZlRE9NT2JqZWN0LgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBj
b25zdCBmaW5hbDsKICAgICBib29sIHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBm
aW5hbDsKKyAgICB2b2lkIHN0b3AoKSBmaW5hbDsKIAogICAgIC8vIEV2ZW50VGFyZ2V0LgogICAg
IHZvaWQgZXZlbnRMaXN0ZW5lcnNEaWRDaGFuZ2UoKSBmaW5hbDsK
</data>
<flag name="commit-queue"
          id="446035"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>