Backed out 3 changesets (bug 1155923) for causing test failures in promises-call.html

Backed out changeset 321a932e01a7 (bug 1155923)
Backed out changeset 6ac38acd6ab2 (bug 1155923)
Backed out changeset 2981db92416a (bug 1155923)
This commit is contained in:
Carsten "Tomcat" Book 2015-09-28 14:02:41 +02:00
parent 750fd2f36e
commit a64c5f1b9c
65 changed files with 157 additions and 244 deletions

View File

@ -19,8 +19,7 @@
"chai": false, "chai": false,
"console": false, "console": false,
"loop": true, "loop": true,
"MozActivity": false, "mozRTCSessionDescription": false,
"RTCSessionDescription": false,
"OT": false, "OT": false,
"performance": false, "performance": false,
"Promise": false, "Promise": false,

View File

@ -983,7 +983,7 @@ var MozLoopServiceInternal = {
} }
}; };
let pc_static = new window.RTCPeerConnectionStatic(); let pc_static = new window.mozRTCPeerConnectionStatic();
pc_static.registerPeerConnectionLifecycleCallback(onPCLifecycleChange); pc_static.registerPeerConnectionLifecycleCallback(onPCLifecycleChange);
UITour.notify("Loop:ChatWindowOpened"); UITour.notify("Loop:ChatWindowOpened");

View File

@ -17,11 +17,11 @@ describe("Validator", function() {
function Y(){} function Y(){}
describe("#validate", function() { describe("#validate", function() {
function RTCSessionDescription() {} function mozRTCSessionDescription() {}
var rtcsd; var mozRTC;
beforeEach(function() { beforeEach(function() {
rtcsd = new RTCSessionDescription(); mozRTC = new mozRTCSessionDescription();
}); });
it("should check for a single required dependency when no option passed", it("should check for a single required dependency when no option passed",
@ -74,9 +74,9 @@ describe("Validator", function() {
}); });
it("should check for a native constructor dependency", function() { it("should check for a native constructor dependency", function() {
expect(create({foo: rtcsd}, {foo: "x"})) expect(create({foo: mozRTC}, {foo: "x"}))
.to.Throw(TypeError, .to.Throw(TypeError,
/invalid dependency: foo; expected RTCSessionDescription/); /invalid dependency: foo; expected mozRTCSessionDescription/);
}); });
it("should check for a null dependency", function() { it("should check for a null dependency", function() {

View File

@ -41,6 +41,4 @@ DEPRECATED_OPERATION(DataContainerEvent)
DEPRECATED_OPERATION(Window_Controllers) DEPRECATED_OPERATION(Window_Controllers)
DEPRECATED_OPERATION(ImportXULIntoContent) DEPRECATED_OPERATION(ImportXULIntoContent)
DEPRECATED_OPERATION(PannerNodeDoppler) DEPRECATED_OPERATION(PannerNodeDoppler)
DEPRECATED_OPERATION(NavigatorGetUserMedia)
DEPRECATED_OPERATION(WebrtcDeprecatedPrefix)
DEPRECATED_OPERATION(AppCache) DEPRECATED_OPERATION(AppCache)

View File

@ -3052,21 +3052,5 @@ SetDocumentAndPageUseCounter(JSContext* aCx, JSObject* aObject,
} }
} }
void
DeprecationWarning(JSContext* aCx, JSObject* aObject,
nsIDocument::DeprecatedOperations aOperation)
{
GlobalObject global(aCx, aObject);
if (global.Failed()) {
NS_ERROR("Could not create global for DeprecationWarning");
return;
}
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(global.GetAsSupports());
if (window && window->GetExtantDoc()) {
window->GetExtantDoc()->WarnOnceAbout(aOperation);
}
}
} // namespace dom } // namespace dom
} // namespace mozilla } // namespace mozilla

View File

@ -28,7 +28,6 @@
#include "mozilla/ErrorResult.h" #include "mozilla/ErrorResult.h"
#include "mozilla/Likely.h" #include "mozilla/Likely.h"
#include "mozilla/MemoryReporting.h" #include "mozilla/MemoryReporting.h"
#include "nsIDocument.h"
#include "nsIGlobalObject.h" #include "nsIGlobalObject.h"
#include "nsIXPConnect.h" #include "nsIXPConnect.h"
#include "nsJSUtils.h" #include "nsJSUtils.h"
@ -3343,11 +3342,6 @@ void
SetDocumentAndPageUseCounter(JSContext* aCx, JSObject* aObject, SetDocumentAndPageUseCounter(JSContext* aCx, JSObject* aObject,
UseCounter aUseCounter); UseCounter aUseCounter);
// Warnings
void
DeprecationWarning(JSContext* aCx, JSObject* aObject,
nsIDocument::DeprecatedOperations aOperation);
} // namespace dom } // namespace dom
} // namespace mozilla } // namespace mozilla

View File

@ -1933,12 +1933,6 @@ DOMInterfaces = {
'TestExampleProxyInterface' : { 'TestExampleProxyInterface' : {
'headerFile': 'TestExampleProxyInterface-example.h', 'headerFile': 'TestExampleProxyInterface-example.h',
'register': False 'register': False
},
'TestDeprecatedInterface' : {
# Keep this in sync with TestExampleInterface
'headerFile': 'TestBindingHeader.h',
'register': False
} }
} }

View File

@ -6917,13 +6917,20 @@ class CGPerSignatureCall(CGThing):
} }
"""))) """)))
deprecated = (idlNode.getExtendedAttribute("Deprecated") or if idlNode.getExtendedAttribute("Deprecated"):
(static and descriptor.interface.getExtendedAttribute("Deprecated")))
if deprecated:
cgThings.append(CGGeneric(dedent( cgThings.append(CGGeneric(dedent(
""" """
DeprecationWarning(cx, obj, nsIDocument::e%s); {
""" % deprecated[0]))) GlobalObject global(cx, obj);
if (global.Failed()) {
return false;
}
nsCOMPtr<nsPIDOMWindow> pWindow = do_QueryInterface(global.GetAsSupports());
if (pWindow && pWindow->GetExtantDoc()) {
pWindow->GetExtantDoc()->WarnOnceAbout(nsIDocument::e%s);
}
}
""" % idlNode.getExtendedAttribute("Deprecated")[0])))
lenientFloatCode = None lenientFloatCode = None
if idlNode.getExtendedAttribute('LenientFloat') is not None: if idlNode.getExtendedAttribute('LenientFloat') is not None:

View File

@ -1410,8 +1410,7 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins):
identifier == "AvailableIn" or identifier == "AvailableIn" or
identifier == "Func" or identifier == "Func" or
identifier == "CheckAnyPermissions" or identifier == "CheckAnyPermissions" or
identifier == "CheckAllPermissions" or identifier == "CheckAllPermissions"):
identifier == "Deprecated"):
# Known extended attributes that take a string value # Known extended attributes that take a string value
if not attr.hasValue(): if not attr.hasValue():
raise WebIDLError("[%s] must have a value" % identifier, raise WebIDLError("[%s] must have a value" % identifier,

View File

@ -1357,20 +1357,6 @@ class TestChildInterface : public TestParentInterface
{ {
}; };
class TestDeprecatedInterface : public nsISupports, public nsWrapperCache
{
public:
NS_DECL_ISUPPORTS
static
already_AddRefed<TestDeprecatedInterface>
Constructor(const GlobalObject&, ErrorResult&);
static void AlsoDeprecated(const GlobalObject&);
virtual nsISupports* GetParentObject();
};
} // namespace dom } // namespace dom
} // namespace mozilla } // namespace mozilla

View File

@ -1156,8 +1156,3 @@ interface TestCppKeywordNamedMethodsInterface {
long volatile(); long volatile();
}; };
[Deprecated="GetAttributeNode", Constructor()]
interface TestDeprecatedInterface {
static void alsoDeprecated();
};

View File

