summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/css/fontfaceset-add-remove.html
blob: 4c9ae56d60573080ffdffa1c5e28629d5592d93e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<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>