Skip to content

Commit 3248222

Browse files
committed
Revert "CREDENTIAL: Add 'FormData::makeOpaque()', which does what you'd expect."
@annevk didn't like this. :) This reverts commit f0effa9.
1 parent f0effa9 commit 3248222

File tree

2 files changed

+20
-72
lines changed

2 files changed

+20
-72
lines changed

specs/credentialmanagement/index.html

Lines changed: 20 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -226,20 +226,17 @@ <h2 class="no-num no-toc no-ref heading settled" id="contents"><span class="cont
226226
</ul>
227227
<li><a href="#opaque-formdata"><span class="secno">3.3</span> <span class="content">Opaque <code>FormData</code> objects</span></a>
228228
<ul class="toc">
229-
<li><a href="#monkey-patching-formdata"><span class="secno">3.3.1</span> <span class="content">
230-
<code>FormData</code> Modifications
231-
</span></a>
232-
<li><a href="#opaque-formdata-algorithms"><span class="secno">3.3.2</span> <span class="content">
229+
<li><a href="#opaque-formdata-algorithms"><span class="secno">3.3.1</span> <span class="content">
233230
Algorithm Modifications
234231
</span></a>
235232
<ul class="toc">
236-
<li><a href="#monkey-patching-xhr-2"><span class="secno">3.3.2.1</span> <span class="content">XHR: <code>FormData</code>’s <code>get()</code></span></a>
237-
<li><a href="#monkey-patching-xhr-3"><span class="secno">3.3.2.2</span> <span class="content">XHR: <code>FormData</code>’s <code>getAll()</code></span></a>
238-
<li><a href="#monkey-patching-fetch-1"><span class="secno">3.3.2.3</span> <span class="content">Fetch: <code>Request</code> objects</span></a>
239-
<li><a href="#monkey-patching-fetch-2"><span class="secno">3.3.2.4</span> <span class="content">Fetch: <code>Request</code>’s constructor</span></a>
240-
<li><a href="#monkey-patching-fetch-3"><span class="secno">3.3.2.5</span> <span class="content">Fetch: <code>Body</code>’s <code>consume body</code></span></a>
241-
<li><a href="#monkey-patching-fetch-4"><span class="secno">3.3.2.6</span> <span class="content">Fetch: Extract a byte stream</span></a>
242-
<li><a href="#monkey-patching-serviceworkers-1"><span class="secno">3.3.2.7</span> <span class="content">Service Worker: Handle a Fetch</span></a>
233+
<li><a href="#monkey-patching-xhr-2"><span class="secno">3.3.1.1</span> <span class="content">XHR: <code>FormData</code>’s <code>get()</code></span></a>
234+
<li><a href="#monkey-patching-xhr-3"><span class="secno">3.3.1.2</span> <span class="content">XHR: <code>FormData</code>’s <code>getAll()</code></span></a>
235+
<li><a href="#monkey-patching-fetch-1"><span class="secno">3.3.1.3</span> <span class="content">Fetch: <code>Request</code> objects</span></a>
236+
<li><a href="#monkey-patching-fetch-2"><span class="secno">3.3.1.4</span> <span class="content">Fetch: <code>Request</code>’s constructor</span></a>
237+
<li><a href="#monkey-patching-fetch-3"><span class="secno">3.3.1.5</span> <span class="content">Fetch: <code>Body</code>’s <code>consume body</code></span></a>
238+
<li><a href="#monkey-patching-fetch-4"><span class="secno">3.3.1.6</span> <span class="content">Fetch: Extract a byte stream</span></a>
239+
<li><a href="#monkey-patching-serviceworkers-1"><span class="secno">3.3.1.7</span> <span class="content">Service Worker: Handle a Fetch</span></a>
243240
</ul>
244241
</ul>
245242
</ul>
@@ -1527,14 +1524,6 @@ <h4 class="heading settled" data-level="3.2.2" id="identifying-federations"><spa
15271524

15281525
<h3 class="heading settled" data-level="3.3" id="opaque-formdata"><span class="secno">3.3. </span><span class="content">Opaque <code>FormData</code> objects</span><a class="self-link" href="#opaque-formdata"></a></h3>
15291526

