test_font_face_cascade.html (1105B)
1 <!DOCTYPE HTML> 2 <title>Test that @font-face rules from different origins cascade correctly</title> 3 <script src="/tests/SimpleTest/SimpleTest.js"></script> 4 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"> 5 <script> 6 let io = SpecialPowers.Cc["@mozilla.org/network/io-service;1"] 7 .getService(SpecialPowers.Ci.nsIIOService); 8 9 let utils = SpecialPowers.getDOMWindowUtils(window); 10 11 function load_sheet(sheet_text, level) { 12 if (level != "AGENT_SHEET" && level != "USER_SHEET" && level != "AUTHOR_SHEET") { 13 throw "unknown level"; 14 } 15 16 let uri = io.newURI("data:text/css," + encodeURI(sheet_text)); 17 utils.loadSheet(uri, utils[level]); 18 } 19 20 load_sheet( 21 "@font-face { font-family: TestAgent; src: url(about:invalid); }", 22 "AGENT_SHEET"); 23 24 load_sheet( 25 "@font-face { font-family: TestAuthor; src: url(about:invalid); }", 26 "AUTHOR_SHEET"); 27 28 load_sheet( 29 "@font-face { font-family: TestUser; src: url(about:invalid); }", 30 "USER_SHEET"); 31 32 is([...document.fonts].map(f => f.family).join(" "), 33 'TestAuthor', 34 "document.fonts only contains author @font-face rules"); 35 </script>