| <!DOCTYPE html><!-- webkit-test-runner [ useFlexibleViewport=true ] --> |
| <html> |
| <head> |
| <meta name="viewport" content="initial-scale=0.6666"> |
| <script> |
| if (window.internals) { |
| window.internals.settings.setTextAutosizingEnabled(true); |
| window.internals.settings.setTextAutosizingUsesIdempotentMode(true); |
| } |
| </script> |
| <script src="../../../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <div style="background: green;"><span id="target1" style="font-size: 12px;">Test</span></div> |
| <div style="background: green; overflow: auto;"><span id="target2" style="float: right; font-size: 12px;">Test</span></div> |
| <div style="background: green;"><span id="target3" style="display: inline-block; font-size: 12px; width: 20px;">Test</span></div> |
| <div style="background: green;"><span style="display: inline-block; height: 12px; font-size: 12px;"><span id="target4">Test</span></span></div> |
| <div style="background: green;"><span id="target5" style="position: absolute; left: 0px; top: 0px; font-size: 12px;">Test</span></div> |
| <div style="background: green;"><span id="target6" style="display: none; font-size: 12px;">Test</span></div> |
| <div style="background: green;"><span id="comparison" style="font-size: 12px;">Test<span>Test<span>Test<span id="target7">Test</span></span></span></span></div> |
| <div style="background: green;"><span id="target8" style="font-size: 12px; -webkit-text-size-adjust: 100%">Test</span></div> |
| <div style="background: green;"><span id="target9" style="font-size: 12px; display: inline-block;">Test</span></div> |
| <div style="background: green;"><span id="target10" style="font-size: 12px; width: 20px; height: 12px;">Test</span></div> |
| <div style="background: green;"><span id="target11" style="font-size: 12px; height: 20px; position: fixed; white-space: nowrap;">Test</span></div> |
| <div style="background: green;"><span id="target12" style="font-size: 12px; height: 20px; position: fixed; float: right;">Test</span></div> |
| <div style="background: green;"><span id="target13" style="font-size: 12px; height: 20px; position: fixed; float: right; overflow-x: hidden; width: 100px;">Test</span></div> |
| <div style="background: green;"><span id="target14" style="font-size: 12px; height: 20px; width: 100px; float: right;">Test</span></div> |
| <div style="background: green;"><span id="target15" style="font-size: 12px; overflow-y: hidden; float: right;">Test</span></div> |
| <div style="background: green;"><span id="target16" style="font-size: 12px; float: right;">Test</span></div> |
| <div style="background: green;"><span id="target17" style="font-size: 12px; -webkit-text-size-adjust: 100%;">Test</span></div> |
| <div style="background: green; line-height: 1.25; max-height: 45px; font-size: 12px;"> |
| <span>Test</span> |
| <br> |
| <span id="target18">Test</span> |
| <br> |
| <span>Test</span> |
| </div> |
| <div style="background: green; line-height: 20px; max-height: 20px; font-size: 12px;" id="target19">Test</div> |
| <script> |
| let result; |
| function check(name, shouldGetAutosized) { |
| let target = document.getElementById(name); |
| target.offsetWidth; |
| result = Number.parseInt(window.getComputedStyle(target).getPropertyValue("font-size")); |
| debug(`Checking ${name}:`); |
| if (shouldGetAutosized) |
| shouldBeGreaterThanOrEqual("result", "13"); |
| else |
| shouldBe("result", "12"); |
| } |
| check("target1", true); |
| check("target2", true); |
| check("target3", false); |
| check("target4", true); |
| check("target5", true); |
| check("target6", false); |
| |
| debug(`Checking target7:`); |
| let target = document.getElementById("target7"); |
| target.offsetWidth; |
| let comparison = document.getElementById("comparison"); |
| comparison.offsetWidth; |
| result = Number.parseInt(window.getComputedStyle(target).getPropertyValue("font-size")); |
| let result2 = Number.parseInt(window.getComputedStyle(comparison).getPropertyValue("font-size")); |
| shouldBeGreaterThanOrEqual("result", "result2"); |
| |
| check("target8", false); |
| check("target9", true); |
| check("target10", true); |
| |
| // Below are some common scenarios where we prefer (or prefer to not) adjust text size. These examples are inspired by |
| // common patterns in real webpages. |
| check("target11", true); |
| check("target12", true); |
| check("target13", false); |
| check("target14", false); |
| check("target15", true); |
| check("target16", true); |
| check("target17", false); |
| check("target18", false); |
| check("target19", true); |
| </script> |
| <script src="../../../../resources/js-test-post.js"></script> |
| </body> |
| </html> |