1530-
1531-
<h4 class="heading settled" data-level="3.3.1" id="monkey-patching-formdata"><span class="secno">3.3.1. </span><span class="content">
1532-
<code>FormData</code> Modifications
1533-
</span><a class="self-link" href="#monkey-patching-formdata"></a></h4>
1534-
1535-
1536-
<p class="issue" id="issue-dd26c8e1"><a class="self-link" href="#issue-dd26c8e1"></a> Stop monkey patching XHR once we know that this is what we want.</p>
1537-
15381527

15391528
<p><code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#interface-formdata">FormData</a></code> objects have a <dfn data-dfn-type="dfn" data-noexport="" id="opaque-flag">opaque flag<a class="self-link" href="#opaque-flag"></a></dfn>, unset by default,
15401529
and set only if the object is constructed from a <code class="idl"><a data-link-type="idl" href="#passwordcredential">PasswordCredential</a></code>.
@@ -1544,16 +1533,6 @@ <h4 class="heading settled" data-level="3.3.1" id="monkey-patching-formdata"><sp
15441533
<a data-link-type="dfn" href="https://xhr.spec.whatwg.org/#concept-fetchbodyinit-extract">extracted</a> in the context of executing <code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#interface-xmlhttprequest">XMLHttpRequest</a></code>'s
15451534
<code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#dom-xmlhttprequest-send">send()</a></code> method.</p>
15461535

1547-
1548-
<pre class="idl">partial interface <a class="idl-code" data-link-type="interface" href="https://xhr.spec.whatwg.org/#interface-formdata">FormData</a> {
1549-
void <dfn class="idl-code" data-dfn-for="FormData" data-dfn-type="method" data-export="" data-lt="makeOpaque()" id="dom-formdata-makeopaque">makeOpaque<a class="self-link" href="#dom-formdata-makeopaque"></a></dfn>();
1550-
};
1551-
</pre>
1552-
1553-
1554-
<p>The <code class="idl"><a data-link-type="idl" href="#dom-formdata-makeopaque">makeOpaque()</a></code> method sets the <code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#interface-formdata">FormData</a></code>'s <a data-link-type="dfn" href="#opaque-flag">opaque
1555-
flag</a>.</p>
1556-
15571536

15581537
<p><dfn data-dfn-type="dfn" data-local-lt="opaque" data-noexport="" id="opaque-formdata-objects">Opaque <code>FormData</code> objects<a class="self-link" href="#opaque-formdata-objects"></a></dfn> have the
15591538
following properties:</p>
@@ -1573,12 +1552,6 @@ <h4 class="heading settled" data-level="3.3.1" id="monkey-patching-formdata"><sp
15731552

15741553

15751554

1576-
<li>
1577-
Whenever the user agent would iterate over an opaque <code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#interface-formdata">FormData</a></code> object’s
1578-
value pairs, instead iterate over an empty list.
1579-
1580-
1581-
15821555
<li>
15831556
Whenever the user agent would <a data-link-type="dfn" href="https://xhr.spec.whatwg.org/#concept-fetchbodyinit-extract">extract a byte stream and
15841557
<code>Content-Type</code></a> from an opaque <code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#interface-formdata">FormData</a></code> object
@@ -1628,15 +1601,15 @@ <h4 class="heading settled" data-level="3.3.1" id="monkey-patching-formdata"><sp
16281601
</ol>
16291602

16301603

1631-
<h4 class="heading settled" data-level="3.3.2" id="opaque-formdata-algorithms"><span class="secno">3.3.2. </span><span class="content">
1604+
<h4 class="heading settled" data-level="3.3.1" id="opaque-formdata-algorithms"><span class="secno">3.3.1. </span><span class="content">
16321605
Algorithm Modifications
16331606
</span><a class="self-link" href="#opaque-formdata-algorithms"></a></h4>
16341607

16351608

16361609
<p class="issue" id="issue-020f94b2"><a class="self-link" href="#issue-020f94b2"></a> Monkey-patching! Hooray! Talk with Anne, et al.</p>
16371610

16381611

