tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

dynamic-duplicate-rule-1c.html (1945B)


      1 <!DOCTYPE HTML>
      2 <html class="reftest-wait">
      3 <head>
      4 <meta charset="utf-8">
      5 
      6 <!-- Testcase for bug 879963 regression.
      7 
      8     This test is designed to hit the case where we were adding the same
      9     proxy font entry to a family multiple times during user font set updates.
     10 
     11     Note that if a platform doesn't have any of the local() fonts listed,
     12     the testcase will "pass" harmlessly as a no-op. -->
     13 
     14 <style type="text/css" id="style1">
     15 @font-face {
     16  font-family: foo;
     17  src: local("Arial"),
     18       local("DejaVu Sans"),
     19       local("Free Sans"),
     20       local("Open Sans"),
     21       local("Droid Sans"),
     22       local("Roboto");
     23 }
     24 </style>
     25 
     26 <style type="text/css" id="style2">
     27 @font-face {
     28  font-family: foo;
     29  src: local("Arial"),
     30       local("DejaVu Sans"),
     31       local("Free Sans"),
     32       local("Open Sans"),
     33       local("Droid Sans"),
     34       local("Roboto");
     35 }
     36 </style>
     37 
     38 <style type="text/css" id="style3">
     39 @font-face {
     40  font-family: foo;
     41  src: local("Arial"),
     42       local("DejaVu Sans"),
     43       local("Free Sans"),
     44       local("Open Sans"),
     45       local("Droid Sans"),
     46       local("Roboto");
     47 }
     48 </style>
     49 
     50 <style type="text/css">
     51 body {
     52  font-family: serif;
     53 }
     54 .test {
     55  font-family: foo;
     56 }
     57 </style>
     58 
     59 <script type="application/javascript">
     60 function run() {
     61  // Disable one of our three identical style elements.
     62  // This will trigger an update of the user font set,
     63  // and there will still be two identical rules present.
     64  document.getElementById("style3").disabled = true;
     65 
     66  // Now we trigger the use of the 'foo' font family,
     67  // so that font loading occurs.
     68  // If there are duplicate proxy entries in the family,
     69  // and only the first one gets replaced by the real face,
     70  // blank text will result.
     71  document.getElementById("test").className = "test";
     72 
     73  document.documentElement.removeAttribute("class");
     74 }
     75 </script>
     76 
     77 </head>
     78 
     79 <body onload="run()">
     80 <div>
     81 foo <span id="test">bar</span> baz
     82 </div>
     83 </body>
     84 
     85 </html>