diff options
Diffstat (limited to 'netwerk/test')
-rw-r--r-- | netwerk/test/TestUDPSocket.cpp | 13 | ||||
-rw-r--r-- | netwerk/test/mochitests/mochitest.ini | 1 | ||||
-rw-r--r-- | netwerk/test/mochitests/test_1396395.html | 52 |
3 files changed, 53 insertions, 13 deletions
diff --git a/netwerk/test/TestUDPSocket.cpp b/netwerk/test/TestUDPSocket.cpp index 9236d2ea3..0ec43a650 100644 --- a/netwerk/test/TestUDPSocket.cpp +++ b/netwerk/test/TestUDPSocket.cpp @@ -13,9 +13,6 @@ #include "nsIScriptSecurityManager.h" #include "nsITimer.h" #include "mozilla/net/DNS.h" -#ifdef XP_WIN -#include "mozilla/WindowsVersion.h" -#endif #include "prerror.h" #define REQUEST 0x68656c6f @@ -334,16 +331,6 @@ main(int32_t argc, char *argv[]) } RefPtr<MulticastTimerCallback> timerCb = new MulticastTimerCallback(); - // The following multicast tests using multiple sockets require a firewall - // exception on Windows XP (the earliest version of Windows we now support) - // before they pass. For now, we'll skip them here. Later versions of Windows - // (Win2003 and onward) don't seem to have this issue. -#ifdef XP_WIN - if (!mozilla::IsWin2003OrLater()) { // i.e. if it is WinXP - goto close; - } -#endif - // Join multicast group printf("Joining multicast group\n"); phase = TEST_MULTICAST; diff --git a/netwerk/test/mochitests/mochitest.ini b/netwerk/test/mochitests/mochitest.ini index 98d406c80..f8a919031 100644 --- a/netwerk/test/mochitests/mochitest.ini +++ b/netwerk/test/mochitests/mochitest.ini @@ -24,3 +24,4 @@ support-files = [test_user_agent_updates_reset.html] [test_viewsource_unlinkable.html] [test_xhr_method_case.html] +[test_1396395.html] diff --git a/netwerk/test/mochitests/test_1396395.html b/netwerk/test/mochitests/test_1396395.html new file mode 100644 index 000000000..193ef219c --- /dev/null +++ b/netwerk/test/mochitests/test_1396395.html @@ -0,0 +1,52 @@ +<!DOCTYPE HTML> +<!-- vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: --> +<html> + <!-- Any copyright is dedicated to the Public Domain. + - http://creativecommons.org/publicdomain/zero/1.0/ --> +<head> + <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> +</head> +<body> + <iframe id="f" src="http://example.com"></iframe> + <script type="text/javascript"> +SimpleTest.waitForExplicitFinish(); + +var script = SpecialPowers.loadChromeScript(() => { + const Ci = Components.interfaces; + const Cc = Components.classes; + const Cu = Components.utils; + Cu.import('resource://gre/modules/Services.jsm'); + + Services.obs.addObserver(function onExamResp(subject, topic, data) { + let channel = subject.QueryInterface(Ci.nsIHttpChannel); + if (!channel.URI.spec.startsWith("http://example.org")) { + return; + } + Services.obs.removeObserver(onExamResp, 'http-on-examine-response'); + channel.suspend(); + Promise.resolve().then(() => { + channel.resume(); + }); + }, 'http-on-examine-response'); + + sendAsyncMessage('start-test'); +}); + +script.addMessageListener('start-test', () => { + const iframe = document.getElementById('f'); + + iframe.contentWindow.onunload = function () { + xhr = new XMLHttpRequest(); + xhr.open('GET', window.location, false); + xhr.send(null); + ok(true, 'complete without crash'); + script.destroy(); + SimpleTest.finish(); + } + + iframe.src = 'http://example.org'; +}); + </script> +</body> +</html> + |