dom/browser-element/mochitest/priority/test_Background.html

changeset 2
7e26c7da4463
equal deleted inserted replaced
-1:000000000000 0:3afc349e8be6
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 Test that calling setVisible('false') on an iframe causes its visibility to
5 change.
6 -->
7 <head>
8 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
9 <script type="application/javascript" src="../browserElementTestHelpers.js"></script>
10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
11 </head>
12 <body>
13
14 <script type="application/javascript;version=1.7">
15 "use strict";
16
17 SimpleTest.waitForExplicitFinish();
18 browserElementTestHelpers.setEnabledPref(true);
19 browserElementTestHelpers.addPermission();
20 browserElementTestHelpers.enableProcessPriorityManager();
21
22 function runTest() {
23 var iframe = document.createElement('iframe');
24 iframe.setAttribute('mozbrowser', true);
25
26 iframe.src = browserElementTestHelpers.emptyPage1;
27
28 var childID = null;
29 expectOnlyOneProcessCreated().then(function(chid) {
30 childID = chid;
31 }).then(function() {
32 return expectPriorityChange(childID, 'FOREGROUND');
33 }).then(function() {
34 return expectMozbrowserEvent(iframe, 'loadend');
35 }).then(function() {
36 var p = expectPriorityChange(childID, 'BACKGROUND');
37
38 // We wait until mozbrowserloadend before calling setVisible, because
39 // setVisible isn't available until mozbrowser has loaded. In practice, that
40 // means we can call setVisible once we've gotten /any/ mozbrowser event.
41 iframe.setVisible(false);
42 return p;
43 }).then(function() {
44 var p = expectPriorityChange(childID, 'FOREGROUND');
45 iframe.setVisible(true);
46 }).then(SimpleTest.finish);
47
48 document.body.appendChild(iframe);
49 }
50
51 addEventListener('testready', runTest);
52
53 </script>
54 </body>
55 </html>

mercurial