Async Clipboard: Use kUserInteraction TaskRunner

Use a kUserInteraction is a more specific and appropriate TaskType than the
current kMiscPlatformAPI. DataTransfer uses kUserInteraction, and many
Async Clipboard API calls may require user interaction.

Bug: 941835
Change-Id: Ib5ffcd27c36e41228ffd41f421066f41a6278bd2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1529745
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Gary Kacmarcik <garykac@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#641990}
diff --git a/third_party/blink/renderer/modules/clipboard/clipboard_promise.cc b/third_party/blink/renderer/modules/clipboard/clipboard_promise.cc
index b99b656f..3fc4e3d 100644
--- a/third_party/blink/renderer/modules/clipboard/clipboard_promise.cc
+++ b/third_party/blink/renderer/modules/clipboard/clipboard_promise.cc
@@ -122,9 +122,9 @@
 
 scoped_refptr<base::SingleThreadTaskRunner> ClipboardPromise::GetTaskRunner() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(async_clipboard_sequence_checker);
-  // TODO(https://crbug.com/941835): Replace MiscPlatformAPI with TaskType
-  // specific to clipboard.
-  return GetExecutionContext()->GetTaskRunner(TaskType::kMiscPlatformAPI);
+  // Get the User Interaction task runner, as Async Clipboard API calls require
+  // user interaction, as specified in https://w3c.github.io/clipboard-apis/
+  return GetExecutionContext()->GetTaskRunner(TaskType::kUserInteraction);
 }
 
 PermissionService* ClipboardPromise::GetPermissionService() {