summaryrefslogtreecommitdiffstats
path: root/layout/reftests/bugs/355548-4.xml
blob: 5a73aff01cf2358e5f679d6d218ce414a8188d6c (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
<html xmlns="http://www.w3.org/1999/xhtml" class="reftest-wait">
<head>
<style>
/* test the situation where an nsStyleFont is cached in the rule tree but we have to blow it
   away because MathML is suddenly introduced */
.v { font: 48px "Verdana"; }
</style>
<script>
function addMathML() {
  function createMathMLElement(tag) {
    return document.createElementNS("http://www.w3.org/1998/Math/MathML", tag);
  }
  
  var body = document.getElementById("body");
  body.offsetTop;

  // if we don't blow away the rule tree correctly, then we will cache an nsStyleFont with
  // a scriptsizemultiplier of 0.71 (the default) and use it to style mstyle2, so the
  // scriptlevel change will not scale the text by 0.5
  var math = createMathMLElement("math");
  var mstyle = createMathMLElement("mstyle");
  mstyle.setAttribute("scriptsizemultiplier", "0.5");
  var mstyle2 = createMathMLElement("mstyle");
  mstyle2.setAttribute("class", "v");
  var mstyle3 = createMathMLElement("mstyle");
  mstyle3.setAttribute("scriptlevel", "+1");
  var mi = createMathMLElement("mi");
  mi.textContent = "Id";
  mstyle3.appendChild(mi);
  mstyle2.appendChild(mstyle3);
  mstyle.appendChild(mstyle2);
  math.appendChild(mstyle);
  body.appendChild(math);
  document.documentElement.className = '';
}
</script>
</head>
<body id="body" onload="addMathML()">
<p><span class="v">Hello</span></p>
</body>
</html>