blob: 7de805fe5635dbf33c6331b86424a55918644776 [file] [log] [blame]
<script src='../../resources/testharness.js'></script>
<script src='../../resources/testharnessreport.js'></script>
<style>
@font-face {
font-family: TestFont;
src: local(Arial), local(Arimo Regular);
}
@font-face {
font-family: Ahem;
src: url(../../resources/Ahem.ttf);
}
#test {
font-family: TestFont;
}
#arial {
font-family: Arial;
}
#ahem {
font-family: Ahem;
}
</style>
<script>
promise_test(() => {
let ahemFace = new FontFace('TestFont', 'url(../../resources/Ahem.ttf)', {});
assert_equals(ahemFace.status, 'unloaded');
ahemLoadPromise = ahemFace.load()
localLoadPromise = document.fonts.ready;
return Promise.all([ahemLoadPromise, localLoadPromise]).then(() => {
let testElement = document.getElementById('test');
let arialElement = document.getElementById('arial');
let ahemElement = document.getElementById('ahem');
assert_equals(testElement.offsetWidth, arialElement.offsetWidth);
addResult = document.fonts.add(ahemFace);
assert_equals(addResult, document.fonts);
assert_equals(testElement.offsetWidth, ahemElement.offsetWidth);
document.fonts.delete(ahemFace);
assert_equals(testElement.offsetWidth, arialElement.offsetWidth);
document.fonts.add(ahemFace);
assert_equals(testElement.offsetWidth, ahemElement.offsetWidth);
document.fonts.clear();
assert_equals(testElement.offsetWidth, arialElement.offsetWidth);
});
}, 'Tests that adding/removing a FontFace to/from a FontFaceSet triggers a ' +
'font update');
</script>
<br><span id="test">abcdefg</span>
<br><span id="arial">abcdefg</span>
<br><span id="ahem">abcdefg</span>