blob: 4c9ae56d60573080ffdffa1c5e28629d5592d93e [file] [log] [blame]
<html>
<head>
<script src="../../resources/js-test.js"></script>
<style>
@font-face {
font-family: TestFont;
src: local(Arial);
}
@font-face {
font-family: Ahem;
src: url(../../resources/Ahem.ttf);
}
#test {
font-family: TestFont;
}
#arial {
font-family: Arial;
}
#ahem {
font-family: Ahem;
}
</style>
<script>
description('Tests that adding/removing a FontFace to/from FontFaceSet trigger font update.');
window.jsTestIsAsync = true;
function runTest() {
ahemFace = new FontFace('TestFont', 'url(../../resources/Ahem.ttf)', {});
ahemFace.load().then(verify);
}
function verify() {
testElement = document.getElementById('test');
arialElement = document.getElementById('arial');
ahemElement = document.getElementById('ahem');
shouldBe('testElement.offsetWidth', 'arialElement.offsetWidth');
addResult = document.fonts.add(ahemFace);
shouldBeTrue('addResult === document.fonts');
shouldBe('testElement.offsetWidth', 'ahemElement.offsetWidth');
document.fonts.delete(ahemFace);
shouldBe('testElement.offsetWidth', 'arialElement.offsetWidth');
document.fonts.add(ahemFace);
shouldBe('testElement.offsetWidth', 'ahemElement.offsetWidth');
document.fonts.clear();
shouldBe('testElement.offsetWidth', 'arialElement.offsetWidth');
finishJSTest();
}
</script>
</head>
<body onload="runTest()">
<br><span id="test">abcdefg</span>
<br><span id="arial">abcdefg</span>
<br><span id="ahem">abcdefg</span>
</body>
</html>