Upstream version 11.40.277.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / fast / css / fontfaceset-add-remove-while-loading.html
1 <html>
2 <head>
3 <script src="../../resources/js-test.js"></script>
4 <script>
5 description('Tests that FontFaceSet is correctly updated when added or removed a FontFace while loading.');
6
7 window.jsTestIsAsync = true;
8
9 function testStep1() {
10     face1 = new FontFace('face1', 'url(../../resources/Ahem.ttf)', {});
11     shouldBeEqualToString('face1.status', 'unloaded');
12
13     face1.load();
14     shouldBeEqualToString('face1.status', 'loading');
15     shouldBeEqualToString('document.fonts.status', 'loaded');
16
17     document.fonts.add(face1);
18     shouldBeEqualToString('document.fonts.status', 'loading');
19     document.fonts.ready().then(testStep2);
20 }
21
22 function testStep2() {
23     shouldBeEqualToString('face1.status', 'loaded');
24     shouldBeEqualToString('document.fonts.status', 'loaded');
25
26     face2 = new FontFace('face2', 'url(../../resources/Ahem.ttf)', {});
27     shouldBeEqualToString('face2.status', 'unloaded');
28
29     document.fonts.add(face2);
30     face2.load().then(testStep3);
31     shouldBeEqualToString('document.fonts.status', 'loading');
32
33     document.fonts.delete(face2);
34     shouldBeEqualToString('document.fonts.status', 'loaded');
35     shouldBeEqualToString('face2.status', 'loading');
36 }
37
38 function testStep3() {
39     shouldBeEqualToString('face2.status', 'loaded');
40     shouldBeEqualToString('document.fonts.status', 'loaded');
41
42     face3 = new FontFace('face3', 'url(../../resources/Ahem.ttf)', {});
43     shouldBeEqualToString('face3.status', 'unloaded');
44
45     document.fonts.add(face3);
46     face3.load();
47     shouldBeEqualToString('document.fonts.status', 'loading');
48
49     document.fonts.clear();
50     shouldBeEqualToString('document.fonts.status', 'loaded');
51     shouldBeEqualToString('face3.status', 'loading');
52
53     finishJSTest();
54 }
55
56 if (document.fonts)
57     testStep1();
58 else
59     testFailed('document.fonts does not exist');
60
61 </script>
62 </head>
63 <body>
64 </body>
65 </html>