diff options
Diffstat (limited to 'dom/media/tests/crashtests')
-rw-r--r-- | dom/media/tests/crashtests/780790.html | 16 | ||||
-rw-r--r-- | dom/media/tests/crashtests/791270.html | 17 | ||||
-rw-r--r-- | dom/media/tests/crashtests/791278.html | 20 | ||||
-rw-r--r-- | dom/media/tests/crashtests/791330.html | 35 | ||||
-rw-r--r-- | dom/media/tests/crashtests/799419.html | 32 | ||||
-rw-r--r-- | dom/media/tests/crashtests/801227.html | 35 | ||||
-rw-r--r-- | dom/media/tests/crashtests/802982.html | 27 | ||||
-rw-r--r-- | dom/media/tests/crashtests/812785.html | 70 | ||||
-rw-r--r-- | dom/media/tests/crashtests/822197.html | 28 | ||||
-rw-r--r-- | dom/media/tests/crashtests/834100.html | 25 | ||||
-rw-r--r-- | dom/media/tests/crashtests/836349.html | 20 | ||||
-rw-r--r-- | dom/media/tests/crashtests/837324.html | 25 | ||||
-rw-r--r-- | dom/media/tests/crashtests/855796.html | 66 | ||||
-rw-r--r-- | dom/media/tests/crashtests/860143.html | 25 | ||||
-rw-r--r-- | dom/media/tests/crashtests/861958.html | 24 | ||||
-rw-r--r-- | dom/media/tests/crashtests/863929.html | 66 | ||||
-rw-r--r-- | dom/media/tests/crashtests/crashtests.list | 16 |
17 files changed, 547 insertions, 0 deletions
diff --git a/dom/media/tests/crashtests/780790.html b/dom/media/tests/crashtests/780790.html new file mode 100644 index 000000000..27eb2a961 --- /dev/null +++ b/dom/media/tests/crashtests/780790.html @@ -0,0 +1,16 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=780790 +--> +<head> + <meta charset="utf-8"> + <title>Simple gUM test - null success callback</title> + <script type="application/javascript"> + navigator.mozGetUserMedia({video: true, fake: true}, null, null); + </script> +</head> + +<body> +</body> +</html> diff --git a/dom/media/tests/crashtests/791270.html b/dom/media/tests/crashtests/791270.html new file mode 100644 index 000000000..627552fb8 --- /dev/null +++ b/dom/media/tests/crashtests/791270.html @@ -0,0 +1,17 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=791270 +--> +<head> + <meta charset="utf-8"> + <title>Simple PeerConnection Video Test</title> + <script type="application/javascript"> + var pc = new RTCPeerConnection(); + pc.addStream(undefined); + </script> +</head> + +<body> +</body> +</html> diff --git a/dom/media/tests/crashtests/791278.html b/dom/media/tests/crashtests/791278.html new file mode 100644 index 000000000..fd538f678 --- /dev/null +++ b/dom/media/tests/crashtests/791278.html @@ -0,0 +1,20 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=791278 +--> +<head> + <meta charset="utf-8"> + <title>Simple PeerConnection Video Test - Invalid callback</title> + <script type="application/javascript"> + var pc1 = new RTCPeerConnection(); + pc1.setLocalDescription(function() {}); + + var pc2 = new RTCPeerConnection(); + pc2.setRemoteDescription(function() {}); + </script> +</head> + +<body> +</body> +</html> diff --git a/dom/media/tests/crashtests/791330.html b/dom/media/tests/crashtests/791330.html new file mode 100644 index 000000000..e1e1f24a0 --- /dev/null +++ b/dom/media/tests/crashtests/791330.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML> +<html class="reftest-wait"> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=791330 +--> +<head> + <meta charset="utf-8"> + <title>PeerConnection test - operate on closed connection</title> + <script type="application/javascript"> + function finish() { + document.documentElement.removeAttribute("class"); + } + + function runTest() { + var pc = new RTCPeerConnection(); + pc.close(); + + navigator.mozGetUserMedia({audio: true, fake: true}, function (stream) { + try { + pc.addStream(stream); + pc.createOffer(function (offer) {}); + } + finally { + stream.stop(); + + finish(); + } + }, function () {}); + } + </script> +</head> + +<body onload="setTimeout(runTest, 100)"> +</body> +</html> diff --git a/dom/media/tests/crashtests/799419.html b/dom/media/tests/crashtests/799419.html new file mode 100644 index 000000000..7f815e73c --- /dev/null +++ b/dom/media/tests/crashtests/799419.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML> +<html class="reftest-wait"> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=799419 +--> +<head> + <meta charset="utf-8"> + <title>2 Peer Connections Create and Close + Fake Video</title> + <script type="application/javascript"> + function finish() { + document.documentElement.removeAttribute("class"); + } + + function boom() { + var v0 = new RTCPeerConnection(); + var v1 = new RTCPeerConnection(); + var v2 = document.getElementById("pc1video"); + var v3 = document.getElementById("pc2video"); + navigator.mozGetUserMedia({video:true, fake: true}, + function(stream) {}, function() {}); + v0.close(); + v1.close(); + + finish(); + } + </script> +</head> +<body onload="setTimeout(boom, 100)"> +<video id="pc1video" width="100" height="100" controls></video> +<video id="pc2video" width="100" height="100" controls></video> +</body> +</html> diff --git a/dom/media/tests/crashtests/801227.html b/dom/media/tests/crashtests/801227.html new file mode 100644 index 000000000..2dded5451 --- /dev/null +++ b/dom/media/tests/crashtests/801227.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML> +<html class="reftest-wait"> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=801227 +--> +<head> + <meta charset="utf-8"> + <title>Abort due to page reload</title> + <script type="application/javascript"> + var pc = new RTCPeerConnection(); + + var index = localStorage.index || 0; + if (index < 3) { + localStorage.index = index + 1; + window.location.reload(); + } + + function finish() { + delete localStorage["index"]; + + pc.close(); + document.documentElement.removeAttribute("class"); + } + + navigator.mozGetUserMedia({ audio: true, fake: true }, function (aStream) { + pc.addStream(aStream); + finish(); + }, finish); + </script> +</head> + +<body> +</body> +</html> + diff --git a/dom/media/tests/crashtests/802982.html b/dom/media/tests/crashtests/802982.html new file mode 100644 index 000000000..032f3085c --- /dev/null +++ b/dom/media/tests/crashtests/802982.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=802982 +--> +<head> + <meta charset="utf-8"> + <title>Excessive getUserMedia calls</title> + <script type="application/javascript"> + + function finish() { + document.documentElement.removeAttribute("class"); + } + + function boom() + { + for (var j = 0; j < 100; ++j) { + navigator.mozGetUserMedia({}, function(){}, function(){}); + } + finish(); // we're not waiting for success/error callbacks here + } + + </script> +</head> + +<body onload="setTimeout(boom, 100)"> +</html> diff --git a/dom/media/tests/crashtests/812785.html b/dom/media/tests/crashtests/812785.html new file mode 100644 index 000000000..f26168e49 --- /dev/null +++ b/dom/media/tests/crashtests/812785.html @@ -0,0 +1,70 @@ +<!DOCTYPE HTML> +<html class="reftest-wait"> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=812785 +--> +<head> + <meta charset="utf-8"> + <title>Bug 812785 - WebRTC use-after-free crash</title> + <script type="application/javascript"> + var pc1, pc2, pc1_offer, pc2_answer, localAudio, remoteAudio; + + function onFailure(code) { + stop(); + } + + function stop() { + pc1.close(); pc1 = null; + pc2.close(); pc2 = null; + + var index = localStorage.index || 0; + if (index < 5) { + localStorage.index = index + 1; + window.location.reload(); + } + else { + finish(); + } + } + + function start() { + localAudio = document.getElementById("local"); + remoteAudio = document.getElementById("remote"); + + var stream = localAudio.mozCaptureStreamUntilEnded(); + + pc1 = new RTCPeerConnection(); + pc2 = new RTCPeerConnection(); + + pc1.addStream(stream); + pc1.createOffer(function (offer) { + pc1_offer = offer; + pc1.setLocalDescription(pc1_offer, function () { + pc2.setRemoteDescription(pc1_offer, function () { + pc2.createAnswer(function (answer) { + pc2_answer = answer; + pc2.setLocalDescription(pc2_answer, function () { + pc1.setRemoteDescription(pc2_answer, function step6() { + stop(); + }, onFailure); + }, onFailure); + }, onFailure); + }, onFailure); + }, onFailure); + }, onFailure); + } + + function finish() { + delete localStorage["index"]; + + document.documentElement.removeAttribute("class"); + } + </script> +</head> + +<body onload="setTimeout(start, 100)"> + <audio id="local" controls autoplay><source type="audio/wav" src="" /></audio> + <audio id="remote" controls></audio> +</body> +</html> + diff --git a/dom/media/tests/crashtests/822197.html b/dom/media/tests/crashtests/822197.html new file mode 100644 index 000000000..97abc4422 --- /dev/null +++ b/dom/media/tests/crashtests/822197.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=822197 +--> +<head> + <meta charset="utf-8"> + <title>Bug 822197 - Many PeerConnections with CreateOffer</title> + <script type="application/javascript"> + var pcArray = []; + + function finish() { + document.documentElement.removeAttribute("class"); + } + + function start() { + for(var i = 0; i < 70; i++) { + var pc = new RTCPeerConnection(); + pc.createOffer(function() {}, function() {}); + pcArray.push(pc); + } + finish(); + } + </script> +</head> + +<body onload="setTimeout(start, 100)"> +</html> diff --git a/dom/media/tests/crashtests/834100.html b/dom/media/tests/crashtests/834100.html new file mode 100644 index 000000000..004258156 --- /dev/null +++ b/dom/media/tests/crashtests/834100.html @@ -0,0 +1,25 @@ +<html class="reftest-wait"> + <head> + <script language="javascript"> + +function start() { + remotePC = new RTCPeerConnection(); + var cand = new RTCIceCandidate( + {candidate: "1 1 UDP 1 127.0.0.1 34567 type host", + sdpMid: "helloworld", + sdbMid: "helloworld", // Mis-spelt attribute for bug 833948 compatibility. + sdpMLineIndex: 1 + }); + try {remotePC.addIceCandidate(cand);} catch(e) {} // bug 842075 - remove try when fixed + try {remotePC.addIceCandidate(cand, function(sdp){}, finish);} catch(e) {} // bug 842075 - remove try when fixed + finish(); +} + +function finish(arg) { + document.documentElement.removeAttribute("class"); +} + </script> + </head> + <body onload="setTimeout(start, 100)"> + </body> +</html> diff --git a/dom/media/tests/crashtests/836349.html b/dom/media/tests/crashtests/836349.html new file mode 100644 index 000000000..651fde46a --- /dev/null +++ b/dom/media/tests/crashtests/836349.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=836349 +--> +<head> + <meta charset="utf-8"> + <title>Bug 836349</title> + <script type="application/javascript"> + function crash() + { + var pc = new RTCPeerConnection(); + var ld = pc.localDescription; + dump(ld.sdp); + } + </script> +</head> + +<body onload="crash();"> +</html> diff --git a/dom/media/tests/crashtests/837324.html b/dom/media/tests/crashtests/837324.html new file mode 100644 index 000000000..63162a336 --- /dev/null +++ b/dom/media/tests/crashtests/837324.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=837324 +--> +<head> + <meta charset="utf-8"> + <title>Bug 837324</title> + <script type="application/javascript"> + function finish() { + document.documentElement.removeAttribute("class"); + } + + function start() { + var o0 = new RTCPeerConnection(); + var o1 = new RTCIceCandidate({"candidate":"0 -65535 IP 0 stun.sipgate.net 3227326073 type ::ffff:192.0.2.128 host 2302600701","sdpMid":"video 3907077665 RTP/SAVPF 5000","sdpMLineIndex":7}); + try {o0.addIceCandidate(o1);} catch(e) {} // bug 842075 - remove try when fixed + + finish(); + } + </script> +</head> + +<body onload="setTimeout(start, 100)"> +</html> diff --git a/dom/media/tests/crashtests/855796.html b/dom/media/tests/crashtests/855796.html new file mode 100644 index 000000000..da46276c5 --- /dev/null +++ b/dom/media/tests/crashtests/855796.html @@ -0,0 +1,66 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=855796 +--> +<head> + <meta charset="utf-8"> + <title>Bug 855796</title> + <script type="application/javascript"> + var pc1, pc2, pc1_offer, pc2_answer; + + function onFailure(code) { + stop(); + } + + function stop() { + pc1.close(); + pc1 = null; + pc2.close(); + pc2 = null; + document.documentElement.removeAttribute("class"); + } + + function step1(offer) { + pc1_offer = offer; + pc1_offer.sdp = "v=0\r\no=Mozilla-SIPUA 2208 0 IN IP4 0.0.0.0\r\ns=SIP Call\r\nt=0 0\r\na=ice-pwd:4450d5a4a5f097855c16fa079893be18\r\na=fingerprint:sha-256 23:9A:2E:43:94:42:CF:46:68:FC:62:F9:F4:48:61:DB:2F:8C:C9:FF:6B:25:54:9D:41:09:EF:83:A8:19:FC:B6\r\nm=audio 56187 RTP/SAVPF 109 0 8 101\r\nc=IN IP4 77.9.79.167\r\na=rtpmap:109 opus/48000/2\r\na=ptime:20\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:101 telephone-event/8000\r\na=fmtp:101 0-15\r\na=sendrecv\r\na=candidate:0 1 UDP 2113601791 192.168.178.20 56187 typ host\r\na=candidate:1 1 UDP 1694236671 77.9.79.167 56187 typ srflx raddr 192.168.178.20 rport 56187\r\na=candidate:0 2 UDP 2113601790 192.168.178.20 52955 typ host\r\na=candidate:1 2 UDP 1694236670 77.9.79.167 52955 typ srflx raddr 192.168.178.20 rport 52955\r\nm=video 49929 RTP/SAVPF 120\r\nc=IN IP4 77.9.79.167\r\na=rtpmap:120 VP8/90000\r\na=recvonly\r\na=candidate:0 1 UDP 2113601791 192.168.178.20 49929 typ host\r\na=candidate:1 1 UDP 1694236671 77.9.79.167 49929 typ srflx raddr 192.168.178.20 rport 49929\r\na=candidate:0 2 UDP 2113601790 192.168.178.20 50769 typ host\r\na=candidate:1 2 UDP 1694236670 77.9.79.167 50769 typ srflx raddr 192.168.178.20 rport 50769\r\nm=application 54054 SCTP/DTLS 5000 \r\nc=IN IP4 77.9.79.167\r\na=fmtp:HuRUu]Dtcl\\zM,7(OmEU%O$gU]x/z\tD protocol=webrtc-datachannel;streams=16\r\na=sendrecv\r\n"; + pc1.setLocalDescription(pc1_offer, step2, onFailure); + } + + function step2() { + pc2.setRemoteDescription(pc1_offer, step3, onFailure); + } + + function step3() { + pc2.createAnswer(step4, onFailure); + } + + function step4(answer) { + pc2_answer = answer; + pc2.setLocalDescription(pc2_answer, step5, onFailure); + } + + function step5() { + pc1.setRemoteDescription(pc2_answer, step6, onFailure); + } + + function step6() { + stop(); + } + + function start() { + pc1 = new RTCPeerConnection(); + pc2 = new RTCPeerConnection(); + navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) { + pc1.addStream(s); + navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) { + pc2.addStream(s); + pc1.createOffer(step1, onFailure); + }, onFailure); + }, onFailure); + } + </script> +</head> + +<body onload="setTimeout(start, 100)"> +</html> diff --git a/dom/media/tests/crashtests/860143.html b/dom/media/tests/crashtests/860143.html new file mode 100644 index 000000000..2d17a8dac --- /dev/null +++ b/dom/media/tests/crashtests/860143.html @@ -0,0 +1,25 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=860143 +--> +<head> + <meta charset="utf-8"> + <title>bug 860143</title> + <script type="application/javascript"> + function start() { + var o0 = new window.RTCPeerConnection({ + iceServers: [ + { + url: "turn:AAAAAAAAAAAAAAAAA AAAAAAAAAAA AAAAAAAAAAAAA AA AAAAA AAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAA AAAAAAAAAA, AAAAAAAAAAAAAAAA AAA AAAAAAAAAAAAAAA" + } + ] + }); + o0.close(); + } + </script> +</head> + +<body onload="start()"> +</body> +</html> diff --git a/dom/media/tests/crashtests/861958.html b/dom/media/tests/crashtests/861958.html new file mode 100644 index 000000000..d6ea7e2e8 --- /dev/null +++ b/dom/media/tests/crashtests/861958.html @@ -0,0 +1,24 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=861958 +--> +<head> + <meta charset="utf-8"> + <title>bug 861958</title> + <script type="application/javascript"> + function start() { + var o0 = new window.RTCPeerConnection(); + var o1 = o0.createDataChannel("foo", { + "protocol": "text/char", + "preset": false, + "stream": 512 + }); + o0.close(); + } + </script> +</head> + +<body onload="start()"> +</body> +</html> diff --git a/dom/media/tests/crashtests/863929.html b/dom/media/tests/crashtests/863929.html new file mode 100644 index 000000000..dc534e264 --- /dev/null +++ b/dom/media/tests/crashtests/863929.html @@ -0,0 +1,66 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=863929 +--> +<head> + <meta charset="utf-8"> + <title>Bug 863929</title> + <script type="application/javascript"> + var pc1, pc2, pc1_offer, pc2_answer; + + function onFailure(code) { + stop(); + } + + function stop() { + pc1.close(); + pc1 = null; + pc2.close(); + pc2 = null; + document.documentElement.removeAttribute("class"); + } + + function step1(offer) { + pc1_offer = offer; + pc1_offer.sdp = 'v=0\r\no=Mozilla-SIPUA 2208 0 IN IP4 0.0.0.0\r\ns=SIP Call\r\nt=0 0\r\na=ice-ufrag:96e36277\r\na=ice-pwd:4450d5a4a5f097855c16fa079893be18\r\na=fingerprint:sha-256 23:9A:2E:43:94:42:CF:46:68:FC:62:F9:F4:48:61:DB:2F:8C:C9:FF:6B:25:54:9D:41:09:EF:83:A8:19:FC:B6\r\nm=audio 56187 RTP/SAVPF 109 0 8 101\r\nc=IN IP4 77.9.79.167\r\na=rtpmap:109 opus/48000/2\r\na=ptime:20\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:101 telephone-event/8000\r\na=fmtp:101 0-15\r\na=sendrecv\r\na=candidate:0 1 UDP 2113601791 192.168.178.20 56187 typ host\r\na=candidate:1 1 UDP 1694236671 77.9.79.167 56187 typ srflx raddr 192.168.178.20 rport 56187\r\na=candidate:0 2 UDP 2113601790 192.168.178.20 52955 typ host\r\na=candidate:1 2 UDP 1694236670 77.9.79.167 52955 typ srflx raddr 192.168.178.20 rport 52955\r\nm=video 49929 RTP/SAVPF 120\r\nc=IN IP4 77.9.79.167\r\na=rtpmap:120 telephone-event/90000\r\na=recvonly\r\na=candidate:0 1 UDP 2113601791 192.168.178.20 49929 typ host\r\na=candidate:1 1 UDP 1694236671 77.9.79.167 49929 typ srflx raddr 192.168.178.20 rport 49929\r\na=candidate:0 2 UDP 2113601790 192.168.178.20 50769 typ host\r\na=candidate:1 2 UDP 1694236670 77.9.79.167 50769 typ srflx raddr 192.168.178.20 rport 50769\r\nm=application 54054 SCTP/DTLS 5000 \r\nc=IN IP4 77.9.79.167\r\na=fmtp:5000 protocol=webrtc-datachannel;streams=16\r\na=sendrecv\r\n'; + pc1.setLocalDescription(pc1_offer, step2, onFailure); + } + + function step2() { + pc2.setRemoteDescription(pc1_offer, step3, onFailure); + } + + function step3() { + pc2.createAnswer(step4, onFailure); + } + + function step4(answer) { + pc2_answer = answer; + pc2.setLocalDescription(pc2_answer, step5, onFailure); + } + + function step5() { + pc1.setRemoteDescription(pc2_answer, step6, onFailure); + } + + function step6() { + stop(); + } + + function start() { + pc1 = new RTCPeerConnection(); + pc2 = new RTCPeerConnection(); + navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) { + pc1.addStream(s); + navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) { + pc2.addStream(s); + pc1.createOffer(step1, onFailure); + }, onFailure); + }, onFailure); + } + </script> +</head> + +<body onload="start()"> +</html> diff --git a/dom/media/tests/crashtests/crashtests.list b/dom/media/tests/crashtests/crashtests.list new file mode 100644 index 000000000..2acec6650 --- /dev/null +++ b/dom/media/tests/crashtests/crashtests.list @@ -0,0 +1,16 @@ +default-preferences pref(media.peerconnection.enabled,true) pref(media.navigator.permission.disabled,true) + +load 780790.html +load 791270.html +load 791278.html +load 791330.html +load 799419.html +load 802982.html +load 812785.html +load 834100.html +load 836349.html +load 837324.html +load 855796.html +load 860143.html +load 861958.html +load 863929.html |