Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(149)

Side by Side Diff: chrome/test/data/webrtc/peerconnection.js

Issue 2951713002: RTCPeerConnection.addTrack and removeTrack added (behind flag) (Closed)
Patch Set: Addressed deadbeef's comments Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/test/data/webrtc/munge_sdp.js ('k') | chrome/test/data/webrtc/peerconnection_rtp.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /** 1 /**
2 * Copyright 2014 The Chromium Authors. All rights reserved. 2 * Copyright 2014 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 */ 5 */
6 6
7 /** 7 /**
8 * The one and only peer connection in this page. 8 * The one and only peer connection in this page.
9 * @private 9 * @private
10 */ 10 */
(...skipping 28 matching lines...) Expand all
39 * @private 39 * @private
40 */ 40 */
41 var gDefaultVideoCodec = null; 41 var gDefaultVideoCodec = null;
42 42
43 /** 43 /**
44 * Flag to indicate if Opus Dtx should be enabled. 44 * Flag to indicate if Opus Dtx should be enabled.
45 * @private 45 * @private
46 */ 46 */
47 var gOpusDtx = false; 47 var gOpusDtx = false;
48 48
49 /** @private */
50 var gNegotiationNeededCount = 0;
51
49 // Public interface to tests. These are expected to be called with 52 // Public interface to tests. These are expected to be called with
50 // ExecuteJavascript invocations from the browser tests and will return answers 53 // ExecuteJavascript invocations from the browser tests and will return answers
51 // through the DOM automation controller. 54 // through the DOM automation controller.
52 55
53 /** 56 /**
54 * Creates a peer connection. Must be called before most other public functions 57 * Creates a peer connection. Must be called before most other public functions
55 * in this file. Alternatively, see |preparePeerConnectionWithCertificate|. 58 * in this file. Alternatively, see |preparePeerConnectionWithCertificate|.
56 * @param {Object} keygenAlgorithm Unless null, this is an |AlgorithmIdentifier| 59 * @param {Object} keygenAlgorithm Unless null, this is an |AlgorithmIdentifier|
57 * to be used as parameter to |RTCPeerConnection.generateCertificate|. The 60 * to be used as parameter to |RTCPeerConnection.generateCertificate|. The
58 * resulting certificate will be used by the peer connection. If null, a default 61 * resulting certificate will be used by the peer connection. If null, a default
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 }); 450 });
448 } 451 }
449 452
450 /** 453 /**
451 * Returns the last iceGatheringState emitted from icegatheringstatechange. 454 * Returns the last iceGatheringState emitted from icegatheringstatechange.
452 */ 455 */
453 function getLastGatheringState() { 456 function getLastGatheringState() {
454 returnToTest(gIceGatheringState); 457 returnToTest(gIceGatheringState);
455 } 458 }
456 459
460 /**
461 * Returns "ok-negotiation-count-is-" followed by the number of times
462 * onnegotiationneeded has fired. This will include any currently queued
463 * negotiationneeded events.
464 */
465 function getNegotiationNeededCount() {
466 window.setTimeout(function() {
467 returnToTest('ok-negotiation-count-is-' + gNegotiationNeededCount);
468 }, 0);
469 }
470
457 // Internals. 471 // Internals.
458 472
459 /** @private */ 473 /** @private */
460 function createPeerConnection_(rtcConfig) { 474 function createPeerConnection_(rtcConfig) {
461 try { 475 try {
462 peerConnection = new RTCPeerConnection(rtcConfig, {}); 476 peerConnection = new RTCPeerConnection(rtcConfig, {});
463 } catch (exception) { 477 } catch (exception) {
464 throw failTest('Failed to create peer connection: ' + exception); 478 throw failTest('Failed to create peer connection: ' + exception);
465 } 479 }
466 peerConnection.onaddstream = addStreamCallback_; 480 peerConnection.onaddstream = addStreamCallback_;
467 peerConnection.onremovestream = removeStreamCallback_; 481 peerConnection.onremovestream = removeStreamCallback_;
468 peerConnection.onicecandidate = iceCallback_; 482 peerConnection.onicecandidate = iceCallback_;
469 peerConnection.onicegatheringstatechange = iceGatheringCallback_; 483 peerConnection.onicegatheringstatechange = iceGatheringCallback_;
484 peerConnection.onnegotiationneeded = negotiationNeededCallback_;
470 return peerConnection; 485 return peerConnection;
471 } 486 }
472 487
473 /** @private */ 488 /** @private */
474 function peerConnection_() { 489 function peerConnection_() {
475 if (gPeerConnection == null) 490 if (gPeerConnection == null)
476 throw failTest('Trying to use peer connection, but none was created.'); 491 throw failTest('Trying to use peer connection, but none was created.');
477 return gPeerConnection; 492 return gPeerConnection;
478 } 493 }
479 494
480 /** @private */ 495 /** @private */
481 function iceCallback_(event) { 496 function iceCallback_(event) {
482 if (event.candidate) 497 if (event.candidate)
483 gIceCandidates.push(event.candidate); 498 gIceCandidates.push(event.candidate);
484 } 499 }
485 500
486 /** @private */ 501 /** @private */
487 function iceGatheringCallback_() { 502 function iceGatheringCallback_() {
488 gIceGatheringState = peerConnection.iceGatheringState; 503 gIceGatheringState = peerConnection.iceGatheringState;
489 } 504 }
490 505
506 /** @private */
507 function negotiationNeededCallback_() {
508 ++gNegotiationNeededCount;
509 }
491 510
492 /** @private */ 511 /** @private */
493 function setLocalDescription(peerConnection, sessionDescription) { 512 function setLocalDescription(peerConnection, sessionDescription) {
494 if (sessionDescription.sdp.search('a=crypto') != -1 || 513 if (sessionDescription.sdp.search('a=crypto') != -1 ||
495 sessionDescription.sdp.search('a=fingerprint') != -1) 514 sessionDescription.sdp.search('a=fingerprint') != -1)
496 gHasSeenCryptoInSdp = 'crypto-seen'; 515 gHasSeenCryptoInSdp = 'crypto-seen';
497 516
498 peerConnection.setLocalDescription( 517 peerConnection.setLocalDescription(
499 sessionDescription, 518 sessionDescription,
500 function() { success('setLocalDescription'); }, 519 function() { success('setLocalDescription'); },
(...skipping 20 matching lines...) Expand all
521 function parseJson_(json) { 540 function parseJson_(json) {
522 // Escape since the \r\n in the SDP tend to get unescaped. 541 // Escape since the \r\n in the SDP tend to get unescaped.
523 jsonWithEscapedLineBreaks = json.replace(/\r\n/g, '\\r\\n'); 542 jsonWithEscapedLineBreaks = json.replace(/\r\n/g, '\\r\\n');
524 try { 543 try {
525 return JSON.parse(jsonWithEscapedLineBreaks); 544 return JSON.parse(jsonWithEscapedLineBreaks);
526 } catch (exception) { 545 } catch (exception) {
527 failTest('Failed to parse JSON: ' + jsonWithEscapedLineBreaks + ', got ' + 546 failTest('Failed to parse JSON: ' + jsonWithEscapedLineBreaks + ', got ' +
528 exception); 547 exception);
529 } 548 }
530 } 549 }
OLDNEW
« no previous file with comments | « chrome/test/data/webrtc/munge_sdp.js ('k') | chrome/test/data/webrtc/peerconnection_rtp.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698