- From: shwetabin <notifications@github.com>
- Date: Thu, 14 May 2026 09:33:13 -0700
- To: w3c/clipboard-apis <clipboard-apis@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/clipboard-apis/pull/248/review/4291630235@github.com>
@shwetabin commented on this pull request.
> +
+ 1. If |representation|'s [=representation/data=] is not yet resolved, run the following steps [=in parallel=]:
+
+ Note: When a {{ClipboardItem}} is obtained from {{Clipboard/read()}}, its [=representation/data=] is initialized to an unresolved promise so that the OS clipboard read can be deferred to this point.
+
+ 1. If |isCustom| is true, then:
+
+ 1. Let |webCustomFormatMap| be the [=os specific custom map name=].
+
+ 1. Read |webCustomFormatMap| from the [=system clipboard=].
+
+ 1. Let |webCustomFormatMapString| be the JSON string deserialized from |webCustomFormatMap|.
+
+ 1. Let |osFormatName| be the value in |webCustomFormatMapString| whose key matches |mimeType| [=serialize a MIME type|serialized=].
+
+ 1. If |osFormatName| is not found, then [=queue a global task=] on the [=clipboard task source=], given |realm|'s [=realm/global object=], to [=reject=] |p| with a {{"NotFoundError"}} {{DOMException}} in |realm|, then abort these steps.
To clarify, |p| is the promise created by getType() (step 5), not by read(). The return |p| in the stale-data check exits the getType() method entirely, so the React to representationDataPromise steps are never reached in that case.
--
Reply to this email directly or view it on GitHub:
https://github.com/w3c/clipboard-apis/pull/248#discussion_r3242805141
You are receiving this because you are subscribed to this thread.
Message ID: <w3c/clipboard-apis/pull/248/review/4291630235@github.com>
Received on Thursday, 14 May 2026 16:33:17 UTC