DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (409f3966645a)

VCS Links

Line Code
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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
<!DOCTYPE HTML>
<html class="reftest-wait">
<head>
<meta charset="utf-8">

<!-- Testcase for bug 879963 regression.

     This test is designed to hit the case where we were adding the same
     proxy font entry to a family multiple times during user font set updates.

     Note that if a platform doesn't have any of the local() fonts listed,
     the testcase will "pass" harmlessly as a no-op. -->

<style type="text/css" id="style1">
@font-face {
  font-family: foo;
  src: local("Arial"),
       local("DejaVu Sans"),
       local("Free Sans"),
       local("Open Sans"),
       local("Droid Sans"),
       local("Roboto");
}
</style>

<style type="text/css" id="style2">
@font-face {
  font-family: foo;
  src: local("Arial"),
       local("DejaVu Sans"),
       local("Free Sans"),
       local("Open Sans"),
       local("Droid Sans"),
       local("Roboto");
}
</style>

<style type="text/css" id="style3">
@font-face {
  font-family: foo;
  src: local("Arial"),
       local("DejaVu Sans"),
       local("Free Sans"),
       local("Open Sans"),
       local("Droid Sans"),
       local("Roboto");
}
</style>

<style type="text/css">
body {
  font-family: serif;
}
.test {
  font-family: foo;
}
</style>

<script type="application/javascript">
function run() {
  // Disable one of our three identical style elements.
  // This will trigger an update of the user font set,
  // and there will still be two identical rules present.
  document.getElementById("style3").disabled = true;

  // Now we trigger the use of the 'foo' font family,
  // so that font loading occurs.
  // If there are duplicate proxy entries in the family,
  // and only the first one gets replaced by the real face,
  // blank text will result.
  document.getElementById("test").className = "test";

  document.documentElement.removeAttribute("class");
}
</script>

</head>

<body onload="run()">
<div>
foo <span id="test">bar</span> baz
</div>
</body>

</html>