summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/chrome/test_focus_switchbinding.xul
blob: 2f3e0c9440b999f83ad2083a78ec8f3c7b3cfd43 (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
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>

<window title="Focus Switch Binding Test"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <script type="application/javascript"
          src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>

<script>
SimpleTest.waitForExplicitFinish();

function switchBinding()
{
  $("box").style.MozBinding = "url(#second)";
}
</script>

<xbl:bindings xmlns:xbl="http://www.mozilla.org/xbl"
              xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <xbl:binding id="first">
    <xbl:content>
      <xul:button label="First"/>
    </xbl:content>
    <xbl:implementation>
      <xbl:constructor>
        document.getAnonymousNodes(this)[0].focus();
        setTimeout(switchBinding, 0);
      </xbl:constructor>
    </xbl:implementation>
  </xbl:binding>
  <xbl:binding id="second">
    <xbl:content>
      <xul:button label="Second"/>
    </xbl:content>
    <xbl:implementation>
      <xbl:constructor>
        $("after").focus();
      </xbl:constructor>
    </xbl:implementation>
  </xbl:binding>
</xbl:bindings>

<box id="box" style="-moz-binding: url(#first)"/>
<button id="after" label="After" onfocus="is(document.activeElement, $('after'), 'focus set'); SimpleTest.finish()"/>

<body xmlns="http://www.w3.org/1999/xhtml">
<p id="display">
</p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>

</window>