| <!DOCTYPE html> <!-- webkit-test-runner [ shouldIgnoreMetaViewport=true ] --> |
| <html> |
| <head> |
| <style> |
| #square { |
| position: absolute; |
| width: 10vw; |
| height: 10vh; |
| border: 2px solid black; |
| } |
| |
| #output { |
| width: 100%; |
| height: 100%; |
| overflow: scroll; |
| } |
| |
| body { |
| margin: 0; |
| width: 100%; |
| height: 100%; |
| } |
| </style> |
| <script src="../../../resources/ui-helper.js"></script> |
| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| async function waitForWidthToBecome(targetWidth) { |
| return new Promise(async resolve => { |
| do { |
| await UIHelper.ensurePresentationUpdate(); |
| } while (innerWidth !== targetWidth) |
| resolve(); |
| }); |
| } |
| |
| addEventListener("load", async function() { |
| const appendOutput = message => { |
| output.appendChild(document.createTextNode(message)); |
| output.appendChild(document.createElement("br")); |
| }; |
| |
| await UIHelper.ensureVisibleContentRectUpdate(); |
| |
| for (let targetMinimumEffectiveWidth of [0, 640, 768, 834, 980, 1024, 1112, 1280, 1336]) { |
| appendOutput(`setMinimumEffectiveWidth(${targetMinimumEffectiveWidth.toFixed(2)})`); |
| await UIHelper.setMinimumEffectiveWidth(targetMinimumEffectiveWidth); |
| await waitForWidthToBecome(Math.max(targetMinimumEffectiveWidth, screen.width)); |
| appendOutput(`window size: [${innerWidth}, ${innerHeight}]`); |
| appendOutput(`square size: [${square.clientWidth}, ${square.clientHeight}]`); |
| appendOutput(`zoom scale: ${(await UIHelper.zoomScale()).toFixed(2)}`); |
| appendOutput(""); |
| } |
| |
| testRunner.notifyDone(); |
| }); |
| </script> |
| </head> |
| |
| <body> |
| <div id="square"></div> |
| <pre id="output"></pre> |
| </body> |
| </html> |