| Index: chrome/test/data/webrtc/peerconnection.js
 | 
| diff --git a/chrome/test/data/webrtc/peerconnection.js b/chrome/test/data/webrtc/peerconnection.js
 | 
| index 46d57a5c4f6096fb62729b1750f568702c7d085e..8d0f976963353ddf0b254d52c905ad6451325664 100644
 | 
| --- a/chrome/test/data/webrtc/peerconnection.js
 | 
| +++ b/chrome/test/data/webrtc/peerconnection.js
 | 
| @@ -23,7 +23,13 @@ var gIceCandidates = [];
 | 
|  var gHasSeenCryptoInSdp = 'no-crypto-seen';
 | 
|  
 | 
|  /**
 | 
| - * The default video codec that should be used.
 | 
| + * The default audio codec that should be used when creating an offer.
 | 
| + * @private
 | 
| + */
 | 
| +var gDefaultAudioCodec = null;
 | 
| +
 | 
| +/**
 | 
| + * The default video codec that should be used when creating an offer.
 | 
|   * @private
 | 
|   */
 | 
|  var gDefaultVideoCodec = null;
 | 
| @@ -88,15 +94,29 @@ function forceOpusDtx() {
 | 
|  }
 | 
|  
 | 
|  /**
 | 
| - * Sets the default video codec be used when creating an offer.
 | 
| + * Sets the default audio codec to be used when creating an offer and returns
 | 
| + * "ok" to test.
 | 
| + * @param {string} audioCodec promotes the specified codec to be the default
 | 
| + *     audio codec, e.g. the first one in the list on the 'm=audio' SDP offer
 | 
| + *     line. |audioCodec| is the case-sensitive codec name, e.g. 'opus' or
 | 
| + *     'ISAC'.
 | 
| + */
 | 
| +function setDefaultAudioCodec(audioCodec) {
 | 
| +  gDefaultAudioCodec = audioCodec;
 | 
| +  returnToTest('ok');
 | 
| +}
 | 
| +
 | 
| +/**
 | 
| + * Sets the default video codec to be used when creating an offer and returns
 | 
| + * "ok" to test.
 | 
|   * @param {string} videoCodec promotes the specified codec to be the default
 | 
|   *     video codec, e.g. the first one in the list on the 'm=video' SDP offer
 | 
|   *     line. |videoCodec| is the case-sensitive codec name, e.g. 'VP8' or
 | 
|   *     'H264'.
 | 
|   */
 | 
| -function forceVideoCodec(videoCodec) {
 | 
| +function setDefaultVideoCodec(videoCodec) {
 | 
|    gDefaultVideoCodec = videoCodec;
 | 
| -  returnToTest('ok-forced');
 | 
| +  returnToTest('ok');
 | 
|  }
 | 
|  
 | 
|  /**
 | 
| @@ -121,6 +141,10 @@ function createLocalOffer(constraints) {
 | 
|          success('createOffer');
 | 
|  
 | 
|          setLocalDescription(peerConnection, localOffer);
 | 
| +        if (gDefaultAudioCodec !== null) {
 | 
| +          localOffer.sdp = setSdpDefaultAudioCodec(localOffer.sdp,
 | 
| +                                                   gDefaultAudioCodec);
 | 
| +        }
 | 
|          if (gDefaultVideoCodec !== null) {
 | 
|            localOffer.sdp = setSdpDefaultVideoCodec(localOffer.sdp,
 | 
|                                                     gDefaultVideoCodec);
 | 
| @@ -170,33 +194,47 @@ function receiveOfferFromPeer(sessionDescJson, constraints) {
 | 
|  }
 | 
|  
 | 
|  /**
 | 
| - * Verifies that the codec previously set using forceVideoCodec() is the
 | 
| - * default video codec, e.g. the first one in the list on the 'm=video' SDP
 | 
| - * answer line. If this is not the case, |failure| occurs. If no codec was
 | 
| - * previously set using forceVideoCodec(), this function will return
 | 
| - * 'ok-no-default-set'.
 | 
| + * Verifies that the codec previously set using setDefault[Audio/Video]Codec()
 | 
| + * is the default audio/video codec, e.g. the first one in the list on the
 | 
| + * 'm=audio'/'m=video' SDP answer line. If this is not the case, |failure|
 | 
| + * occurs. If no codec was previously set using setDefault[Audio/Video]Codec(),
 | 
| + * this function will return 'ok-no-defaults-set'.
 | 
|   *
 | 
|   * @param {!string} sessionDescJson A JSON-encoded session description.
 | 
|   */
 | 
| -function verifyDefaultVideoCodec(sessionDescJson) {
 | 
| -  var sessionDesc = parseJson_(sessionDescJson);
 | 
| -  if (gDefaultVideoCodec === null) {
 | 
| -    returnToTest('ok-no-default-set');
 | 
| -    return;
 | 
| -  }
 | 
| +function verifyDefaultCodecs(sessionDescJson) {
 | 
| +  let sessionDesc = parseJson_(sessionDescJson);
 | 
|    if (!sessionDesc.type) {
 | 
| -    failure('verifyDefaultVideoCodec',
 | 
| +    failure('verifyDefaultCodecs',
 | 
|               'Invalid session description: ' + sessionDescJson);
 | 
|    }
 | 
| -  var defaultVideoCodec = getSdpDefaultVideoCodec(sessionDesc.sdp);
 | 
| -  if (defaultVideoCodec === null) {
 | 
| -    failure('verifyDefaultVideoCodec',
 | 
| -             'Could not determine default video codec.');
 | 
| +  if (gDefaultAudioCodec !== null && gDefaultVideoCodec !== null) {
 | 
| +    returnToTest('ok-no-defaults-set');
 | 
| +    return;
 | 
| +  }
 | 
| +  if (gDefaultAudioCodec !== null) {
 | 
| +    let defaultAudioCodec = getSdpDefaultAudioCodec(sessionDesc.sdp);
 | 
| +    if (defaultAudioCodec === null) {
 | 
| +      failure('verifyDefaultCodecs',
 | 
| +               'Could not determine default audio codec.');
 | 
| +    }
 | 
| +    if (gDefaultAudioCodec !== defaultAudioCodec) {
 | 
| +      failure('verifyDefaultCodecs',
 | 
| +               'Expected default audio codec ' + gDefaultAudioCodec +
 | 
| +               ', got ' + defaultAudioCodec + '.');
 | 
| +    }
 | 
|    }
 | 
| -  if (gDefaultVideoCodec !== defaultVideoCodec) {
 | 
| -    failure('verifyDefaultVideoCodec',
 | 
| -             'Expected default video codec ' + gDefaultVideoCodec +
 | 
| -             ', got ' + defaultVideoCodec + '.');
 | 
| +  if (gDefaultVideoCodec !== null) {
 | 
| +    let defaultVideoCodec = getSdpDefaultVideoCodec(sessionDesc.sdp);
 | 
| +    if (defaultVideoCodec === null) {
 | 
| +      failure('verifyDefaultCodecs',
 | 
| +               'Could not determine default video codec.');
 | 
| +    }
 | 
| +    if (gDefaultVideoCodec !== defaultVideoCodec) {
 | 
| +      failure('verifyDefaultCodecs',
 | 
| +               'Expected default video codec ' + gDefaultVideoCodec +
 | 
| +               ', got ' + defaultVideoCodec + '.');
 | 
| +    }
 | 
|    }
 | 
|    returnToTest('ok-verified');
 | 
|  }
 | 
| 
 |