summaryrefslogtreecommitdiffstats
path: root/dom/browser-element/mochitest/browserElement_VisibilityChange.js
blob: d7db5f45d8dd6c62f7eae266d4fcea7e57f93a5c (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
/* Any copyright is dedicated to the public domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

// Test that the onmozbrowservisibilitychange event works.
'use strict';

SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);

var iframe1 = null;
function runTest() {
  iframe1 = document.createElement('iframe');
  iframe1.setAttribute('mozbrowser', 'true');
  document.body.appendChild(iframe1);

  iframe1.src = 'data:text/html,<html><head><title>Title</title></head><body></body></html>';
  checkVisibilityFalse();
}

function checkVisibilityFalse() {
  iframe1.addEventListener('mozbrowservisibilitychange', function onvisibilitychange(e) {
    iframe1.removeEventListener(e.type, onvisibilitychange);

    is(e.detail.visible, false, 'Visibility should be false');
    checkVisibilityTrue();
  });

  iframe1.setVisible(false);
}

function checkVisibilityTrue() {
  iframe1.addEventListener('mozbrowservisibilitychange', function onvisibilitychange(e) {
    iframe1.removeEventListener(e.type, onvisibilitychange);

    is(e.detail.visible, true, 'Visibility should be true');
    SimpleTest.finish();
  });

  iframe1.setVisible(true);
}

addEventListener('testready', runTest);