@ -11,7 +11,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=923010
<script type="application/javascript"> <script type="application/javascript">
/** Test for Bug 923010 **/ /** Test for Bug 923010 **/
try { try {
var conn = new RTCPeerConnection(); var conn = new mozRTCPeerConnection();
try { try {
conn.updateIce(candidate, function() { conn.updateIce(candidate, function() {
ok(false, "The call to updateIce succeeded when it should have thrown"); ok(false, "The call to updateIce succeeded when it should have thrown");
@ -26,7 +26,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=923010
"Should have the exception we expect"); "Should have the exception we expect");
} }
var candidate = new RTCIceCandidate({candidate: null }); var candidate = new mozRTCIceCandidate({candidate: null });
conn.addIceCandidate(candidate) conn.addIceCandidate(candidate)
.then(function() { .then(function() {

View File

@ -139,7 +139,7 @@ UseOfCaptureEventsWarning=Use of captureEvents() is deprecated. To upgrade your
UseOfReleaseEventsWarning=Use of releaseEvents() is deprecated. To upgrade your code, use the DOM 2 removeEventListener() method. For more help http://developer.mozilla.org/en/docs/DOM:element.removeEventListener UseOfReleaseEventsWarning=Use of releaseEvents() is deprecated. To upgrade your code, use the DOM 2 removeEventListener() method. For more help http://developer.mozilla.org/en/docs/DOM:element.removeEventListener
# LOCALIZATION NOTE: Do not translate "document.load()" or "XMLHttpRequest" # LOCALIZATION NOTE: Do not translate "document.load()" or "XMLHttpRequest"
UseOfDOM3LoadMethodWarning=Use of document.load() is deprecated. To upgrade your code, use the DOM XMLHttpRequest object. For more help https://developer.mozilla.org/en/XMLHttpRequest UseOfDOM3LoadMethodWarning=Use of document.load() is deprecated. To upgrade your code, use the DOM XMLHttpRequest object. For more help https://developer.mozilla.org/en/XMLHttpRequest
# LOCALIZATION NOTE: Do not translate "window.showModalDialog()" or "window.open()" # LOCALIZATION NOTE: Do not translate "window.showModalDialog()" or "window.open()"
ShowModalDialogWarning=Use of window.showModalDialog() is deprecated. Use window.open() instead. For more help https://developer.mozilla.org/en-US/docs/Web/API/Window.open ShowModalDialogWarning=Use of window.showModalDialog() is deprecated. Use window.open() instead. For more help https://developer.mozilla.org/en-US/docs/Web/API/Window.open
# LOCALIZATION NOTE: Do not translate "window._content" or "window.content" # LOCALIZATION NOTE: Do not translate "window._content" or "window.content"
Window_ContentWarning=window._content is deprecated. Please use window.content instead. Window_ContentWarning=window._content is deprecated. Please use window.content instead.
@ -180,5 +180,3 @@ ClientRequestOpaqueInterception=A ServiceWorker passed an opaque Response to Fet
BadOpaqueRedirectInterception=A ServiceWorker passed an opaqueredirect Response to FetchEvent.respondWith() while FetchEvent.request was not a navigation request. BadOpaqueRedirectInterception=A ServiceWorker passed an opaqueredirect Response to FetchEvent.respondWith() while FetchEvent.request was not a navigation request.
# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". # LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()".
InterceptionCanceled=ServiceWorker canceled network interception by calling FetchEvent.preventDefault(). InterceptionCanceled=ServiceWorker canceled network interception by calling FetchEvent.preventDefault().
WebrtcDeprecatedPrefixWarning=WebRTC interfaces with the "moz" prefix (mozRTCPeerConnection, mozRTCSessionDescription, mozRTCIceCandidate) have been deprecated.
NavigatorGetUserMediaWarning=navigator.mozGetUserMedia has been replaced by navigator.mediaDevices.getUserMedia

View File

@ -233,7 +233,7 @@ function RTCIceCandidate() {
this.candidate = this.sdpMid = this.sdpMLineIndex = null; this.candidate = this.sdpMid = this.sdpMLineIndex = null;
} }
RTCIceCandidate.prototype = { RTCIceCandidate.prototype = {
classDescription: "RTCIceCandidate", classDescription: "mozRTCIceCandidate",
classID: PC_ICE_CID, classID: PC_ICE_CID,
contractID: PC_ICE_CONTRACT, contractID: PC_ICE_CONTRACT,
QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports, QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports,
@ -252,7 +252,7 @@ function RTCSessionDescription() {
this.type = this.sdp = null; this.type = this.sdp = null;
} }
RTCSessionDescription.prototype = { RTCSessionDescription.prototype = {
classDescription: "RTCSessionDescription", classDescription: "mozRTCSessionDescription",
classID: PC_SESSION_CID, classID: PC_SESSION_CID,
contractID: PC_SESSION_CONTRACT, contractID: PC_SESSION_CONTRACT,
QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports, QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports,
@ -346,7 +346,7 @@ function RTCPeerConnection() {
this._iceGatheringState = this._iceConnectionState = "new"; this._iceGatheringState = this._iceConnectionState = "new";
} }
RTCPeerConnection.prototype = { RTCPeerConnection.prototype = {
classDescription: "RTCPeerConnection", classDescription: "mozRTCPeerConnection",
classID: PC_CID, classID: PC_CID,
contractID: PC_CONTRACT, contractID: PC_CONTRACT,
QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports, QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports,
@ -458,7 +458,7 @@ RTCPeerConnection.prototype = {
} }
certPromise = Promise.resolve(cert); certPromise = Promise.resolve(cert);
} else { } else {
certPromise = this._win.RTCPeerConnection.generateCertificate({ certPromise = this._win.mozRTCPeerConnection.generateCertificate({
name: "ECDSA", namedCurve: "P-256" name: "ECDSA", namedCurve: "P-256"
}); });
} }
@ -733,7 +733,7 @@ RTCPeerConnection.prototype = {
})); }));
p = this._addIdentityAssertion(p, origin); p = this._addIdentityAssertion(p, origin);
return p.then( return p.then(
sdp => new this._win.RTCSessionDescription({ type: "offer", sdp: sdp })); sdp => new this._win.mozRTCSessionDescription({ type: "offer", sdp: sdp }));
}); });
}); });
}, },
@ -768,7 +768,7 @@ RTCPeerConnection.prototype = {
})); }));
p = this._addIdentityAssertion(p, origin); p = this._addIdentityAssertion(p, origin);
return p.then(sdp => { return p.then(sdp => {
return new this._win.RTCSessionDescription({ type: "answer", sdp: sdp }); return new this._win.mozRTCSessionDescription({ type: "answer", sdp: sdp });
}); });
}); });
}); });
@ -1069,7 +1069,7 @@ RTCPeerConnection.prototype = {
} }
sdp = this._localIdp.addIdentityAttribute(sdp); sdp = this._localIdp.addIdentityAttribute(sdp);
return new this._win.RTCSessionDescription({ type: this._localType, return new this._win.mozRTCSessionDescription({ type: this._localType,
sdp: sdp }); sdp: sdp });
}, },
@ -1079,7 +1079,7 @@ RTCPeerConnection.prototype = {
if (sdp.length == 0) { if (sdp.length == 0) {
return null; return null;
} }
return new this._win.RTCSessionDescription({ type: this._remoteType, return new this._win.mozRTCSessionDescription({ type: this._remoteType,
sdp: sdp }); sdp: sdp });
}, },
@ -1268,7 +1268,7 @@ PeerConnectionObserver.prototype = {
if (candidate == "") { if (candidate == "") {
this.foundIceCandidate(null); this.foundIceCandidate(null);
} else { } else {
this.foundIceCandidate(new this._dompc._win.RTCIceCandidate( this.foundIceCandidate(new this._dompc._win.mozRTCIceCandidate(
{ {
candidate: candidate, candidate: candidate,
sdpMid: mid, sdpMid: mid,
@ -1447,7 +1447,7 @@ PeerConnectionObserver.prototype = {
function RTCPeerConnectionStatic() { function RTCPeerConnectionStatic() {
} }
RTCPeerConnectionStatic.prototype = { RTCPeerConnectionStatic.prototype = {
classDescription: "RTCPeerConnectionStatic", classDescription: "mozRTCPeerConnectionStatic",
QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports, QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports,
Ci.nsIDOMGlobalPropertyInitializer]), Ci.nsIDOMGlobalPropertyInitializer]),

View File

@ -7,7 +7,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=791270
<meta charset="utf-8"> <meta charset="utf-8">
<title>Simple PeerConnection Video Test</title> <title>Simple PeerConnection Video Test</title>
<script type="application/javascript"> <script type="application/javascript">
var pc = new RTCPeerConnection(); var pc = new mozRTCPeerConnection();
pc.addStream(undefined); pc.addStream(undefined);
</script> </script>
</head> </head>

View File

@ -7,10 +7,10 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=791278
<meta charset="utf-8"> <meta charset="utf-8">
<title>Simple PeerConnection Video Test - Invalid callback</title> <title>Simple PeerConnection Video Test - Invalid callback</title>
<script type="application/javascript"> <script type="application/javascript">
var pc1 = new RTCPeerConnection(); var pc1 = new mozRTCPeerConnection();
pc1.setLocalDescription(function() {}); pc1.setLocalDescription(function() {});
var pc2 = new RTCPeerConnection(); var pc2 = new mozRTCPeerConnection();
pc2.setRemoteDescription(function() {}); pc2.setRemoteDescription(function() {});
</script> </script>
</head> </head>

View File

@ -12,7 +12,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=791330
} }
function runTest() { function runTest() {
var pc = new RTCPeerConnection(); var pc = new mozRTCPeerConnection();
pc.close(); pc.close();
navigator.mozGetUserMedia({audio: true, fake: true}, function (stream) { navigator.mozGetUserMedia({audio: true, fake: true}, function (stream) {

View File

@ -12,8 +12,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=799419
} }
function boom() { function boom() {
var v0 = new RTCPeerConnection(); var v0 = new mozRTCPeerConnection();
var v1 = new RTCPeerConnection(); var v1 = new mozRTCPeerConnection();
var v2 = document.getElementById("pc1video"); var v2 = document.getElementById("pc1video");
var v3 = document.getElementById("pc2video"); var v3 = document.getElementById("pc2video");
navigator.mozGetUserMedia({video:true, fake: true}, navigator.mozGetUserMedia({video:true, fake: true},

View File

@ -7,7 +7,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=801227
<meta charset="utf-8"> <meta charset="utf-8">
<title>Abort due to page reload</title> <title>Abort due to page reload</title>
<script type="application/javascript"> <script type="application/javascript">
var pc = new RTCPeerConnection(); var pc = new mozRTCPeerConnection();
var index = localStorage.index || 0; var index = localStorage.index || 0;
if (index < 3) { if (index < 3) {

View File

@ -33,8 +33,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=812785
var stream = localAudio.mozCaptureStreamUntilEnded(); var stream = localAudio.mozCaptureStreamUntilEnded();
pc1 = new RTCPeerConnection(); pc1 = new mozRTCPeerConnection();
pc2 = new RTCPeerConnection(); pc2 = new mozRTCPeerConnection();
pc1.addStream(stream); pc1.addStream(stream);
pc1.createOffer(function (offer) { pc1.createOffer(function (offer) {

View File

@ -15,7 +15,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=822197
function start() { function start() {
for(var i = 0; i < 70; i++) { for(var i = 0; i < 70; i++) {
var pc = new RTCPeerConnection(); var pc = new mozRTCPeerConnection();
pc.createOffer(function() {}, function() {}); pc.createOffer(function() {}, function() {});
pcArray.push(pc); pcArray.push(pc);
} }

View File

@ -3,8 +3,8 @@
<script language="javascript"> <script language="javascript">
function start() { function start() {
remotePC = new RTCPeerConnection(); remotePC = new mozRTCPeerConnection();
var cand = new RTCIceCandidate( var cand = new mozRTCIceCandidate(
{candidate: "1 1 UDP 1 127.0.0.1 34567 type host", {candidate: "1 1 UDP 1 127.0.0.1 34567 type host",
sdpMid: "helloworld", sdpMid: "helloworld",
sdbMid: "helloworld", // Mis-spelt attribute for bug 833948 compatibility. sdbMid: "helloworld", // Mis-spelt attribute for bug 833948 compatibility.

View File

@ -9,7 +9,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=836349
<script type="application/javascript"> <script type="application/javascript">
function crash() function crash()
{ {
var pc = new RTCPeerConnection(); var pc = new mozRTCPeerConnection();
var ld = pc.localDescription; var ld = pc.localDescription;
dump(ld.sdp); dump(ld.sdp);
} }

View File

@ -12,8 +12,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=837324
} }
function start() { function start() {
var o0 = new RTCPeerConnection(); var o0 = new mozRTCPeerConnection();
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}); var o1 = new mozRTCIceCandidate({"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 try {o0.addIceCandidate(o1);} catch(e) {} // bug 842075 - remove try when fixed
finish(); finish();

View File

@ -49,8 +49,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=855796
} }
function start() { function start() {
pc1 = new RTCPeerConnection(); pc1 = new mozRTCPeerConnection();
pc2 = new RTCPeerConnection(); pc2 = new mozRTCPeerConnection();
navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) { navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) {
pc1.addStream(s); pc1.addStream(s);
navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) { navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) {

View File

@ -8,7 +8,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=860143
<title>bug 860143</title> <title>bug 860143</title>
<script type="application/javascript"> <script type="application/javascript">
function start() { function start() {
var o0 = new window.RTCPeerConnection({ var o0 = new window.mozRTCPeerConnection({
iceServers: [ iceServers: [
{ {
url: "turn:AAAAAAAAAAAAAAAAA AAAAAAAAAAA AAAAAAAAAAAAA AA AAAAA AAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAA AAAAAAAAAA, AAAAAAAAAAAAAAAA AAA AAAAAAAAAAAAAAA" url: "turn:AAAAAAAAAAAAAAAAA AAAAAAAAAAA AAAAAAAAAAAAA AA AAAAA AAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAA AAAAAAAAAA, AAAAAAAAAAAAAAAA AAA AAAAAAAAAAAAAAA"

View File

@ -8,7 +8,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=861958
<title>bug 861958</title> <title>bug 861958</title>
<script type="application/javascript"> <script type="application/javascript">
function start() { function start() {
var o0 = new window.RTCPeerConnection(); var o0 = new window.mozRTCPeerConnection();
var o1 = o0.createDataChannel("foo", { var o1 = o0.createDataChannel("foo", {
"protocol": "text/char", "protocol": "text/char",
"preset": false, "preset": false,

View File

@ -49,8 +49,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=863929
} }
function start() { function start() {
pc1 = new RTCPeerConnection(); pc1 = new mozRTCPeerConnection();
pc2 = new RTCPeerConnection(); pc2 = new mozRTCPeerConnection();
navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) { navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) {
pc1.addStream(s); pc1.addStream(s);
navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) { navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) {

View File

@ -51,9 +51,9 @@ function fingerprintSdp(fingerprints) {
// This function synthesizes that SDP and tries to set it. // This function synthesizes that SDP and tries to set it.
function testMultipleFingerprints() { function testMultipleFingerprints() {
// this one fails setRemoteDescription if the identity is not good // this one fails setRemoteDescription if the identity is not good
var pcStrict = new RTCPeerConnection({ peerIdentity: 'someone@example.com'}); var pcStrict = new mozRTCPeerConnection({ peerIdentity: 'someone@example.com'});
// this one will be manually tweaked to have two fingerprints // this one will be manually tweaked to have two fingerprints
var pcDouble = new RTCPeerConnection({}); var pcDouble = new mozRTCPeerConnection({});
var offer, match, fingerprints; var offer, match, fingerprints;
@ -86,7 +86,7 @@ function testMultipleFingerprints() {
fingerprintSdp(fingerprints.slice(1)) + fingerprintSdp(fingerprints.slice(1)) +
offer.sdp.slice(match.index); offer.sdp.slice(match.index);
var desc = new RTCSessionDescription({ type: 'offer', sdp: sdp }); var desc = new mozRTCSessionDescription({ type: 'offer', sdp: sdp });
return pcStrict.setRemoteDescription(desc); return pcStrict.setRemoteDescription(desc);
}) })
.then(() => { .then(() => {

View File

@ -271,7 +271,7 @@ PeerConnectionTest.prototype.createDataChannel = function(options) {
PeerConnectionTest.prototype.createAnswer = function(peer) { PeerConnectionTest.prototype.createAnswer = function(peer) {
return peer.createAnswer().then(answer => { return peer.createAnswer().then(answer => {
// make a copy so this does not get updated with ICE candidates // make a copy so this does not get updated with ICE candidates
this.originalAnswer = new RTCSessionDescription(JSON.parse(JSON.stringify(answer))); this.originalAnswer = new mozRTCSessionDescription(JSON.parse(JSON.stringify(answer)));
return answer; return answer;
}); });
}; };
@ -286,7 +286,7 @@ PeerConnectionTest.prototype.createAnswer = function(peer) {
PeerConnectionTest.prototype.createOffer = function(peer) { PeerConnectionTest.prototype.createOffer = function(peer) {
return peer.createOffer().then(offer => { return peer.createOffer().then(offer => {
// make a copy so this does not get updated with ICE candidates // make a copy so this does not get updated with ICE candidates
this.originalOffer = new RTCSessionDescription(JSON.parse(JSON.stringify(offer))); this.originalOffer = new mozRTCSessionDescription(JSON.parse(JSON.stringify(offer)));
return offer; return offer;
}); });
}; };
@ -297,7 +297,7 @@ PeerConnectionTest.prototype.createOffer = function(peer) {
* *
* @param {PeerConnectionWrapper} peer * @param {PeerConnectionWrapper} peer
The peer connection wrapper to run the command on The peer connection wrapper to run the command on
* @param {RTCSessionDescription} desc * @param {mozRTCSessionDescription} desc
* Session description for the local description request * Session description for the local description request
*/ */
PeerConnectionTest.prototype.setLocalDescription = PeerConnectionTest.prototype.setLocalDescription =
@ -366,7 +366,7 @@ PeerConnectionTest.prototype.setOfferOptions = function(options) {
* *
* @param {PeerConnectionWrapper} peer * @param {PeerConnectionWrapper} peer
The peer connection wrapper to run the command on The peer connection wrapper to run the command on
* @param {RTCSessionDescription} desc * @param {mozRTCSessionDescription} desc
* Session description for the remote description request * Session description for the remote description request
*/ */
PeerConnectionTest.prototype.setRemoteDescription = PeerConnectionTest.prototype.setRemoteDescription =
@ -709,7 +709,7 @@ function PeerConnectionWrapper(label, configuration) {
this.iceCheckingRestartExpected = false; this.iceCheckingRestartExpected = false;
info("Creating " + this); info("Creating " + this);
this._pc = new RTCPeerConnection(this.configuration); this._pc = new mozRTCPeerConnection(this.configuration);
/** /**
* Setup callback handlers * Setup callback handlers
@ -963,7 +963,7 @@ PeerConnectionWrapper.prototype = {
* Sets the local description and automatically handles the failure case. * Sets the local description and automatically handles the failure case.
* *
* @param {object} desc * @param {object} desc
* RTCSessionDescription for the local description request * mozRTCSessionDescription for the local description request
*/ */
setLocalDescription : function(desc) { setLocalDescription : function(desc) {
this.observedNegotiationNeeded = undefined; this.observedNegotiationNeeded = undefined;
@ -977,7 +977,7 @@ PeerConnectionWrapper.prototype = {
* causes the test case to fail if the call succeeds. * causes the test case to fail if the call succeeds.
* *
* @param {object} desc * @param {object} desc
* RTCSessionDescription for the local description request * mozRTCSessionDescription for the local description request
* @returns {Promise} * @returns {Promise}
* A promise that resolves to the expected error * A promise that resolves to the expected error
*/ */
@ -994,7 +994,7 @@ PeerConnectionWrapper.prototype = {
* Sets the remote description and automatically handles the failure case. * Sets the remote description and automatically handles the failure case.
* *
* @param {object} desc * @param {object} desc
* RTCSessionDescription for the remote description request * mozRTCSessionDescription for the remote description request
*/ */
setRemoteDescription : function(desc) { setRemoteDescription : function(desc) {
this.observedNegotiationNeeded = undefined; this.observedNegotiationNeeded = undefined;
@ -1014,7 +1014,7 @@ PeerConnectionWrapper.prototype = {
* causes the test case to fail if the call succeeds. * causes the test case to fail if the call succeeds.
* *
* @param {object} desc * @param {object} desc
* RTCSessionDescription for the remote description request * mozRTCSessionDescription for the remote description request
* @returns {Promise} * @returns {Promise}
* a promise that resolve to the returned error * a promise that resolve to the returned error
*/ */
@ -1115,7 +1115,7 @@ PeerConnectionWrapper.prototype = {
* later, depending on the state of the PeerConnection. * later, depending on the state of the PeerConnection.
* *
* @param {object} candidate * @param {object} candidate
* The RTCIceCandidate to be added or stored * The mozRTCIceCandidate to be added or stored
*/ */
storeOrAddIceCandidate : function(candidate) { storeOrAddIceCandidate : function(candidate) {
this._remote_ice_candidates.push(candidate); this._remote_ice_candidates.push(candidate);

View File

@ -141,7 +141,7 @@ var commandsPeerConnectionInitial = [
test.setupSignalingClient(); test.setupSignalingClient();
test.registerSignalingCallback("ice_candidate", function (message) { test.registerSignalingCallback("ice_candidate", function (message) {
var pc = test.pcRemote ? test.pcRemote : test.pcLocal; var pc = test.pcRemote ? test.pcRemote : test.pcLocal;
pc.storeOrAddIceCandidate(new RTCIceCandidate(message.ice_candidate)); pc.storeOrAddIceCandidate(new mozRTCIceCandidate(message.ice_candidate));
}); });
test.registerSignalingCallback("end_of_trickle_ice", function (message) { test.registerSignalingCallback("end_of_trickle_ice", function (message) {
test.signalingMessagesFinished(); test.signalingMessagesFinished();
@ -291,7 +291,7 @@ var commandsPeerConnectionOfferAnswer = [
return test.getSignalingMessage("offer") return test.getSignalingMessage("offer")
.then(message => { .then(message => {
ok("offer" in message, "Got an offer message"); ok("offer" in message, "Got an offer message");
test._local_offer = new RTCSessionDescription(message.offer); test._local_offer = new mozRTCSessionDescription(message.offer);
test._offer_constraints = message.offer_constraints; test._offer_constraints = message.offer_constraints;
test._offer_options = message.offer_options; test._offer_options = message.offer_options;
}); });
@ -351,7 +351,7 @@ var commandsPeerConnectionOfferAnswer = [
return test.getSignalingMessage("answer").then(message => { return test.getSignalingMessage("answer").then(message => {
ok("answer" in message, "Got an answer message"); ok("answer" in message, "Got an answer message");
test._remote_answer = new RTCSessionDescription(message.answer); test._remote_answer = new mozRTCSessionDescription(message.answer);
test._answer_constraints = message.answer_constraints; test._answer_constraints = message.answer_constraints;
}); });
}, },

View File

@ -12,7 +12,7 @@
}); });
runNetworkTest(function () { runNetworkTest(function () {
var pc = new RTCPeerConnection(); var pc = new mozRTCPeerConnection();
// necessary to circumvent bug 864109 // necessary to circumvent bug 864109
var options = { offerToReceiveAudio: true }; var options = { offerToReceiveAudio: true };

View File

@ -19,7 +19,7 @@
test.chain.insertAfter("PC_LOCAL_SET_LOCAL_DESCRIPTION", [ test.chain.insertAfter("PC_LOCAL_SET_LOCAL_DESCRIPTION", [
function PC_LOCAL_ADD_CANDIDATE_EARLY(test) { function PC_LOCAL_ADD_CANDIDATE_EARLY(test) {
var candidate = new RTCIceCandidate( var candidate = new mozRTCIceCandidate(
{candidate:"candidate:1 1 UDP 2130706431 192.168.2.1 50005 typ host", {candidate:"candidate:1 1 UDP 2130706431 192.168.2.1 50005 typ host",
sdpMLineIndex: 0}); sdpMLineIndex: 0});
return test.pcLocal._pc.addIceCandidate(candidate).then( return test.pcLocal._pc.addIceCandidate(candidate).then(
@ -31,7 +31,7 @@
]); ]);
test.chain.insertAfter("PC_REMOTE_SET_LOCAL_DESCRIPTION", [ test.chain.insertAfter("PC_REMOTE_SET_LOCAL_DESCRIPTION", [
function PC_REMOTE_ADD_CANDIDATE_INVALID_INDEX(test) { function PC_REMOTE_ADD_CANDIDATE_INVALID_INDEX(test) {
var invalid_index = new RTCIceCandidate( var invalid_index = new mozRTCIceCandidate(
{candidate:"candidate:1 1 UDP 2130706431 192.168.2.1 50005 typ host", {candidate:"candidate:1 1 UDP 2130706431 192.168.2.1 50005 typ host",
sdpMLineIndex: 2}); sdpMLineIndex: 2});
return test.pcRemote._pc.addIceCandidate(invalid_index) return test.pcRemote._pc.addIceCandidate(invalid_index)
@ -43,7 +43,7 @@
); );
}, },
function PC_REMOTE_ADD_BOGUS_CANDIDATE(test) { function PC_REMOTE_ADD_BOGUS_CANDIDATE(test) {
var bogus = new RTCIceCandidate( var bogus = new mozRTCIceCandidate(
{candidate:"Pony Lords, jump!", {candidate:"Pony Lords, jump!",
sdpMLineIndex: 0}); sdpMLineIndex: 0});
return test.pcRemote._pc.addIceCandidate(bogus) return test.pcRemote._pc.addIceCandidate(bogus)
@ -57,7 +57,7 @@
function PC_REMOTE_ADD_CANDIDATE_MISSING_INDEX(test) { function PC_REMOTE_ADD_CANDIDATE_MISSING_INDEX(test) {
// Note: it is probably not a good idea to automatically fill a missing // Note: it is probably not a good idea to automatically fill a missing
// MLineIndex with a default value of zero, see bug 1157034 // MLineIndex with a default value of zero, see bug 1157034
var broken = new RTCIceCandidate( var broken = new mozRTCIceCandidate(
{candidate:"candidate:1 1 UDP 2130706431 192.168.2.1 50005 typ host"}); {candidate:"candidate:1 1 UDP 2130706431 192.168.2.1 50005 typ host"});
return test.pcRemote._pc.addIceCandidate(broken) return test.pcRemote._pc.addIceCandidate(broken)
.then( .then(
@ -66,7 +66,7 @@
); );
}, },
function PC_REMOTE_ADD_VALID_CANDIDATE(test) { function PC_REMOTE_ADD_VALID_CANDIDATE(test) {
var candidate = new RTCIceCandidate( var candidate = new mozRTCIceCandidate(
{candidate:"candidate:1 1 UDP 2130706431 192.168.2.1 50005 typ host", {candidate:"candidate:1 1 UDP 2130706431 192.168.2.1 50005 typ host",
sdpMLineIndex: 0}); sdpMLineIndex: 0});
return test.pcRemote._pc.addIceCandidate(candidate) return test.pcRemote._pc.addIceCandidate(candidate)

View File

@ -8,11 +8,11 @@
<script type="application/javascript"> <script type="application/javascript">
createHTML({ createHTML({
bug: "822674", bug: "822674",
title: "RTCPeerConnection isn't a true javascript object as it should be" title: "mozRTCPeerConnection isn't a true javascript object as it should be"
}); });
runNetworkTest(function () { runNetworkTest(function () {
var pc = new RTCPeerConnection(); var pc = new mozRTCPeerConnection();
pc.thereIsNeverGoingToBeAPropertyWithThisNameOnThisInterface = 1; pc.thereIsNeverGoingToBeAPropertyWithThisNameOnThisInterface = 1;
is(pc.thereIsNeverGoingToBeAPropertyWithThisNameOnThisInterface, 1, is(pc.thereIsNeverGoingToBeAPropertyWithThisNameOnThisInterface, 1,

View File

@ -14,12 +14,12 @@
var makePC = (config, expected_error) => { var makePC = (config, expected_error) => {
var exception; var exception;
try { try {
new RTCPeerConnection(config).close(); new mozRTCPeerConnection(config).close();
} catch (e) { } catch (e) {
exception = e; exception = e;
} }
is((exception? exception.name : "success"), expected_error || "success", is((exception? exception.name : "success"), expected_error || "success",
"RTCPeerConnection(" + JSON.stringify(config) + ")"); "mozRTCPeerConnection(" + JSON.stringify(config) + ")");
}; };
// This is a test of the iceServers parsing code + readable errors // This is a test of the iceServers parsing code + readable errors
@ -27,11 +27,11 @@ runNetworkTest(() => {
var exception = null; var exception = null;
try { try {
new RTCPeerConnection().close(); new mozRTCPeerConnection().close();
} catch (e) { } catch (e) {
exception = e; exception = e;
} }
ok(!exception, "RTCPeerConnection() succeeds"); ok(!exception, "mozRTCPeerConnection() succeeds");
exception = null; exception = null;
makePC(); makePC();
@ -66,14 +66,14 @@ runNetworkTest(() => {
makePC({ iceServers: [{ urls:"http:0.0.0.0" }] }, "SyntaxError"); makePC({ iceServers: [{ urls:"http:0.0.0.0" }] }, "SyntaxError");
try { try {
new RTCPeerConnection({ iceServers: [{ url:"http:0.0.0.0" }] }).close(); new mozRTCPeerConnection({ iceServers: [{ url:"http:0.0.0.0" }] }).close();
} catch (e) { } catch (e) {
ok(e.message.indexOf("http") > 0, ok(e.message.indexOf("http") > 0,
"RTCPeerConnection() constructor has readable exceptions"); "mozRTCPeerConnection() constructor has readable exceptions");
} }
// Below tests are setting the about:config User preferences for default // Below tests are setting the about:config User preferences for default
// ice servers and checking the outputs when RTCPeerConnection() is // ice servers and checking the outputs when mozRTCPeerConnection() is
// invoked. See Bug 1167922 for more information. // invoked. See Bug 1167922 for more information.
// Note - We use promises here since the SpecialPowers API will be // Note - We use promises here since the SpecialPowers API will be
// performed asynchronously. // performed asynchronously.

View File

@ -12,8 +12,8 @@
}); });
runNetworkTest(function () { runNetworkTest(function () {
var pc1 = new RTCPeerConnection(); var pc1 = new mozRTCPeerConnection();
var pc2 = new RTCPeerConnection(); var pc2 = new mozRTCPeerConnection();
pc1.createOffer({ offerToReceiveAudio: true }).then(offer => { pc1.createOffer({ offerToReceiveAudio: true }).then(offer => {
// The whole point of this test is not to wait for the // The whole point of this test is not to wait for the

View File

@ -27,8 +27,8 @@ function pcall(o, f, beforeArg) {
}); });
} }
var pc1 = new RTCPeerConnection(); var pc1 = new mozRTCPeerConnection();
var pc2 = new RTCPeerConnection(); var pc2 = new mozRTCPeerConnection();
var pc2_haveRemoteOffer = new Promise(resolve => { var pc2_haveRemoteOffer = new Promise(resolve => {
pc2.onsignalingstatechange = pc2.onsignalingstatechange =

View File

@ -12,7 +12,7 @@
}); });
function badCertificate(config, expectedError, message) { function badCertificate(config, expectedError, message) {
return RTCPeerConnection.generateCertificate(config) return mozRTCPeerConnection.generateCertificate(config)
.then(() => ok(false, message), .then(() => ok(false, message),
e => is(e.name, expectedError, message)); e => is(e.name, expectedError, message));
} }
@ -94,7 +94,7 @@
runNetworkTest(function (options) { runNetworkTest(function (options) {
var expiredCert; var expiredCert;
return Promise.resolve() return Promise.resolve()
.then(() => RTCPeerConnection.generateCertificate({ .then(() => mozRTCPeerConnection.generateCertificate({
name: "ECDSA", name: "ECDSA",
namedCurve: "P-256", namedCurve: "P-256",
expires: 1 // smallest possible expiration window expires: 1 // smallest possible expiration window
@ -117,7 +117,7 @@
.then(() => { .then(() => {
ok(expiredCert.expires <= Date.now(), 'Cert should be at or past expiration'); ok(expiredCert.expires <= Date.now(), 'Cert should be at or past expiration');
try { try {
new RTCPeerConnection({ certificates: [expiredCert] }); new mozRTCPeerConnection({ certificates: [expiredCert] });
ok(false, 'Constructing peer connection with an expired cert is not allowed'); ok(false, 'Constructing peer connection with an expired cert is not allowed');
} catch(e) { } catch(e) {
is(e.name, 'InvalidParameterError', is(e.name, 'InvalidParameterError',
@ -126,11 +126,11 @@
}) })
.then(() => Promise.all([ .then(() => Promise.all([
RTCPeerConnection.generateCertificate({ mozRTCPeerConnection.generateCertificate({
name: "ECDSA", name: "ECDSA",
namedCurve: "P-256" namedCurve: "P-256"
}), }),
RTCPeerConnection.generateCertificate({ mozRTCPeerConnection.generateCertificate({
name: "RSASSA-PKCS1-v1_5", name: "RSASSA-PKCS1-v1_5",
hash: "SHA-256", hash: "SHA-256",
modulusLength: 2048, modulusLength: 2048,
@ -142,7 +142,7 @@
.then(storeAndRetrieve) .then(storeAndRetrieve)
.then(certs => { .then(certs => {
try { try {
new RTCPeerConnection({ certificates: certs }); new mozRTCPeerConnection({ certificates: certs });
ok(false, 'Constructing peer connection with multiple certs is not allowed'); ok(false, 'Constructing peer connection with multiple certs is not allowed');
} catch(e) { } catch(e) {
is(e.name, 'NotSupportedError', is(e.name, 'NotSupportedError',

View File

@ -12,7 +12,7 @@
}); });
runNetworkTest(function () { runNetworkTest(function () {
var pc = new RTCPeerConnection(); var pc = new mozRTCPeerConnection();
var exception = null; var exception = null;
var eTimeout = null; var eTimeout = null;
@ -57,9 +57,9 @@
// These legacy methods fire the error callback instead. This is not // These legacy methods fire the error callback instead. This is not
// entirely to spec but is better than ignoring programming errors. // entirely to spec but is better than ignoring programming errors.
var offer = new RTCSessionDescription({ sdp: "sdp", type: "offer" }); var offer = new mozRTCSessionDescription({ sdp: "sdp", type: "offer" });
var answer = new RTCSessionDescription({ sdp: "sdp", type: "answer" }); var answer = new mozRTCSessionDescription({ sdp: "sdp", type: "answer" });
var candidate = new RTCIceCandidate({ candidate: "dummy", var candidate = new mozRTCIceCandidate({ candidate: "dummy",
sdpMid: "test", sdpMid: "test",
sdpMLineIndex: 3 }); sdpMLineIndex: 3 });

View File

@ -21,12 +21,12 @@ function PC_REMOTE_SETUP_NULL_ICE_HANDLER(test) {
test.pcRemote.setupIceCandidateHandler(test, function() {}, function () {}); test.pcRemote.setupIceCandidateHandler(test, function() {}, function () {});
} }
function PC_REMOTE_ADD_FAKE_ICE_CANDIDATE(test) { function PC_REMOTE_ADD_FAKE_ICE_CANDIDATE(test) {
var cand = new RTCIceCandidate({"candidate":"candidate:0 1 UDP 2130379007 192.0.2.1 12345 typ host","sdpMid":"","sdpMLineIndex":0}); var cand = new mozRTCIceCandidate({"candidate":"candidate:0 1 UDP 2130379007 192.0.2.1 12345 typ host","sdpMid":"","sdpMLineIndex":0});
test.pcRemote.storeOrAddIceCandidate(cand); test.pcRemote.storeOrAddIceCandidate(cand);
info(test.pcRemote + " Stored fake candidate: " + JSON.stringify(cand)); info(test.pcRemote + " Stored fake candidate: " + JSON.stringify(cand));
} }
function PC_LOCAL_ADD_FAKE_ICE_CANDIDATE(test) { function PC_LOCAL_ADD_FAKE_ICE_CANDIDATE(test) {
var cand = new RTCIceCandidate({"candidate":"candidate:0 1 UDP 2130379007 192.0.2.2 56789 typ host","sdpMid":"","sdpMLineIndex":0}); var cand = new mozRTCIceCandidate({"candidate":"candidate:0 1 UDP 2130379007 192.0.2.2 56789 typ host","sdpMid":"","sdpMLineIndex":0});
test.pcLocal.storeOrAddIceCandidate(cand); test.pcLocal.storeOrAddIceCandidate(cand);
info(test.pcLocal + " Stored fake candidate: " + JSON.stringify(cand)); info(test.pcLocal + " Stored fake candidate: " + JSON.stringify(cand));
} }

View File

@ -17,7 +17,7 @@
}; };
function testCreateAnswerError() { function testCreateAnswerError() {
var pc = new RTCPeerConnection(); var pc = new mozRTCPeerConnection();
info ("Testing createAnswer error"); info ("Testing createAnswer error");
return pc.createAnswer() return pc.createAnswer()
.then(generateErrorCallback("createAnswer before offer should fail"), .then(generateErrorCallback("createAnswer before offer should fail"),
@ -25,18 +25,18 @@
}; };
function testSetLocalDescriptionError() { function testSetLocalDescriptionError() {
var pc = new RTCPeerConnection(); var pc = new mozRTCPeerConnection();
info ("Testing setLocalDescription error"); info ("Testing setLocalDescription error");
return pc.setLocalDescription(new RTCSessionDescription({ sdp: "Picklechips!", return pc.setLocalDescription(new mozRTCSessionDescription({ sdp: "Picklechips!",
type: "offer" })) type: "offer" }))
.then(generateErrorCallback("setLocalDescription with nonsense SDP should fail"), .then(generateErrorCallback("setLocalDescription with nonsense SDP should fail"),
validateReason); validateReason);
}; };
function testSetRemoteDescriptionError() { function testSetRemoteDescriptionError() {
var pc = new RTCPeerConnection(); var pc = new mozRTCPeerConnection();
info ("Testing setRemoteDescription error"); info ("Testing setRemoteDescription error");
return pc.setRemoteDescription(new RTCSessionDescription({ sdp: "Who?", return pc.setRemoteDescription(new mozRTCSessionDescription({ sdp: "Who?",
type: "offer" })) type: "offer" }))
.then(generateErrorCallback("setRemoteDescription with nonsense SDP should fail"), .then(generateErrorCallback("setRemoteDescription with nonsense SDP should fail"),
validateReason); validateReason);

View File

@ -20,12 +20,12 @@ function PC_REMOTE_SETUP_NULL_ICE_HANDLER(test) {
test.pcRemote.setupIceCandidateHandler(test, function() {}, function () {}); test.pcRemote.setupIceCandidateHandler(test, function() {}, function () {});
} }
function PC_REMOTE_ADD_FAKE_ICE_CANDIDATE(test) { function PC_REMOTE_ADD_FAKE_ICE_CANDIDATE(test) {
var cand = new RTCIceCandidate({"candidate":"candidate:0 1 UDP 2130379007 192.0.2.1 12345 typ host","sdpMid":"","sdpMLineIndex":0}); var cand = new mozRTCIceCandidate({"candidate":"candidate:0 1 UDP 2130379007 192.0.2.1 12345 typ host","sdpMid":"","sdpMLineIndex":0});
test.pcRemote.storeOrAddIceCandidate(cand); test.pcRemote.storeOrAddIceCandidate(cand);
info(test.pcRemote + " Stored fake candidate: " + JSON.stringify(cand)); info(test.pcRemote + " Stored fake candidate: " + JSON.stringify(cand));
} }
function PC_LOCAL_ADD_FAKE_ICE_CANDIDATE(test) { function PC_LOCAL_ADD_FAKE_ICE_CANDIDATE(test) {
var cand = new RTCIceCandidate({"candidate":"candidate:0 1 UDP 2130379007 192.0.2.2 56789 typ host","sdpMid":"","sdpMLineIndex":0}); var cand = new mozRTCIceCandidate({"candidate":"candidate:0 1 UDP 2130379007 192.0.2.2 56789 typ host","sdpMid":"","sdpMLineIndex":0});
test.pcLocal.storeOrAddIceCandidate(cand); test.pcLocal.storeOrAddIceCandidate(cand);
info(test.pcLocal + " Stored fake candidate: " + JSON.stringify(cand)); info(test.pcLocal + " Stored fake candidate: " + JSON.stringify(cand));
} }

View File

@ -39,7 +39,7 @@
function PC_REMOTE_ROLLBACK(test) { function PC_REMOTE_ROLLBACK(test) {
return test.setLocalDescription( return test.setLocalDescription(
test.pcRemote, test.pcRemote,
new RTCSessionDescription({ type: "rollback", sdp: ""}), new mozRTCSessionDescription({ type: "rollback", sdp: ""}),
STABLE); STABLE);
}, },

View File

@ -25,7 +25,7 @@
function PC_REMOTE_ROLLBACK(test) { function PC_REMOTE_ROLLBACK(test) {
return test.setLocalDescription( return test.setLocalDescription(
test.pcRemote, test.pcRemote,
new RTCSessionDescription({ type: "rollback", sdp: ""}), new mozRTCSessionDescription({ type: "rollback", sdp: ""}),
STABLE); STABLE);
}, },

View File

@ -12,8 +12,8 @@
visible: true visible: true
}); });
var pc1 = new RTCPeerConnection(); var pc1 = new mozRTCPeerConnection();
var pc2 = new RTCPeerConnection(); var pc2 = new mozRTCPeerConnection();
var pc2_haveRemoteOffer = new Promise(resolve => pc2.onsignalingstatechange = var pc2_haveRemoteOffer = new Promise(resolve => pc2.onsignalingstatechange =
e => (e.target.signalingState == "have-remote-offer") && resolve()); e => (e.target.signalingState == "have-remote-offer") && resolve());

View File

@ -37,14 +37,14 @@
function PC_REMOTE_ROLLBACK(test) { function PC_REMOTE_ROLLBACK(test) {
return test.setRemoteDescription( return test.setRemoteDescription(
test.pcRemote, test.pcRemote,
new RTCSessionDescription({ type: "rollback" }), new mozRTCSessionDescription({ type: "rollback" }),
STABLE); STABLE);
}, },
function PC_LOCAL_ROLLBACK(test) { function PC_LOCAL_ROLLBACK(test) {
return test.setLocalDescription( return test.setLocalDescription(
test.pcLocal, test.pcLocal,
new RTCSessionDescription({ type: "rollback", sdp: ""}), new mozRTCSessionDescription({ type: "rollback", sdp: ""}),
STABLE); STABLE);
}, },

View File

@ -20,14 +20,14 @@
function PC_REMOTE_ROLLBACK(test) { function PC_REMOTE_ROLLBACK(test) {
return test.setRemoteDescription( return test.setRemoteDescription(
test.pcRemote, test.pcRemote,
new RTCSessionDescription({ type: "rollback" }), new mozRTCSessionDescription({ type: "rollback" }),
STABLE); STABLE);
}, },
function PC_LOCAL_ROLLBACK(test) { function PC_LOCAL_ROLLBACK(test) {
return test.setLocalDescription( return test.setLocalDescription(
test.pcLocal, test.pcLocal,
new RTCSessionDescription({ type: "rollback", sdp: ""}), new mozRTCSessionDescription({ type: "rollback", sdp: ""}),
STABLE); STABLE);
}, },

View File

@ -42,10 +42,10 @@ runNetworkTest(function () {
let pc0, pc1, pc2; let pc0, pc1, pc2;
// Test failure callbacks (limited to 1 for now) // Test failure callbacks (limited to 1 for now)
pc0 = new RTCPeerConnection(); pc0 = new mozRTCPeerConnection();
pc0.createOffer(getFail(), function(err) { pc0.createOffer(getFail(), function(err) {
pc1 = new RTCPeerConnection(); pc1 = new mozRTCPeerConnection();
pc2 = new RTCPeerConnection(); pc2 = new mozRTCPeerConnection();
// Test success callbacks (happy path) // Test success callbacks (happy path)
navigator.mozGetUserMedia({video:true, fake: true}, function(video1) { navigator.mozGetUserMedia({video:true, fake: true}, function(video1) {

View File

@ -8,13 +8,13 @@
<script type="application/javascript"> <script type="application/javascript">
createHTML({ createHTML({
bug: "928304", bug: "928304",
title: "test toJSON() on RTCSessionDescription and RTCIceCandidate" title: "test toJSON() on mozRTCSessionDescription and mozRTCIceCandidate"
}); });
runNetworkTest(function () { runNetworkTest(function () {
/** Test for Bug 872377 **/ /** Test for Bug 872377 **/
var rtcSession = new RTCSessionDescription({ sdp: "Picklechips!", var rtcSession = new mozRTCSessionDescription({ sdp: "Picklechips!",
type: "offer" }); type: "offer" });
var jsonCopy = JSON.parse(JSON.stringify(rtcSession)); var jsonCopy = JSON.parse(JSON.stringify(rtcSession));
for (key in rtcSession) { for (key in rtcSession) {
@ -24,7 +24,7 @@
/** Test for Bug 928304 **/ /** Test for Bug 928304 **/
var rtcIceCandidate = new RTCIceCandidate({ candidate: "dummy", var rtcIceCandidate = new mozRTCIceCandidate({ candidate: "dummy",
sdpMid: "test", sdpMid: "test",
sdpMLineIndex: 3 }); sdpMLineIndex: 3 });
jsonCopy = JSON.parse(JSON.stringify(rtcIceCandidate)); jsonCopy = JSON.parse(JSON.stringify(rtcIceCandidate));

View File

@ -974,18 +974,12 @@ var interfaceNamesInGlobalScope =
"RTCCertificate", "RTCCertificate",
// IMPORTANT: Do not change this list without review from a DOM peer! // IMPORTANT: Do not change this list without review from a DOM peer!
"RTCDataChannelEvent", "RTCDataChannelEvent",
// IMPORTANT: Do not change this list without review from a DOM peer!
"RTCIceCandidate",
// IMPORTANT: Do not change this list without review from a DOM peer!
"RTCPeerConnection",
// IMPORTANT: Do not change this list without review from a DOM peer! // IMPORTANT: Do not change this list without review from a DOM peer!
"RTCPeerConnectionIceEvent", "RTCPeerConnectionIceEvent",
// IMPORTANT: Do not change this list without review from a DOM peer! // IMPORTANT: Do not change this list without review from a DOM peer!
"RTCRtpReceiver", "RTCRtpReceiver",
// IMPORTANT: Do not change this list without review from a DOM peer! // IMPORTANT: Do not change this list without review from a DOM peer!
"RTCRtpSender", "RTCRtpSender",
// IMPORTANT: Do not change this list without review from a DOM peer!
"RTCSessionDescription",
// IMPORTANT: Do not change this list without review from a DOM peer! // IMPORTANT: Do not change this list without review from a DOM peer!
"RTCStatsReport", "RTCStatsReport",
// IMPORTANT: Do not change this list without review from a DOM peer! // IMPORTANT: Do not change this list without review from a DOM peer!

View File

@ -389,8 +389,7 @@ partial interface Navigator {
readonly attribute MediaDevices mediaDevices; readonly attribute MediaDevices mediaDevices;
// Deprecated. Use mediaDevices.getUserMedia instead. // Deprecated. Use mediaDevices.getUserMedia instead.
[Deprecated="NavigatorGetUserMedia", Throws, [Throws, Func="Navigator::HasUserMediaSupport", UnsafeInPrerendering]
Func="Navigator::HasUserMediaSupport", UnsafeInPrerendering]
void mozGetUserMedia(MediaStreamConstraints constraints, void mozGetUserMedia(MediaStreamConstraints constraints,
NavigatorUserMediaSuccessCallback successCallback, NavigatorUserMediaSuccessCallback successCallback,
NavigatorUserMediaErrorCallback errorCallback); NavigatorUserMediaErrorCallback errorCallback);

View File

@ -5,7 +5,7 @@
* *
* PeerConnection.js' interface to the C++ PeerConnectionImpl. * PeerConnection.js' interface to the C++ PeerConnectionImpl.
* *
* Do not confuse with RTCPeerConnection. This interface is purely for * Do not confuse with mozRTCPeerConnection. This interface is purely for
* communication between the PeerConnection JS DOM binding and the C++ * communication between the PeerConnection JS DOM binding and the C++
* implementation in SIPCC. * implementation in SIPCC.
* *

View File

@ -8,7 +8,7 @@ interface nsISupports;
[ChromeOnly, [ChromeOnly,
JSImplementation="@mozilla.org/dom/peerconnectionobserver;1", JSImplementation="@mozilla.org/dom/peerconnectionobserver;1",
Constructor (RTCPeerConnection domPC)] Constructor (mozRTCPeerConnection domPC)]
interface PeerConnectionObserver interface PeerConnectionObserver
{ {
/* JSEP callbacks */ /* JSEP callbacks */

View File

@ -16,7 +16,7 @@ dictionary RTCIceCandidateInit {
[Pref="media.peerconnection.enabled", [Pref="media.peerconnection.enabled",
JSImplementation="@mozilla.org/dom/rtcicecandidate;1", JSImplementation="@mozilla.org/dom/rtcicecandidate;1",
Constructor(optional RTCIceCandidateInit candidateInitDict)] Constructor(optional RTCIceCandidateInit candidateInitDict)]
interface RTCIceCandidate { interface mozRTCIceCandidate {
attribute DOMString? candidate; attribute DOMString? candidate;
attribute DOMString? sdpMid; attribute DOMString? sdpMid;
attribute unsigned short? sdpMLineIndex; attribute unsigned short? sdpMLineIndex;

View File

@ -7,7 +7,7 @@
* http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCPeerConnection * http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCPeerConnection
*/ */
callback RTCSessionDescriptionCallback = void (RTCSessionDescription sdp); callback RTCSessionDescriptionCallback = void (mozRTCSessionDescription sdp);
callback RTCPeerConnectionErrorCallback = void (DOMError error); callback RTCPeerConnectionErrorCallback = void (DOMError error);
callback VoidFunction = void (); callback VoidFunction = void ();
callback RTCStatsCallback = void (RTCStatsReport report); callback RTCStatsCallback = void (RTCStatsReport report);
@ -62,9 +62,6 @@ dictionary RTCAnswerOptions : RTCOfferAnswerOptions {
dictionary RTCOfferOptions : RTCOfferAnswerOptions { dictionary RTCOfferOptions : RTCOfferAnswerOptions {
long offerToReceiveVideo; long offerToReceiveVideo;
long offerToReceiveAudio; long offerToReceiveAudio;
// boolean iceRestart = false; // Not implemented (Bug 906986)
// Mozilla proprietary options (at risk: Bug 1196974)
boolean mozDontOfferDataChannel; boolean mozDontOfferDataChannel;
boolean mozBundleOnly; boolean mozBundleOnly;
@ -86,7 +83,8 @@ interface RTCDataChannel;
JSImplementation="@mozilla.org/dom/peerconnection;1", JSImplementation="@mozilla.org/dom/peerconnection;1",
Constructor (optional RTCConfiguration configuration, Constructor (optional RTCConfiguration configuration,
optional object? constraints)] optional object? constraints)]
interface RTCPeerConnection : EventTarget { // moz-prefixed until sufficiently standardized.
interface mozRTCPeerConnection : EventTarget {
[Throws, StaticClassOverride="mozilla::dom::RTCCertificate"] [Throws, StaticClassOverride="mozilla::dom::RTCCertificate"]
static Promise<RTCCertificate> generateCertificate (AlgorithmIdentifier keygenAlgorithm); static Promise<RTCCertificate> generateCertificate (AlgorithmIdentifier keygenAlgorithm);
@ -96,15 +94,15 @@ interface RTCPeerConnection : EventTarget {
optional DOMString username); optional DOMString username);
[Pref="media.peerconnection.identity.enabled"] [Pref="media.peerconnection.identity.enabled"]
Promise<DOMString> getIdentityAssertion(); Promise<DOMString> getIdentityAssertion();
Promise<RTCSessionDescription> createOffer (optional RTCOfferOptions options); Promise<mozRTCSessionDescription> createOffer (optional RTCOfferOptions options);
Promise<RTCSessionDescription> createAnswer (optional RTCAnswerOptions options); Promise<mozRTCSessionDescription> createAnswer (optional RTCAnswerOptions options);
Promise<void> setLocalDescription (RTCSessionDescription description); Promise<void> setLocalDescription (mozRTCSessionDescription description);
Promise<void> setRemoteDescription (RTCSessionDescription description); Promise<void> setRemoteDescription (mozRTCSessionDescription description);
readonly attribute RTCSessionDescription? localDescription; readonly attribute mozRTCSessionDescription? localDescription;
readonly attribute RTCSessionDescription? remoteDescription; readonly attribute mozRTCSessionDescription? remoteDescription;
readonly attribute RTCSignalingState signalingState; readonly attribute RTCSignalingState signalingState;
void updateIce (optional RTCConfiguration configuration); void updateIce (optional RTCConfiguration configuration);
Promise<void> addIceCandidate (RTCIceCandidate candidate); Promise<void> addIceCandidate (mozRTCIceCandidate candidate);
readonly attribute RTCIceGatheringState iceGatheringState; readonly attribute RTCIceGatheringState iceGatheringState;
readonly attribute RTCIceConnectionState iceConnectionState; readonly attribute RTCIceConnectionState iceConnectionState;
[Pref="media.peerconnection.identity.enabled"] [Pref="media.peerconnection.identity.enabled"]
@ -156,7 +154,7 @@ interface RTCPeerConnection : EventTarget {
// Legacy callback API // Legacy callback API
partial interface RTCPeerConnection { partial interface mozRTCPeerConnection {
// Dummy Promise<void> return values avoid "WebIDL.WebIDLError: error: // Dummy Promise<void> return values avoid "WebIDL.WebIDLError: error:
// We have overloads with both Promise and non-Promise return types" // We have overloads with both Promise and non-Promise return types"
@ -166,13 +164,13 @@ partial interface RTCPeerConnection {
optional RTCOfferOptions options); optional RTCOfferOptions options);
Promise<void> createAnswer (RTCSessionDescriptionCallback successCallback, Promise<void> createAnswer (RTCSessionDescriptionCallback successCallback,
RTCPeerConnectionErrorCallback failureCallback); RTCPeerConnectionErrorCallback failureCallback);
Promise<void> setLocalDescription (RTCSessionDescription description, Promise<void> setLocalDescription (mozRTCSessionDescription description,
VoidFunction successCallback, VoidFunction successCallback,
RTCPeerConnectionErrorCallback failureCallback); RTCPeerConnectionErrorCallback failureCallback);
Promise<void> setRemoteDescription (RTCSessionDescription description, Promise<void> setRemoteDescription (mozRTCSessionDescription description,
VoidFunction successCallback, VoidFunction successCallback,
RTCPeerConnectionErrorCallback failureCallback); RTCPeerConnectionErrorCallback failureCallback);
Promise<void> addIceCandidate (RTCIceCandidate candidate, Promise<void> addIceCandidate (mozRTCIceCandidate candidate,
VoidFunction successCallback, VoidFunction successCallback,
RTCPeerConnectionErrorCallback failureCallback); RTCPeerConnectionErrorCallback failureCallback);
Promise<void> getStats (MediaStreamTrack? selector, Promise<void> getStats (MediaStreamTrack? selector,

View File

@ -8,12 +8,12 @@
*/ */
dictionary RTCPeerConnectionIceEventInit : EventInit { dictionary RTCPeerConnectionIceEventInit : EventInit {
RTCIceCandidate? candidate = null; mozRTCIceCandidate? candidate = null;
}; };
[Pref="media.peerconnection.enabled", [Pref="media.peerconnection.enabled",
Constructor(DOMString type, Constructor(DOMString type,
optional RTCPeerConnectionIceEventInit eventInitDict)] optional RTCPeerConnectionIceEventInit eventInitDict)]
interface RTCPeerConnectionIceEvent : Event { interface RTCPeerConnectionIceEvent : Event {
readonly attribute RTCIceCandidate? candidate; readonly attribute mozRTCIceCandidate? candidate;
}; };

View File

@ -8,7 +8,7 @@
Right now, it is not possible to add static functions to a JS implemented Right now, it is not possible to add static functions to a JS implemented
interface (see bug 863952), so we need to create a simple interface with a interface (see bug 863952), so we need to create a simple interface with a
trivial constructor and no data to hold these functions that really ought to trivial constructor and no data to hold these functions that really ought to
be static in RTCPeerConnection. be static in mozRTCPeerConnection.
TODO(bcampen@mozilla.com) Merge this code into RTCPeerConnection once this TODO(bcampen@mozilla.com) Merge this code into RTCPeerConnection once this
limitation is gone. (Bug 1017082) limitation is gone. (Bug 1017082)
*/ */
@ -19,7 +19,7 @@ enum RTCLifecycleEvent {
"iceconnectionstatechange" "iceconnectionstatechange"
}; };
callback PeerConnectionLifecycleCallback = void (RTCPeerConnection pc, callback PeerConnectionLifecycleCallback = void (mozRTCPeerConnection pc,
unsigned long long windowId, unsigned long long windowId,
RTCLifecycleEvent eventType); RTCLifecycleEvent eventType);
@ -27,7 +27,7 @@ callback PeerConnectionLifecycleCallback = void (RTCPeerConnection pc,
Pref="media.peerconnection.enabled", Pref="media.peerconnection.enabled",
JSImplementation="@mozilla.org/dom/peerconnectionstatic;1", JSImplementation="@mozilla.org/dom/peerconnectionstatic;1",
Constructor()] Constructor()]
interface RTCPeerConnectionStatic { interface mozRTCPeerConnectionStatic {
/* One slot per window (the window in which the register call is made), /* One slot per window (the window in which the register call is made),
automatically unregistered when window goes away. automatically unregistered when window goes away.

View File

@ -22,7 +22,7 @@ dictionary RTCSessionDescriptionInit {
[Pref="media.peerconnection.enabled", [Pref="media.peerconnection.enabled",
JSImplementation="@mozilla.org/dom/rtcsessiondescription;1", JSImplementation="@mozilla.org/dom/rtcsessiondescription;1",
Constructor(optional RTCSessionDescriptionInit descriptionInitDict)] Constructor(optional RTCSessionDescriptionInit descriptionInitDict)]
interface RTCSessionDescription { interface mozRTCSessionDescription {
attribute RTCSdpType? type; attribute RTCSdpType? type;
attribute DOMString? sdp; attribute DOMString? sdp;

View File

@ -1,29 +0,0 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file includes all the deprecated mozRTC prefixed interfaces.
*
* The declaration of each should match the declaration of the real, unprefixed
* interface. These aliases will be removed at some point (Bug 1155923).
*/
[Deprecated="WebrtcDeprecatedPrefix",
Pref="media.peerconnection.enabled",
JSImplementation="@mozilla.org/dom/rtcicecandidate;1",
Constructor(optional RTCIceCandidateInit candidateInitDict)]
interface mozRTCIceCandidate : RTCIceCandidate {};
[Deprecated="WebrtcDeprecatedPrefix",
Pref="media.peerconnection.enabled",
JSImplementation="@mozilla.org/dom/peerconnection;1",
Constructor (optional RTCConfiguration configuration,
optional object? constraints)]
interface mozRTCPeerConnection : RTCPeerConnection {};
[Deprecated="WebrtcDeprecatedPrefix",
Pref="media.peerconnection.enabled",
JSImplementation="@mozilla.org/dom/rtcsessiondescription;1",
Constructor(optional RTCSessionDescriptionInit descriptionInitDict)]
interface mozRTCSessionDescription : RTCSessionDescription {};

View File

@ -31,7 +31,7 @@ typedef any Transferable;
[Replaceable, Constant, StoreInSlot, [Replaceable, Constant, StoreInSlot,
CrossOriginReadable] readonly attribute Window self; CrossOriginReadable] readonly attribute Window self;
[Unforgeable, StoreInSlot, Pure] readonly attribute Document? document; [Unforgeable, StoreInSlot, Pure] readonly attribute Document? document;
[Throws] attribute DOMString name; [Throws] attribute DOMString name;
[PutForwards=href, Unforgeable, Throws, [PutForwards=href, Unforgeable, Throws,
CrossOriginReadable, CrossOriginWritable] readonly attribute Location? location; CrossOriginReadable, CrossOriginWritable] readonly attribute Location? location;
[Throws] readonly attribute History history; [Throws] readonly attribute History history;
@ -65,7 +65,7 @@ typedef any Transferable;
getter object (DOMString name); getter object (DOMString name);
// the user agent // the user agent
[Throws] readonly attribute Navigator navigator; [Throws] readonly attribute Navigator navigator;
#ifdef HAVE_SIDEBAR #ifdef HAVE_SIDEBAR
[Replaceable, Throws] readonly attribute External external; [Replaceable, Throws] readonly attribute External external;
#endif #endif
@ -343,7 +343,7 @@ partial interface Window {
* This property exists because static attributes don't yet work for * This property exists because static attributes don't yet work for
* JS-implemented WebIDL (see bugs 1058606 and 863952). With this hack, we * JS-implemented WebIDL (see bugs 1058606 and 863952). With this hack, we
* can use `MozSelfSupport.something(...)`, which will continue to work * can use `MozSelfSupport.something(...)`, which will continue to work
* after we ditch this property and switch to static attributes. See * after we ditch this property and switch to static attributes. See
*/ */
[ChromeOnly, Throws] readonly attribute MozSelfSupport MozSelfSupport; [ChromeOnly, Throws] readonly attribute MozSelfSupport MozSelfSupport;

View File

@ -627,7 +627,6 @@ if CONFIG['MOZ_WEBRTC']:
'RTCRtpReceiver.webidl', 'RTCRtpReceiver.webidl',
'RTCRtpSender.webidl', 'RTCRtpSender.webidl',
'RTCSessionDescription.webidl', 'RTCSessionDescription.webidl',
'WebrtcDeprecated.webidl',
'WebrtcGlobalInformation.webidl', 'WebrtcGlobalInformation.webidl',
] ]

View File

@ -6,7 +6,7 @@ if (navigator.mozGetUserMedia) {
console.log("This appears to be Firefox"); console.log("This appears to be Firefox");
// The RTCPeerConnection object. // The RTCPeerConnection object.
RTCPeerConnection = RTCPeerConnection || mozRTCPeerConnection; RTCPeerConnection = mozRTCPeerConnection;
// Get UserMedia (only difference is the prefix). // Get UserMedia (only difference is the prefix).
// Code from Adam Barth. // Code from Adam Barth.

View File

@ -49,14 +49,14 @@ if (navigator.mozGetUserMedia) {
var RTCPeerConnection = function(pcConfig, pcConstraints) { var RTCPeerConnection = function(pcConfig, pcConstraints) {
// .urls is not supported in FF yet. // .urls is not supported in FF yet.
maybeFixConfiguration(pcConfig); maybeFixConfiguration(pcConfig);
return new (RTCPeerConnectioni || mozRTCPeerConnection)(pcConfig, pcConstraints); return new mozRTCPeerConnection(pcConfig, pcConstraints);
} }
// The RTCSessionDescription object. // The RTCSessionDescription object.
RTCSessionDescription = RTCSessionDescription || mozRTCSessionDescription; RTCSessionDescription = mozRTCSessionDescription;
// The RTCIceCandidate object. // The RTCIceCandidate object.
RTCIceCandidate = RTCIceCandidate || mozRTCIceCandidate; RTCIceCandidate = mozRTCIceCandidate;
// Get UserMedia (only difference is the prefix). // Get UserMedia (only difference is the prefix).
// Code from Adam Barth. // Code from Adam Barth.

View File

@ -19,14 +19,14 @@ var failure = function(x) {
var TabMirror = function(deviceId, window) { var TabMirror = function(deviceId, window) {
this.deviceId = deviceId; this.deviceId = deviceId;
// Save RTCSessionDescription and RTCIceCandidate for later when the window object is not available. // Save mozRTCSessionDescription and mozRTCIceCandidate for later when the window object is not available.
this.RTCSessionDescription = window.RTCSessionDescription; this.RTCSessionDescription = window.mozRTCSessionDescription;
this.RTCIceCandidate = window.RTCIceCandidate; this.RTCIceCandidate = window.mozRTCIceCandidate;
Services.obs.addObserver((aSubject, aTopic, aData) => this._processMessage(aData), "MediaPlayer:Response", false); Services.obs.addObserver((aSubject, aTopic, aData) => this._processMessage(aData), "MediaPlayer:Response", false);
this._sendMessage({ start: true }); this._sendMessage({ start: true });
this._window = window; this._window = window;
this._pc = new window.RTCPeerConnection(CONFIG, {}); this._pc = new window.mozRTCPeerConnection(CONFIG, {});
if (!this._pc) { if (!this._pc) {
throw "Failure creating Webrtc object"; throw "Failure creating Webrtc object";
} }

View File

@ -149,5 +149,3 @@ SyncXMLHttpRequestWarning=Synchronous XMLHttpRequest on the main thread is depre
DataContainerEventWarning=Use of DataContainerEvent is deprecated. Use CustomEvent instead. DataContainerEventWarning=Use of DataContainerEvent is deprecated. Use CustomEvent instead.
# LOCALIZATION NOTE: Do not translate "Worker". # LOCALIZATION NOTE: Do not translate "Worker".
EmptyWorkerSourceWarning=Attempting to create a Worker from an empty source. This is probably unintentional. EmptyWorkerSourceWarning=Attempting to create a Worker from an empty source. This is probably unintentional.
WebrtcDeprecatedPrefixWarning=WebRTC interfaces with the "moz" prefix (mozRTCPeerConnection, mozRTCSessionDescription, mozRTCIceCandidate) have been deprecated.
NavigatorGetUserMediaWarning=navigator.mozGetUserMedia has been replaced by navigator.mediaDevices.getUserMedia