WebTransport: Remove Controller()->NoteHasBeenCanceled()

Remove an unnecessary call to Controller()->NoteHasBeenCanceled() in the
Cancel() method of WebTransport::DatagramUnderlyingSource. It has
already been called in UnderlyingSourceBase::cancelWrapper() so the call
was redundant.

BUG=1292387,1292463

Change-Id: Ie30f983e257bff3606f13268cabf8fde83d4543d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3428509
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/main@{#966047}
diff --git a/webtransport/datagram-cancel-crash.https.window.js b/webtransport/datagram-cancel-crash.https.window.js
new file mode 100644
index 0000000..fae613e
--- /dev/null
+++ b/webtransport/datagram-cancel-crash.https.window.js
@@ -0,0 +1,12 @@
+// This test reproduces Chromium issue https://crbug.com/1292387. If it doesn't
+// crash then the test passed.
+
+test(() => {
+  const iframeTag = document.createElement('iframe');
+  document.body.appendChild(iframeTag);
+  const wt = new iframeTag.contentWindow.WebTransport('https://example.com/');
+  iframeTag.remove();
+  const datagrams = wt.datagrams;
+  const reader = datagrams.readable;
+  reader.cancel();
+}, 'call cancel() on stream in destroyed realm');