Send visual viewport resize event when layout size changes
Bug: 1213418
Change-Id: If06b175adff1aac6dcd5b49b52de7e1ca5adfa01
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2920791
Reviewed-by: David Bokan <bokan@chromium.org>
Commit-Queue: Stefan Zager <szager@chromium.org>
Cr-Commit-Position: refs/heads/master@{#886918}
diff --git a/visual-viewport/viewport-resize-event-on-iframe-size-change.html b/visual-viewport/viewport-resize-event-on-iframe-size-change.html
new file mode 100644
index 0000000..802fee7
--- /dev/null
+++ b/visual-viewport/viewport-resize-event-on-iframe-size-change.html
@@ -0,0 +1,43 @@
+<!doctype html>
+<html>
+ <head>
+ <title>Viewport: Resize Event On Iframe Size Change</title>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, minimum-scale=1">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ async_test(t => {
+ document.addEventListener("DOMContentLoaded", () => {
+ let iframe = document.querySelector("iframe");
+ onload = () => {
+ requestAnimationFrame(() => { requestAnimationFrame(() => {
+ // First full rendering update is complete.
+ let resize_event_count = 0;
+ iframe.contentWindow.visualViewport.addEventListener("resize", () => {
+ resize_event_count++;
+ });
+ iframe.style.width = "200px";
+ iframe.clientWidth;
+ requestAnimationFrame(() => {
+ t.step(() => {
+ assert_equals(resize_event_count, 1);
+ t.done();
+ });
+ }) }); // 2x requestAnimationFrame
+ })
+ };
+ });
+ }, "Resize event fired when an iframe is resized.");
+ </script>
+ </head>
+ <body>
+ <h1>Viewport: Resize Event On Iframe Size Change</h1>
+ <h4>
+ Test Description: This test ensures that we fire a resize event when
+ the size of an iframe changes.
+ </h4>
+ <iframe srcdoc="<p>Hello, world!</p>"></iframe>
+ <div id="log"></div>
+ </body>
+</html>