<?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>262872</bug_id>
          
          <creation_ts>2023-10-08 23:33:59 -0700</creation_ts>
          <short_desc>[NativePromise] Shouldn&apos;t require to copy the resolved value when the promise isn&apos;t exclusive</short_desc>
          <delta_ts>2023-10-11 23:22:43 -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>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>262989</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jean-Yves Avenard [:jya]">jean-yves.avenard</reporter>
          <assigned_to name="Jean-Yves Avenard [:jya]">jean-yves.avenard</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1983613</commentid>
    <comment_count>0</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2023-10-08 23:33:59 -0700</bug_when>
    <thetext>Right now, when chaining promises that aren&apos;t exclusive, it requires to copy the resolve/reject value from one promise to the other as the promise itself owns the data that will be passed around.

This prevents being able to chain promises for objects that do not have a copy constructor (like unique_ptr).

Instead, we could either have the chained promise keeps a reference to the original promise, or store the data in a refcounted container and share that across instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1983614</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-10-08 23:34:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/116664254&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1983678</commentid>
    <comment_count>2</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2023-10-09 07:47:45 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/18840</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984534</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-10-11 23:22:41 -0700</bug_when>
    <thetext>Committed 269241@main (c1b873c21745): &lt;https://commits.webkit.org/269241@main&gt;

Reviewed commits have been landed. Closing PR #18840 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>