blob: 74030a7b46224967ef457d40590aec6d300a478c [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script>
if (window.internals) {
internals.settings.setTextAutosizingEnabled(true);
internals.settings.setTextAutosizingWindowSizeOverride(320, 480);
}
</script>
<script src="../../../resources/js-test-pre.js"></script>
<style>
#testDivAdjust {
-webkit-text-size-adjust: 150%;
font-size: 20px;
}
#testDivNoAdjust {
font-size: 20px;
}
</style>
</head>
<boby>
<div id="testDivNoAdjust">Test</div>
<div id="testDivAdjust">Test</div>
<script>
description("Test the 'line-height' property interaction with '-webkit-text-size-adjust'.");
debug("Case without text size adjust.");
var testDivNoAdjust = document.getElementById("testDivNoAdjust");
shouldBeEqualToString("window.getComputedStyle(testDivNoAdjust).getPropertyValue('line-height')", "normal");
shouldBeEqualToString("window.getComputedStyle(testDivNoAdjust).getPropertyValue('font-size')", "20px");
evalAndLog("testDivNoAdjust.style['line-height'] = '1.6'");
// font-size * line-height == 20px * 1.6 == 32px
shouldBeEqualToString("window.getComputedStyle(testDivNoAdjust).getPropertyValue('line-height')", "32px");
evalAndLog("testDivNoAdjust.style['line-height'] = '80%'");
// font-size * line-height == 20px * 80% == 16px
shouldBeEqualToString("window.getComputedStyle(testDivNoAdjust).getPropertyValue('line-height')", "16px");
evalAndLog("testDivNoAdjust.style['line-height'] = '12px'");
shouldBeEqualToString("window.getComputedStyle(testDivNoAdjust).getPropertyValue('line-height')", "12px");
debug("Case with text size adjust.");
var testDivAdjust = document.getElementById("testDivAdjust");
if (window.getComputedStyle(testDivAdjust).getPropertyValue('-webkit-text-size-adjust') === "") {
debug("Platform does not support -webkit-text-size-adjust");
} else {
debug("Platform supports -webkit-text-size-adjust");
shouldBeEqualToString("window.getComputedStyle(testDivAdjust).getPropertyValue('line-height')", "normal");
// font-size * -webkit-text-size-adjust == 20px * 150% == 30px
shouldBeEqualToString("window.getComputedStyle(testDivAdjust).getPropertyValue('font-size')", "30px");
evalAndLog("testDivAdjust.style['line-height'] = '1.6'");
// font-size * line-height == 30px * 1.6 == 48px
shouldBeEqualToString("window.getComputedStyle(testDivAdjust).getPropertyValue('line-height')", "48px");
evalAndLog("testDivAdjust.style['line-height'] = '80%'");
// font-size * line-height == 30px * 80% == 24px
shouldBeEqualToString("window.getComputedStyle(testDivAdjust).getPropertyValue('line-height')", "24px");
evalAndLog("testDivAdjust.style['line-height'] = '12px'");
// line-height * -webkit-text-size-adjust == 12px * 150% == 18px
shouldBeEqualToString("window.getComputedStyle(testDivAdjust).getPropertyValue('line-height')", "18px");
}
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>