| Index: inject.preload.js |
| diff --git a/inject.preload.js b/inject.preload.js |
| index ce6912136372870d2e7c3510994e6e05c3198984..357f6dd4d24f5c3a9847898102c7a6b479c53067 100644 |
| --- a/inject.preload.js |
| +++ b/inject.preload.js |
| @@ -174,8 +174,9 @@ function injected(eventName, injectedIntoContentWindow) |
| { |
| for (let name of properties) |
| { |
| - Object.defineProperty(dest, name, |
| - Object.getOwnPropertyDescriptor(src, name)); |
| + let descriptor = Object.getOwnPropertyDescriptor(src, name); |
| + if (descriptor) |
| + Object.defineProperty(dest, name, descriptor); |
| } |
| } |
| @@ -359,10 +360,15 @@ function injected(eventName, injectedIntoContentWindow) |
| return WrappedRTCPeerConnection(); |
| let configuration = protectConfiguration(args[0]); |
| + |
| // Since the old webkitRTCPeerConnection constructor takes an optional |
| // second argument we need to take care to pass that through. Necessary |
| // for older versions of Chrome such as 49. |
| - let peerconnection = new RealRTCPeerConnection(configuration, args[1]); |
| + let constraints = undefined; |
| + if (args.length > 1) |
| + constraints = args[1]; |
| + |
| + let peerconnection = new RealRTCPeerConnection(configuration, constraints); |
| checkConfiguration(peerconnection, configuration); |
| return peerconnection; |
| } |