summaryrefslogtreecommitdiffstats
path: root/accessible/tests/crashtests/448064.xhtml
blob: c1a25ca5504d8fee552e38c53d89f8e235488503 (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
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
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<div id="mw_b">
<div id="mw_f">
<div id="mw_g" style="display: none;"/>
</div>
</div>

<div id="mw_c" style="display: none;">
<div id="mw_d">
<div id="mw_e"></div>
</div>
</div>

<input id="mw_a"/>


<script>
function dumpAccessibleNode(aNode, level) {
  var msg = "";

  try {
    msg += "name=\"" + aNode.name + "\" ";
  } catch (e) {
    msg += " noName ";
  }

  dump(msg + "\n");
}


function dumpAccessibleTree(aNode, level) {
  level = level || 0;

  dumpAccessibleNode(aNode, level);
  try {
    var child = aNode.firstChild;
    while (child) {
      dumpAccessibleTree(child, level + 1);
      child = child.nextSibling;
    }
  } catch (e) {
    dump("Error visiting child nodes: " + e + "\n");
  }
}

function A(o) {
  var acc = SpecialPowers.Cc["@mozilla.org/accessibilityService;1"]
                         .getService(SpecialPowers.Ci.nsIAccessibilityService);
  return acc.getAccessibleFor(o);
}

function beginAccessible() {
  dumpAccessibleTree(A(document), 0);
}
setTimeout(beginAccessible, 100);


setTimeout(doe, 200);
function doe() {
   document.getElementById("mw_a").appendChild(document.getElementById("mw_b"));
   document.getElementById("mw_c").appendChild(document.getElementById("mw_d"));
   document.getElementById("mw_e").appendChild(document.getElementById("mw_f"));
   document.getElementById("mw_g").appendChild(document.getElementById("mw_b"));
}
</script>
</body>
</html>