<?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>262437</bug_id>
          
          <creation_ts>2023-09-30 00:34:21 -0700</creation_ts>
          <short_desc>NativePromise should provide a safe way to pass some argument types</short_desc>
          <delta_ts>2023-10-04 16:21:07 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=262660</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 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>1981537</commentid>
    <comment_count>0</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2023-09-30 00:34:21 -0700</bug_when>
    <thetext>Currently, it&apos;s up to the NativePromise producer and callback to deal with object that can only ever exists on a single thread at the same time (like WTFString or Exception).

Ideally, the NativePromise could automatically deal with those objects and call isolatedCopy() or crossThreadyCopy() automatically.

One way would be to wrap all results in a `ParameterStorage` class that would automatically have a store and load method that deal with the required calls as needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1981538</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-09-30 00:34:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/116274506&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1981603</commentid>
    <comment_count>2</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2023-10-01 02:15:46 -0700</bug_when>
    <thetext>Actually, there&apos;s already `crossThreadCopy()` utility that stores data in a CrossThreadCopier class.

we will use that (will need additional specialisation)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1981696</commentid>
    <comment_count>3</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2023-10-01 22:52:38 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/18484</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1982640</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-10-04 16:21:06 -0700</bug_when>
    <thetext>Committed 268880@main (0345168e97b5): &lt;https://commits.webkit.org/268880@main&gt;

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

    </bug>

</bugzilla>