@@ -21,7 +21,7 @@ let deprecationWarnings_ = true;
2121 */
2222export function extractVersion ( uastring , expr , pos ) {
2323 const match = uastring . match ( expr ) ;
24- return match && match . length >= pos && parseInt ( match [ pos ] , 10 ) ;
24+ return match && match . length >= pos && parseFloat ( match [ pos ] , 10 ) ;
2525}
2626
2727// Wraps the peerconnection event eventNameToWrap in a function
@@ -173,24 +173,27 @@ export function detectBrowser(window) {
173173
174174 if ( navigator . mozGetUserMedia ) { // Firefox.
175175 result . browser = 'firefox' ;
176- result . version = extractVersion ( navigator . userAgent ,
177- / F i r e f o x \/ ( \d + ) \. / , 1 ) ;
176+ result . version = parseInt ( extractVersion ( navigator . userAgent ,
177+ / F i r e f o x \/ ( \d + ) \. / , 1 ) ) ;
178178 } else if ( navigator . webkitGetUserMedia ||
179179 ( window . isSecureContext === false && window . webkitRTCPeerConnection ) ) {
180180 // Chrome, Chromium, Webview, Opera.
181181 // Version matches Chrome/WebRTC version.
182182 // Chrome 74 removed webkitGetUserMedia on http as well so we need the
183183 // more complicated fallback to webkitRTCPeerConnection.
184184 result . browser = 'chrome' ;
185- result . version = extractVersion ( navigator . userAgent ,
186- / C h r o m ( e | i u m ) \/ ( \d + ) \. / , 2 ) ;
185+ result . version = parseInt ( extractVersion ( navigator . userAgent ,
186+ / C h r o m ( e | i u m ) \/ ( \d + ) \. / , 2 ) ) ;
187187 } else if ( window . RTCPeerConnection &&
188188 navigator . userAgent . match ( / A p p l e W e b K i t \/ ( \d + ) \. / ) ) { // Safari.
189189 result . browser = 'safari' ;
190- result . version = extractVersion ( navigator . userAgent ,
191- / A p p l e W e b K i t \/ ( \d + ) \. / , 1 ) ;
190+ result . version = parseInt ( extractVersion ( navigator . userAgent ,
191+ / A p p l e W e b K i t \/ ( \d + ) \. / , 1 ) ) ;
192192 result . supportsUnifiedPlan = window . RTCRtpTransceiver &&
193193 'currentDirection' in window . RTCRtpTransceiver . prototype ;
194+ // Only for internal usage.
195+ result . _safariVersion = extractVersion ( navigator . userAgent ,
196+ / V e r s i o n \/ ( \d + ( \. ? \d + ) ) / ) ;
194197 } else { // Default fallthrough: not supported.
195198 result . browser = 'Not a supported browser.' ;
196199 return result ;
0 commit comments