Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revert PR#1108 #1171

Merged
merged 1 commit into from
May 8, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 25 additions & 38 deletions webrtc.html
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,6 @@ <h2>Terminology</h2>
handlers</a></dfn> and <dfn><a href=
"http://dev.w3.org/html5/spec/webappapis.html#event-handler-event-type">event
handler event types</a></dfn> are defined in [[!HTML5]].</p>
<p>The terms <dfn><a href=
"https://html.spec.whatwg.org/multipage/infrastructure.html#serializable-objects">
serializable objects</a></dfn>, <dfn><a href=
"https://html.spec.whatwg.org/multipage/infrastructure.html#serialization-steps">
serialization steps</a></dfn>, and <dfn><a href=
"https://html.spec.whatwg.org/multipage/infrastructure.html#deserialization-steps">
deserialization steps</a></dfn> are defined in [[!HTML]].</p>
<p>The terms <dfn>MediaStream</dfn>, <dfn>MediaStreamTrack</dfn>, and
<dfn>MediaStreamConstraints</dfn> are defined in [[!GETUSERMEDIA]].</p>
<p>The term <dfn>Blob</dfn> is defined in [[!FILEAPI]].</p>
Expand Down Expand Up @@ -4544,8 +4537,7 @@ <h2>RTCCertificate Interface</h2>
"RTCCertificate-certificate">certificate</dfn>]]) that
<code>RTCPeerConnection</code> uses to authenticate with a peer.</p>
<div>
<pre class="idl">[Serializable]
interface RTCCertificate {
<pre class="idl">interface RTCCertificate {
readonly attribute DOMTimeStamp expires;
sequence&lt;RTCDtlsFingerprint&gt; getFingerprints ();
// At risk due to lack of implementers' interest.
Expand Down Expand Up @@ -4608,36 +4600,31 @@ <h2>Methods</h2>
contains unstructured binary data.</p>
<p>Note that a <code>RTCCertificate</code> might not directly hold
private keying material, this might be stored in a secure module.</p>

<p><code>RTCCertificate</code> objects are <a>serializable objects</a>
[[!HTML]]. Their <a>serialization steps</a>, given <var>value</var> and
<var>serialized</var>, are:</p>

<ol>
<li>Set <var>serialized</var>.[[\expires]] to the value of
<var>value</var>'s <code>expires</code> attribute.</li>

<li>Set <var>serialized</var>.[[\certificate]] to
a copy of the unstructured binary data in
<var>value</var>.[[<a>certificate</a>]].</li>

<li>Set <var>serialized</var>.[[\handle]] be a serialization of the
private keying material represented by
<var>value</var>.[[<a>handle</a>]].</li>
</ol>

<p>Their <a>deserialization steps</a>, given <var>serialized</var> and
<var>value</var>, are:</p>

<p>The <code>RTCCertificate</code> object can be stored and retrieved
from persistent storage by an application. When a <a>user agent</a> is
required to obtain a structured clone [[!HTML5]] of a
<code>RTCCertificate</code> object, it performs the following
steps:</p>
<ol>
<li>Initialize <var>value</var>'s <code>expires</code> attribute to
contain <var>serialized</var>.[[\expires]].</li>

<li>Set <var>value</var>.[[<a>certificate</a>]] to
<var>serialized</var>.[[\certificate]].</li>

<li>Set <var>value</var>.[[<a>handle</a>]] to the private key material
resulting from deserializing <var>serialized</var>.[[\handle]].</li>
<li>Let <var>input</var> and <var>memory</var> be the corresponding
inputs defined by the internal structured cloning algorithm, where
<var>input</var> represents a <code>RTCCertificate</code> object to
be cloned.</li>
<li>Let <var>output</var> be a newly constructed
<code>RTCCertificate</code> object.</li>
<li>Copy the value of the <code>expires</code> attribute from
<var>input</var> to <var>output</var>.</li>
<li>Let the [[<a>certificate</a>]] internal slot of <var>output</var>
be set to the result of invoking the internal structured clone
algorithm recursively on the corresponding internal slots of
<var>input</var>, with the slot contents as the new
"<var>input</var>" argument and <var>memory</var> as the new
"<var>memory</var>" argument.
</li>
<li>Let the [[<a>handle</a>]] internal slot of <var>output</var>
refer to the same private keying material represented by the
[[<a>handle</a>]] internal slot of <var>input</var>.
</li>
</ol>
</section>
</section>
Expand Down