| <!DOCTYPE html> <!-- webkit-test-runner [ ShouldIgnoreMetaViewport=true useFlexibleViewport=true ] --> |
| <html> |
| <head> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <script src="../../../../resources/ui-helper.js"></script> |
| <script src="../../../../resources/js-test.js"></script> |
| <style> |
| body, html { |
| width: 100%; |
| height: 100%; |
| margin: 0; |
| padding: 0; |
| } |
| |
| .bar { |
| width: 0; |
| height: 100px; |
| background: linear-gradient(to right, red 0%, green 50%, blue 100%); |
| } |
| </style> |
| </head> |
| <body> |
| <div class="bar"></div> |
| <p id="description"></p> |
| <p id="console"></p> |
| <script> |
| jsTestIsAsync = true; |
| bar = document.querySelector(".bar"); |
| bar.style.width = `${innerWidth}px`; |
| |
| addEventListener("resize", () => bar.style.width = `${innerWidth}px`); |
| addEventListener("load", async () => { |
| description("This test verifies that rotating to landscape and back with shouldIgnoreMetaViewport enabled does not cause the initial scale to deviate from its original value. To test manually, load the test page on an appropriately configured device and rotate to landscape and back. The initial scale after rotation should be the same as it was prior to rotation."); |
| |
| debug("\nBefore rotation"); |
| shouldBe("visualViewport.scale", "1"); |
| |
| await UIHelper.rotateDevice("landscape-right", true); |
| await UIHelper.ensurePresentationUpdate(); |
| debug("\nAfter the first rotation"); |
| shouldBe("visualViewport.scale", "1"); |
| |
| await UIHelper.rotateDevice("portrait", true); |
| await UIHelper.ensurePresentationUpdate(); |
| debug("\nAfter the second rotation"); |
| shouldBe("visualViewport.scale", "1"); |
| |
| finishJSTest(); |
| }); |
| </script> |
| </body> |
| </html> |