Skip view-transition that require snapshot larger than max texture size

When doing view-transitions within a very large iframe the requested
snapshot can be bigger than the max texture size. This case triggered
a check. Turn the check into a graceful failure instead by just
skipping the view-transition.

Bug: 1516874
Change-Id: I6f32eb533e661dc630479919e7cb643c44c8beb4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5185534
Commit-Queue: Khushal Sagar <khushalsagar@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1250219}
diff --git a/css/css-view-transitions/no-crash-view-transition-in-massive-iframe.html b/css/css-view-transitions/no-crash-view-transition-in-massive-iframe.html
new file mode 100644
index 0000000..c004a94
--- /dev/null
+++ b/css/css-view-transitions/no-crash-view-transition-in-massive-iframe.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<title>View transitions: no crash with view-transitions in massive iframe</title>
+<link rel="help" href="https://github.com/WICG/view-transitions">
+<link rel="author" href="mailto:roger.johannesson@xperi.com">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<style>
+iframe { width: 40000px; height: 40000px }
+</style>
+
+<iframe></iframe>
+
+<script>
+promise_test(async t => {
+  const iframeDoc = document.getElementsByTagName("iframe")[0].contentDocument;
+  assert_implements(iframeDoc.startViewTransition, "Missing document.startViewTransition in iframe");
+  const transition = iframeDoc.startViewTransition();
+  try { await transition.ready; } catch {}
+}, "startViewTransition in massive iframe shouldn't crash.");
+</script>