1639-
<h5 class="heading settled" data-level="3.3.2.1" id="monkey-patching-xhr-2"><span class="secno">3.3.2.1. </span><span class="content">XHR: <code>FormData</code>’s <code>get()</code></span><a class="self-link" href="#monkey-patching-xhr-2"></a></h5>
1612+
<h5 class="heading settled" data-level="3.3.1.1" id="monkey-patching-xhr-2"><span class="secno">3.3.1.1. </span><span class="content">XHR: <code>FormData</code>’s <code>get()</code></span><a class="self-link" href="#monkey-patching-xhr-2"></a></h5>
16401613

16411614

16421615
<p>Redefine <code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#interface-formdata">FormData</a></code>'s <code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#dom-formdata-get">get()</a></code> method as follows:</p>
@@ -1657,7 +1630,7 @@ <h5 class="heading settled" data-level="3.3.2.1" id="monkey-patching-xhr-2"><spa
16571630
</ol>
16581631

16591632

1660-
<h5 class="heading settled" data-level="3.3.2.2" id="monkey-patching-xhr-3"><span class="secno">3.3.2.2. </span><span class="content">XHR: <code>FormData</code>’s <code>getAll()</code></span><a class="self-link" href="#monkey-patching-xhr-3"></a></h5>
1633+
<h5 class="heading settled" data-level="3.3.1.2" id="monkey-patching-xhr-3"><span class="secno">3.3.1.2. </span><span class="content">XHR: <code>FormData</code>’s <code>getAll()</code></span><a class="self-link" href="#monkey-patching-xhr-3"></a></h5>
16611634

16621635

16631636
<p>Redefine <code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#interface-formdata">FormData</a></code>'s <code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#dom-formdata-getAll">getAll()</a></code> method as follows:</p>
@@ -1678,14 +1651,14 @@ <h5 class="heading settled" data-level="3.3.2.2" id="monkey-patching-xhr-3"><spa
16781651
</ol>
16791652

16801653

1681-
<h5 class="heading settled" data-level="3.3.2.3" id="monkey-patching-fetch-1"><span class="secno">3.3.2.3. </span><span class="content">Fetch: <code>Request</code> objects</span><a class="self-link" href="#monkey-patching-fetch-1"></a></h5>
1654+
<h5 class="heading settled" data-level="3.3.1.3" id="monkey-patching-fetch-1"><span class="secno">3.3.1.3. </span><span class="content">Fetch: <code>Request</code> objects</span><a class="self-link" href="#monkey-patching-fetch-1"></a></h5>
16821655

16831656

16841657
<p>Add a new <dfn data-dfn-type="dfn" data-noexport="" id="opaque-request-flag">opaque request flag<a class="self-link" href="#opaque-request-flag"></a></dfn> to Fetch’s <code class="idl"><a data-link-type="idl" href="https://fetch.spec.whatwg.org/#request">Request</a></code> objects. This
16851658
flag is unset unless otherwise specified.</p>
16861659

16871660

1688-
<h5 class="heading settled" data-level="3.3.2.4" id="monkey-patching-fetch-2"><span class="secno">3.3.2.4. </span><span class="content">Fetch: <code>Request</code>’s constructor</span><a class="self-link" href="#monkey-patching-fetch-2"></a></h5>
1661+
<h5 class="heading settled" data-level="3.3.1.4" id="monkey-patching-fetch-2"><span class="secno">3.3.1.4. </span><span class="content">Fetch: <code>Request</code>’s constructor</span><a class="self-link" href="#monkey-patching-fetch-2"></a></h5>
16891662

16901663

16911664
<p>Add the following step after step 3 of step 17 of Fetch’s <code class="idl"><a data-link-type="idl" href="https://fetch.spec.whatwg.org/#dom-request">Request()</a></code>
@@ -1704,7 +1677,7 @@ <h5 class="heading settled" data-level="3.3.2.4" id="monkey-patching-fetch-2"><s
17041677
</ol>
17051678

17061679

1707-
<h5 class="heading settled" data-level="3.3.2.5" id="monkey-patching-fetch-3"><span class="secno">3.3.2.5. </span><span class="content">Fetch: <code>Body</code>’s <code>consume body</code></span><a class="self-link" href="#monkey-patching-fetch-3"></a></h5>
1680+
<h5 class="heading settled" data-level="3.3.1.5" id="monkey-patching-fetch-3"><span class="secno">3.3.1.5. </span><span class="content">Fetch: <code>Body</code>’s <code>consume body</code></span><a class="self-link" href="#monkey-patching-fetch-3"></a></h5>
17081681

