Skip to content

Commit 83a63b0

Browse files
authored
Skip bad files entries and make accept required (#78)
If the name is an empty string, discard that files entry instead of rejecting the entire share target. If an accept entry is invalid, discard that accept entry instead of rejecting either the files entry or the entire share target. If accept is an empty array (either initially or because it only contained invalid entries), discard the files entry. Note an an empty accept array previously had the opposite meaning, i.e. that the files entry accepted all files. resolves #77
1 parent 4078bc4 commit 83a63b0

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

level-2/index.html

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ <h2>
283283
<pre class="idl">
284284
dictionary ShareTargetFiles {
285285
required USVString name;
286-
(USVString or sequence&lt;USVString&gt;) accept = [];
286+
required (USVString or sequence&lt;USVString&gt;) accept;
287287
};
288288

289289
dictionary ShareTargetParams {
@@ -386,7 +386,7 @@ <h3>
386386
dictionary, <var>bucket</var>, set <var>share
387387
target</var>["<a data-link-for=
388388
"ShareTarget">params</a>"]["<a data-link-for=
389-
"ShareTargetParams">files</a>"] to [<var>bucket</var>].
389+
"ShareTargetParams">files</a>"] to «<var>bucket</var>».
390390
</li>
391391
<li>If <var>share target</var>["<a data-link-for=
392392
"ShareTarget">params</a>"]["<a data-link-for=
@@ -411,19 +411,25 @@ <h3>
411411
<li>If <var>bucket</var>["<a data-link-for=
412412
"ShareTargetFiles">name</a>"] is an empty string, <a data-cite=
413413
"!appmanifest#dfn-issue-a-developer-warning">issue a developer
414-
warning</a> and return <code>undefined</code>.
414+
warning</a>, remove <var>bucket</var> from <var>share
415+
target</var>["<a data-link-for=
416+
"ShareTarget">params</a>"]["<a data-link-for=
417+
"ShareTargetParams">files</a>"] and <a data-cite=
418+
"!INFRA#iteration-continue">continue</a>.
415419
</li>
416420
<li>If <var>bucket</var>["<a data-link-for=
417421
"ShareTargetFiles">accept</a>"] is a <a data-cite=
418422
"!WEBIDL#idl-USVString">USVString</a>, <var>accept</var>, set
419423
<var>bucket</var>["<a data-link-for=
420-
"ShareTargetFiles">accept</a>"] to [<var>accept</var>].
424+
"ShareTargetFiles">accept</a>"] to «<var>accept</var>».
421425
</li>
422-
<li>If <var>bucket</var>["<a data-link-for=
423-
"ShareTargetFiles">accept</a>"] contains a string that does not
424-
match any of the following, <a data-cite=
426+
<li>For each string in <var>bucket</var>["<a data-link-for=
427+
"ShareTargetFiles">accept</a>"] that does not match any of the
428+
following, <a data-cite=
425429
"!appmanifest#dfn-issue-a-developer-warning">issue a developer
426-
warning</a> and return <code>undefined</code>.
430+
warning</a> and remove the string from
431+
<var>bucket</var>["<a data-link-for=
432+
"ShareTargetFiles">accept</a>"].
427433
<ul>
428434
<li>a string whose first character is a U+002E FULL STOP
429435
character (.)
@@ -442,6 +448,14 @@ <h3>
442448
</li>
443449
</ul>
444450
</li>
451+
<li>If <var>bucket</var>["<a data-link-for=
452+
"ShareTargetFiles">accept</a>"] is empty, <a data-cite=
453+
"!appmanifest#dfn-issue-a-developer-warning">issue a developer
454+
warning</a> and remove <var>bucket</var> from <var>share
455+
target</var>["<a data-link-for=
456+
"ShareTarget">params</a>"]["<a data-link-for=
457+
"ShareTargetParams">files</a>"].
458+
</li>
445459
</ol>
446460
</li>
447461
<li>Let <var>action</var> be the result of <a data-cite=
@@ -550,8 +564,7 @@ <h3>
550564
<p>
551565
The <dfn>accept</dfn> member specifies a sequence of accepted MIME
552566
type(s) or file extension(s), the latter expressed as strings
553-
starting with U+002E FULL STOP (.). An empty sequence indicates that
554-
all files are accepted.
567+
starting with U+002E FULL STOP (.).
555568
</p>
556569
</section>
557570
</section>
@@ -875,9 +888,6 @@ <h3>
875888
is as follows:-
876889
</p>
877890
<ol>
878-
<li>If <var>bucket</var>["<a data-link-for=
879-
"ShareTargetFiles">accept</a>"] is empty, return <code>true</code>.
880-
</li>
881891
<li>For each <var>criterion</var> in
882892
<var>bucket</var>["<a data-link-for="ShareTargetFiles">accept</a>"]:
883893
<ol>

0 commit comments

Comments
 (0)