- 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