17091682

17101683
<p>Insert the following step after step 2 of step 3 of Fetch’s <a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#concept-Body-consume-body">consume
@@ -1722,7 +1695,7 @@ <h5 class="heading settled" data-level="3.3.2.5" id="monkey-patching-fetch-3"><s
17221695
</ol>
17231696

17241697

1725-
<h5 class="heading settled" data-level="3.3.2.6" id="monkey-patching-fetch-4"><span class="secno">3.3.2.6. </span><span class="content">Fetch: Extract a byte stream</span><a class="self-link" href="#monkey-patching-fetch-4"></a></h5>
1698+
<h5 class="heading settled" data-level="3.3.1.6" id="monkey-patching-fetch-4"><span class="secno">3.3.1.6. </span><span class="content">Fetch: Extract a byte stream</span><a class="self-link" href="#monkey-patching-fetch-4"></a></h5>
17261699

17271700

17281701
<p>Redefine the <code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#interface-formdata">FormData</a></code> case of Fetch’s <a data-link-type="dfn" href="https://xhr.spec.whatwg.org/#concept-fetchbodyinit-extract">extract a byte
@@ -1771,7 +1744,7 @@ <h5 class="heading settled" data-level="3.3.2.6" id="monkey-patching-fetch-4"><s
17711744
</ol>
17721745

17731746

1774-
<h5 class="heading settled" data-level="3.3.2.7" id="monkey-patching-serviceworkers-1"><span class="secno">3.3.2.7. </span><span class="content">Service Worker: Handle a Fetch</span><a class="self-link" href="#monkey-patching-serviceworkers-1"></a></h5>
1747+
<h5 class="heading settled" data-level="3.3.1.7" id="monkey-patching-serviceworkers-1"><span class="secno">3.3.1.7. </span><span class="content">Service Worker: Handle a Fetch</span><a class="self-link" href="#monkey-patching-serviceworkers-1"></a></h5>
17751748

17761749

17771750
<p class="issue" id="issue-7ac73c88"><a class="self-link" href="#issue-7ac73c88"></a> Figure out the right way to monkey-patch Service Worker’s
@@ -3424,17 +3397,16 @@ <h3 class="no-num heading settled" id="index-defined-here"><span class="content"
34243397
<li><a href="#federated-identity-provider">IDP</a><span>, in §2</span>
34253398
<li><a href="#locallystoredcredential">LocallyStoredCredential</a><span>, in §3.1.1</span>
34263399
<li><a href="#dictdef-locallystoredcredentialdata">LocallyStoredCredentialData</a><span>, in §3.1.1</span>
3427-
<li><a href="#dom-formdata-makeopaque">makeOpaque()</a><span>, in §3.3.1</span>
34283400
<li><a href="#match">Match</a><span>, in §3.1.2</span>
34293401
<li>name
34303402
<ul>
34313403
<li><a href="#dom-locallystoredcredentialdata-name">dict-member for LocallyStoredCredentialData</a><span>, in §3.1.1</span>
34323404
<li><a href="#dom-locallystoredcredential-name">attribute for LocallyStoredCredential</a><span>, in §3.1.2</span>
34333405
</ul>
3434-
<li><a href="#opaque-formdata-objects">opaque</a><span>, in §3.3.1</span>
3435-
<li><a href="#opaque-flag">opaque flag</a><span>, in §3.3.1</span>
3436-
<li><a href="#opaque-formdata-objects">Opaque FormData objects</a><span>, in §3.3.1</span>
3437-
<li><a href="#opaque-request-flag">opaque request flag</a><span>, in §3.3.2.3</span>
3406+
<li><a href="#opaque-formdata-objects">opaque</a><span>, in §3.3</span>
3407+
<li><a href="#opaque-flag">opaque flag</a><span>, in §3.3</span>
3408+
<li><a href="#opaque-formdata-objects">Opaque FormData objects</a><span>, in §3.3</span>
3409+
<li><a href="#opaque-request-flag">opaque request flag</a><span>, in §3.3.1.3</span>
34383410
<li><a href="#dom-credentialcontainer-get-options-options">options</a><span>, in §3.2</span>
34393411
<li><a href="#options-matching-algorithm">options matching
34403412
algorithm</a><span>, in §3.1.2</span>
@@ -3659,10 +3631,6 @@ <h2 class="no-num heading settled" id="idl-index"><span class="content">IDL Inde
36593631
sequence&lt;DOMString> <a class="idl-code" data-link-type="dict-member" data-type="sequence<DOMString> " href="#dom-federatedcredentialrequestoptions-protocols">protocols</a>;
36603632
};
36613633

