- From: CVS User abergkvi <cvsmail@w3.org>
- Date: Fri, 30 Aug 2013 12:39:18 +0000
- To: public-dap-commits@w3.org
Update of /sources/public/2011/webrtc/editor In directory roscoe:/tmp/cvs-serv2732 Modified Files: webrtc.html webrtc.js Log Message: Added 20130830 archived version. --- /sources/public/2011/webrtc/editor/webrtc.html 2013/06/03 14:34:24 1.34 +++ /sources/public/2011/webrtc/editor/webrtc.html 2013/08/30 12:39:18 1.35 @@ -129,7 +129,7 @@ <h4>RTCConfiguration Type</h4> <dl class="idl" title="dictionary RTCConfiguration"> - <dt>RTCIceServer[] iceServers</dt> + <dt>sequence<RTCIceServer> iceServers</dt> <dd> <p>An array containing STUN and TURN servers available to be used @@ -142,18 +142,27 @@ <h4>RTCIceServer Type</h4> <dl class="idl" title="dictionary RTCIceServer"> - <dt>DOMString url</dt> + <dt>(DOMString or sequence<DOMString> urls</dt> <dd> - <p>A STUN or TURN URI as defined in [[!STUN-URI]] and + <p>STUN or TURN URI(s) as defined in [[!STUN-URI]] and [[!TURN-URI]].</p> </dd> + <dt>DOMString? username = null</dt> + + <dd> + <p>If this <code><a>RTCIceServer</a></code> object represents a + TURN server, then this attribute specifies the username to use + with that TURN server.</p> + </dd> + <dt>DOMString? credential</dt> <dd> - <p>If the url element of the internal array is a TURN URI, then - this is the credential to use with that TURN server.</p> + <p>If this <code><a>RTCIceServer</a></code> object represents a + TURN server, then this attribute specifies the credential to use + with that TURN server.</p> </dd> </dl> @@ -163,8 +172,8 @@ <p>An example array of RTCIceServer objects is:</p> - <p><code>[ { url:"stun:stun.example.net" } , { - url:"turn:user@turn.example.org", credential:"myPassword"} ]</code></p> + <p><code>[ { urls: "stun:stun1.example.net } , { + urls:"turn:turn.example.org", username: "user", credential:"myPassword"} ]</code></p> </section> </section> @@ -202,9 +211,7 @@ <p>When the <dfn id= "dom-peerconnection"><code>RTCPeerConnection()</code></dfn> constructor - is invoked, the user agent MUST run the following steps. This algorithm - has a synchronous section (which is triggered as part of the event loop - algorithm).</p> + is invoked, the user agent MUST run the following steps:</p> <ol> <li> @@ -245,13 +252,7 @@ </li> <li> - <p>Return <var>connection</var>, but continue these steps - asynchronously.</p> - </li> - - <li> - <p>Await a stable state. The synchronous section consists of the - remaining steps of this algorithm.</p> + <p>Return <var>connection</var>.</p> </li> </ol> @@ -531,7 +532,9 @@ <h3>Interface Definition</h3> <dl class="idl" title= - "[Constructor (RTCConfiguration configuration, optional MediaConstraints constraints)] interface RTCPeerConnection : EventTarget "> + "interface RTCPeerConnection : EventTarget "> + <dt>Constructor (RTCConfiguration configuration, optional MediaConstraints constraints)</dt> + <dd>See the <a href="#dom-peerconnection">RTCPeerConnection constructor algorithm</a>.</dd> <!-- <dt>void getCapabilities ( RTCSessionDescriptionCallback successCallback )</dt> @@ -595,6 +598,14 @@ function. Calling this method is needed to get the ICE user name fragment and password.</p> + <p>If the constraints parameter is malformed, throw a + <code>SyntaxError</code> exception and abort these steps.</p> + + <p>If the constraints could not be successfully applied, the user + agent MUST queue a task to invoke <var>failureCallback</var> with a + <code>DOMError</code> object whose <code>name</code> attribute has + the value <code>IncompatibleConstraintsError</code>.</p> + <p>If the <code>RTCPeerConnection</code> is configured to generate Identity assertions, then the session description SHALL contain an appropriate assertion.</p> @@ -609,14 +620,8 @@ representing the generated offer, as its argument.</p> <p>If the SDP generation process failed for any reason, the user - agent MUST queue a task to invoke <var>errorCallback</var> with an - <code>RTCError</code> object of type TBD as its argument.</p> - - <p>An exception with an <code>RTCError</code> object of type - <code>INVALID_CONSTRAINTS_TYPE</code> is thrown if the constraints - parameter is malformed, and an <code>RTCError</code> object of type - <code>INCOMPATIBLE_CONSTRAINTS</code> is provided to the failure - callback if the constraints could not be successfully applied.</p> + agent MUST queue a task to invoke <var>failureCallback</var> with an + <code>DOMError</code> object of type TBD as its argument.</p> <p>To Do: Discuss privacy aspects of this from a fingerprinting point of view - it's probably around as bad as access to a canvas @@ -659,6 +664,14 @@ "#widl-RTCSessionDescription-type">type</a></code> to <code>"pranswer"</code>.</p> + <p>If the constraints parameter is malformed, throw a + <code>SyntaxError</code> exception and abort these steps.</p> + + <p>If the constraints could not be successfully applied, the user + agent MUST queue a task to invoke <var>failureCallback</var> with a + <code>DOMError</code> object whose <code>name</code> attribute has + the value <code>IncompatibleConstraintsError</code>.</p> + <p>If the <code>RTCPeerConnection</code> is configured to generate Identity assertions, then the session description SHALL contain an appropriate assertion.</p> @@ -673,14 +686,8 @@ representing the generated answer, as its argument.</p> <p>If the SDP generation process failed for any reason, the user - agent MUST queue a task to invoke <var>errorCallback</var> with an - <code>RTCError</code> object of type TBD as its argument.</p> - - <p>An exception with an <code>RTCError</code> object of type - <code>INVALID_CONSTRAINTS_TYPE</code> is thrown if the constraints - parameter is malformed, and an <code>RTCError</code> object of type - <code>INCOMPATIBLE_CONSTRAINTS</code> is provided to the failure - callback if the constraints could not be successfully applied.</p> + agent MUST queue a task to invoke <var>failureCallback</var> with an + <code>DOMError</code> object of type TBD as its argument.</p> </dd> <dt>void setLocalDescription (RTCSessionDescription description, @@ -718,9 +725,9 @@ <li> <p>If this <code><a>RTCPeerConnection</a></code> object's <a href="#dom-peerconnection-signaling-state">signaling state</a> is - <code>closed</code>, the user agent MUST throw an exception with - an <code>RTCError</code> object of type <code>INVALID_STATE</code> - and abort this operation.</p> + <code>closed</code>, the user agent MUST throw an + <code>InvalidStateError</code> exception and abort this + operation.</p> </li> <li> @@ -763,7 +770,7 @@ </p> <p>Let <var>errorType</var> be - <code>INVALID_SESSION_DESCRIPTION</code>.</p> + <code>InvalidSessionDescriptionError</code>.</p> </li> <li> @@ -778,9 +785,9 @@ <p>If rollback was not necessary or was completed successfully, let <var>errorType</var> be - <code>INCOMPATIBLE_SESSION_DESCRIPTION</code>. If + <code>IncompatibleSessionDescriptionError</code>. If rollback was not possible, let <var>errorType</var> be - <code>INTERNAL_ERROR</code> and set + <code>InternalError</code> and set <var>connection</var>'s <a href= "#dom-peerconnection-signaling-state">signaling state</a> to <code>closed</code>.</p> @@ -790,8 +797,8 @@ <li> <p>Invoke the <var>failureCallback</var> with an - <code>RTCError</code> object, of type - <var>errorType</var>, as its argument. + <code>DOMError</code> object, whose <code>name</code> + attribute is <var>errorType</var>, as its argument. </li> </ol> </li> @@ -862,7 +869,7 @@ </ul> </dd> - <dt>readonly attribute RTCSessionDescription localDescription</dt> + <dt>readonly attribute RTCSessionDescription? localDescription</dt> <dd> <p>The <dfn id= @@ -892,6 +899,16 @@ verifies the identity following the procedures in [XREF sec.identity-proxy-assertion-request].</p> + <p>If any tracks on the PeerConnection have a peerIdentity + constraint and either the PeerConnection connection has + no peer identity or that identity is not equal to the + specified peerIdentity, the user agent MUST queue a task to + invoke <var>failureCallback</var> with a <code>DOMError</code> + object whose <code>name</code> attribute has the value + <code>IncompatibleConstraintsError</code>. Media must + not be transmitted to the other side in this case. + </p> + <p>When the method is invoked, the user agent must follow the <a href="#set-description-model">processing model</a> of <code><a href= @@ -899,7 +916,7 @@ </code>.</p> </dd> - <dt>readonly attribute RTCSessionDescription remoteDescription</dt> + <dt>readonly attribute RTCSessionDescription? remoteDescription</dt> <dd> <p>The <dfn id= @@ -947,14 +964,22 @@ document the new procedure in the correct place. </div> - <p>An exception with an <code>RTCError</code> object of type - <code>INVALID_CONSTRAINTS_TYPE</code> is thrown if the constraints - parameter is malformed, and an <code>RTCError</code> object of type - <code>INCOMPATIBLE_CONSTRAINTS</code> is provided to the failure - callback if the constraints could not be successfully applied.</p> + <p>If the constraints parameter is malformed, throw a + <code>SyntaxError</code> exception and abort these steps.</p> + + <div class="note">This method used to refer to a failiureCallback + it doesn't have to report IncompatibleConstraintsError. Update this + section when the same problem is solved for addStream().</div> + + <!--p>If the constraints could not be successfully applied, the user + agent MUST queue a task to invoke <var>failureCallback</var> with a + <code>DOMError</code> object whose <code>name</code> attribute has + the value <code>IncompatibleConstraintsError</code>.</p--> </dd> - <dt>void addIceCandidate (RTCIceCandidate candidate)</dt> + <dt>void addIceCandidate (RTCIceCandidate candidate, + VoidFunction successCallback, RTCPeerConnectionErrorCallback + failureCallback)</dt> <dd> <p>The <dfn id= @@ -967,9 +992,20 @@ state if it results in different connectivity being established.</p> - <p>An exception with an <code>RTCError</code> object of type - <code>INVALID_CANDIDATE_TYPE</code> is thrown if candidate - parameter is malformed.</p> + <p>If the candidate parameter is malformed, throw a + <code>SyntaxError</code> exception and abort these steps.</p> + + <p>If the candidate is successfully applied, the user + agent MUST queue a task to invoke <var>successCallback</var>.</p> + + <p>If the candidate could not be successfully applied, the user + agent MUST queue a task to invoke <var>failureCallback</var> with a + <code>DOMError</code> object whose <code>name</code> attribute has + the value TBD.</p> + + <div class="note">What errors do we need here? Should we reuse the + *SessionDescriptionError names or invent new ones for candidates? + Should this method be queued?</div> </dd> <dt>readonly attribute RTCIceGatheringState iceGatheringState</dt> @@ -1143,9 +1179,9 @@ <p>If <var>connection</var>'s <a href= "#dom-peerconnection-signaling-state"><code>RTCPeerConnection</code> - signalingState</a> is <code>closed</code>, abort these steps, - and throw an exception with an <code>RTCError</code> object of - type <code>INVALID_STATE</code>.</p> + signalingState</a> is <code>closed</code>, throw an + <code>InvalidStateError</code> exception and abort these steps. + </p> </li> <li> @@ -1157,18 +1193,33 @@ <li> <p>Add <var>stream</var> to <var>connection</var>'s <a href= "#local-streams-set">local streams set</a>.</p> + + <div class="note">This method used to refer to a failureCallback + it doesn't have. Discussion on how to report + IncompatibleConstraintsError taken to public-webrtc list.</div> </li> - <li> + <!--li> <p>Parse the <var>constraints</var> provided by the application and apply them to the MediaStream, if possible. If the - constraints could not be successfully applied, provide an - <code>RTCError</code> object of type - <code>INCOMPATIBLE_CONSTRAINTS</code> to the failure - callback.</p> + constraints could not be successfully applied, the user agent + MUST queue a task to invoke <var>failureCallback</var> with a + <code>DOMError</code> object whose <code>name</code> attribute + has the value <code>IncompatibleConstraintsError</code>.</p> </li> <li> + <p>If the stream has a <var>peerIdentity</var> constraint + set and the <code><a>RTCPeerConnection</a></code> is in a + connected state, check that the remote identity matches the + constraint. If there is no match, the user agent MUST queue a + task to invoke <var>failureCallback</var> with a + <code>DOMError</code> object whose <code>name</code> attribute + has the value <code>IncompatibleConstraintsError</code>.</p> + </p> + </li--> + + <li> <p>If <var>connection</var>'s <a href= "#dom-peerconnection-signaling-state"> <code>RTCPeerConnection</code> signalingState</a> is @@ -1210,7 +1261,7 @@ <a href= "#dom-peerconnection-signaling-state"><code>RTCPeerConnection</code> signalingState</a> is <code>closed</code>, throw an - <code>INVALID_STATE</code> exception.</p> + <code>InvalidStateError</code> exception.</p> </li> <li> @@ -1247,7 +1298,7 @@ <a href= "#dom-peerconnection-signaling-state"><code>RTCPeerConnection</code> signalingState</a> is <code>closed</code>, throw an - <code>INVALID_STATE</code> exception.</p> + <code>InvalidStateError</code> exception.</p> </li> <li> @@ -1544,7 +1595,7 @@ <h4>RTCPeerConnectionErrorCallback</h4> <dl title='callback RTCPeerConnectionErrorCallback = void' class='idl'> - <dt>RTCError error</dt> + <dt>DOMError error</dt> <dd>An error object encapsulating information about what went wrong.</dd> @@ -1559,130 +1610,59 @@ <h4>General Principles</h4> <p>Errors are indicated in two ways: exceptions and objects passed to - error callbacks. Both forms of error reporting MUST provide an object - of type <code>RTCError</code>. An exception MUST be thrown in the - following cases:</p> - - <ul> - <li>The type of any argument passed to a function did not match what - was expected. An appropriate string from the - <code>RTCExceptionName</code> enum MUST be used as the error - name.</li> - - <li>A function call was made when the RTCPeerConnection is in an - invalid state, or a state in which that particular function is not - allowed to be executed. In this case, the string - <code>INVALID_STATE</code> MUST be used as the error name.</li> - </ul> - - <p>In all other cases, an error object MUST be provided to the failure - callback. The error name in the object provided MUST be picked from - either the <code>RTCExceptionName</code> or <code>RTCErrorName</code> - enums.</p> - </section> - - <section> - <h4>RTCError</h4> - - <div class="note">OPEN ISSUE: Should RTCError extend DOMError?</div> - - <dl class='idl' title='interface RTCError'> - <dt>readonly attribute DOMString name</dt> [451 lines skipped] --- /sources/public/2011/webrtc/editor/webrtc.js 2013/03/22 20:39:15 1.7 +++ /sources/public/2011/webrtc/editor/webrtc.js 2013/08/30 12:39:18 1.8 @@ -22,7 +22,7 @@ // copyrightStart: "2005", // if there is a previously published draft, uncomment this and set its YYYY-MM-DD - prevED: "http://dev.w3.org/2011/webrtc/editor/archives/20130322/webrtc.html", + prevED: "http://dev.w3.org/2011/webrtc/editor/archives/20130603/webrtc.html", // if there a publicly available Editor's Draft, this is the link edDraftURI: "http://dev.w3.org/2011/webrtc/editor/webrtc.html",
Received on Friday, 30 August 2013 12:39:19 UTC