mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-28 12:45:27 +00:00
8c29b2aace
Backed out changeset 2d5f09d89424 (bug 1219711) Backed out changeset cf14a6e5f340 (bug 1219711) Backed out changeset 4eaa8cf9a752 (bug 1219711) Backed out changeset 65abe62869df (bug 1219711) Backed out changeset a21d79a94307 (bug 1219711) --HG-- extra : commitid : 2uBL6k0T3uy extra : source : aaee8ec22e5fd0650818aab7d85ff4b069681a35
80 lines
2.1 KiB
HTML
80 lines
2.1 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<script type="application/javascript" src="pc.js"></script>
|
|
</head>
|
|
<body>
|
|
<pre id="test">
|
|
<script type="application/javascript;version=1.8">
|
|
createHTML({
|
|
bug: "857765",
|
|
title: "Throw in PeerConnection callbacks"
|
|
});
|
|
|
|
runNetworkTest(function () {
|
|
function finish() {
|
|
window.onerror = oldOnError;
|
|
is(error_count, 7, "Seven expected errors verified.");
|
|
networkTestFinished();
|
|
}
|
|
|
|
function getFail() {
|
|
return err => {
|
|
window.onerror = oldOnError;
|
|
generateErrorCallback()(err);
|
|
};
|
|
}
|
|
|
|
let error_count = 0;
|
|
let oldOnError = window.onerror;
|
|
window.onerror = (errorMsg, url, lineNumber) => {
|
|
if (errorMsg.indexOf("Expected") == -1) {
|
|
getFail()(errorMsg);
|
|
}
|
|
error_count += 1;
|
|
info("onerror " + error_count + ": " + errorMsg);
|
|
if (error_count == 7) {
|
|
finish();
|
|
}
|
|
throw new Error("window.onerror may throw");
|
|
return false;
|
|
}
|
|
|
|
let pc0, pc1, pc2;
|
|
// Test failure callbacks (limited to 1 for now)
|
|
pc0 = new RTCPeerConnection();
|
|
pc0.createOffer(getFail(), function(err) {
|
|
pc1 = new RTCPeerConnection();
|
|
pc2 = new RTCPeerConnection();
|
|
|
|
// Test success callbacks (happy path)
|
|
navigator.mozGetUserMedia({video:true, fake: true}, function(video1) {
|
|
pc1.addStream(video1);
|
|
pc1.createOffer(function(offer) {
|
|
pc1.setLocalDescription(offer, function() {
|
|
pc2.setRemoteDescription(offer, function() {
|
|
pc2.createAnswer(function(answer) {
|
|
pc2.setLocalDescription(answer, function() {
|
|
pc1.setRemoteDescription(answer, function() {
|
|
throw new Error("Expected");
|
|
}, getFail());
|
|
throw new Error("Expected");
|
|
}, getFail());
|
|
throw new Error("Expected");
|
|
}, getFail());
|
|
throw new Error("Expected");
|
|
}, getFail());
|
|
throw new Error("Expected");
|
|
}, getFail());
|
|
throw new Error("Expected");
|
|
}, getFail());
|
|
}, getFail());
|
|
throw new Error("Expected");
|
|
});
|
|
});
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|