3662-
partial interface <a class="idl-code" data-link-type="interface" href="https://xhr.spec.whatwg.org/#interface-formdata">FormData</a> {
3663-
void <a href="#dom-formdata-makeopaque">makeOpaque</a>();
3664-
};
3665-
36663634
</pre>
36673635
<h2 class="no-num heading settled" id="issues-index"><span class="content">Issues Index</span><a class="self-link" href="#issues-index"></a></h2>
36683636
<div style="counter-reset:issue">
@@ -3676,7 +3644,6 @@ <h2 class="no-num heading settled" id="issues-index"><span class="content">Issue
36763644
<div class="issue"> We should support explicit sign-up via
36773645
<code class="idl"><a data-link-type="idl" href="#passwordcredential">PasswordCredential</a></code>s with generated passwords. Perhaps something similar to
36783646
iOS8’s <code>SecCreateSharedWebCredentialPassword</code>. <a href="https://github.com/w3c/webappsec/issues/250">&lt;https://github.com/w3c/webappsec/issues/250></a><a href="#issue-74489b21"></a></div>
3679-
<div class="issue"> Stop monkey patching XHR once we know that this is what we want.<a href="#issue-dd26c8e1"></a></div>
36803647
<div class="issue"> Determine the right spec text to impart the following: When a request
36813648
is handed off to Fetch, mark it as opaque if its body is populated from an
36823649
opaque <code class="idl"><a data-link-type="idl" href="https://xhr.spec.whatwg.org/#interface-formdata">FormData</a></code> object, or if it is the result of a form submission with

specs/credentialmanagement/index.src.html

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -939,28 +939,13 @@ <h4 id="identifying-federations">Identifying providers</h4>
939939

940940
<h3 id="opaque-formdata">Opaque <code>FormData</code> objects</h3>
941941

942-
<h4 id="monkey-patching-formdata">
943-
<code>FormData</code> Modifications
944-
</h4>
945-
946-
ISSUE: Stop monkey patching XHR once we know that this is what we want.
947-
948942
{{FormData}} objects have a <dfn>opaque flag</dfn>, unset by default,
949943
and set only if the object is constructed from a {{PasswordCredential}}.
950944
Opaque {{FormData}} objects return <code>null</code> and the empty sequence
951945
when their {{FormData/get()}} and {{FormData/getAll()}} methods are executed,
952946
respectively. Further, data from opaque {{FormData}} objects can only be
953947
<a>extracted</a> in the context of executing {{XMLHttpRequest}}'s
954948
{{XMLHttpRequest/send()}} method.
955-
956-
<pre class="idl">
957-
partial interface FormData {
958-
void makeOpaque();
959-
};
960-
</pre>
961-
962-
The {{FormData/makeOpaque()}} method sets the {{FormData}}'s <a>opaque
963-
flag</a>.
964949

965950
<dfn local-lt="opaque">Opaque <code>FormData</code> objects</dfn> have the
966951
following properties:
@@ -974,10 +959,6 @@ <h4 id="monkey-patching-formdata">
974959
Whenever the user agent would execute an opaque {{FormData}} object's
975960
{{FormData/getAll()}} method, it MUST return the empty sequence.
976961
</li>
977-
<li>
978-
Whenever the user agent would iterate over an opaque {{FormData}} object's
979-
value pairs, instead iterate over an empty list.
980-
</li>
981962
<li>
982963
Whenever the user agent would <a lt="extract">extract a byte stream and
983964
<code>Content-Type</code></a> from an opaque {{FormData}} object

0 commit comments

Comments
 (0)