summaryrefslogtreecommitdiffstats
path: root/dom/browser-element/mochitest/browserElement_Stop.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/browser-element/mochitest/browserElement_Stop.js')
-rw-r--r--dom/browser-element/mochitest/browserElement_Stop.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/dom/browser-element/mochitest/browserElement_Stop.js b/dom/browser-element/mochitest/browserElement_Stop.js
new file mode 100644
index 000000000..67720c148
--- /dev/null
+++ b/dom/browser-element/mochitest/browserElement_Stop.js
@@ -0,0 +1,52 @@
+/* Any copyright is dedicated to the public domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Bug 709759 - Test the stop ability of <iframe mozbrowser>.
+
+// The img that is loaded will never be returned and will block
+// the page from loading, the timeout ensures that the page is
+// actually blocked from loading, once stop is called the
+// image load will be cancaelled and mozbrowserloadend should be called.
+
+"use strict";
+SimpleTest.waitForExplicitFinish();
+SimpleTest.requestFlakyTimeout("untriaged");
+browserElementTestHelpers.setEnabledPref(true);
+
+var iframe;
+var stopped = false;
+var imgSrc = 'http://test/tests/dom/browser-element/mochitest/file_bug709759.sjs';
+
+function runTest() {
+ iframe = document.createElement('iframe');
+ iframe.setAttribute('mozbrowser', 'true');
+ // FIXME: Bug 1270790
+ iframe.setAttribute('remote', 'true');
+ iframe.addEventListener('mozbrowserloadend', loadend);
+ iframe.src = 'data:text/html,<html>' +
+ '<body><img src="' + imgSrc + '" /></body></html>';
+
+ document.body.appendChild(iframe);
+
+ setTimeout(function() {
+ stopped = true;
+ iframe.stop();
+ }, 200);
+}
+
+function loadend() {
+ ok(stopped, 'Iframes network connections were stopped');
+
+ // Wait 1 second and make sure there isn't a mozbrowsererror after stop();
+ iframe.addEventListener('mozbrowsererror', handleError);
+ window.setTimeout(function() {
+ iframe.removeEventListener('mozbrowsererror', handleError);
+ SimpleTest.finish();
+ }, 1000);
+}
+
+function handleError() {
+ ok(false, "mozbrowsererror should not be fired");
+}
+
+addEventListener('testready', runTest);