summaryrefslogtreecommitdiffstats
path: root/dom/browser-element/mochitest/browserElement_VisibilityChange.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/browser-element/mochitest/browserElement_VisibilityChange.js')
-rw-r--r--dom/browser-element/mochitest/browserElement_VisibilityChange.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/dom/browser-element/mochitest/browserElement_VisibilityChange.js b/dom/browser-element/mochitest/browserElement_VisibilityChange.js
new file mode 100644
index 000000000..d7db5f45d
--- /dev/null
+++ b/dom/browser-element/mochitest/browserElement_VisibilityChange.js
@@ -0,0 +1,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);