Skip to content

Commit b9fa4b9

Browse files
Editorial: move UI suggestion to Priv/Sec section (#240)
1 parent 3f97331 commit b9fa4b9

File tree

1 file changed

+12
-17
lines changed

1 file changed

+12
-17
lines changed

‎index.html

+12-17
Original file line numberDiff line numberDiff line change
@@ -297,8 +297,9 @@ <h4>
297297
</li>
298298
<li>Present the user with a choice of one or more <a>share
299299
targets</a>, selected at the user agent's discretion. The user
300-
MUST be given the option to cancel rather than choosing any of
301-
the share targets. Wait for the user's choice.
300+
agent MUST give the user the option to cancel rather than
301+
choosing any of the [=share targets=]. Wait for the user's
302+
choice.
302303
</li>
303304
<li>If the user chose to cancel the share operation, [=queue a
304305
global task=] on the [=user interaction task source=] using
@@ -356,18 +357,6 @@ <h4>
356357
</ol>
357358
</li>
358359
</ol>
359-
<p>
360-
The user agent MUST NOT allow the website to learn which share
361-
targets are available, or the identity of the chosen target.
362-
</p>
363-
<div class="note">
364-
{{Navigator/share()}} always shows some form of UI, to give the
365-
user a choice of application and get their approval to invoke and
366-
send data to a potentially native application (which carries a
367-
security risk). For this reason, user agents are prohibited from
368-
showing any kind of "always use this target in the future" option,
369-
or bypassing the UI if there is only a single share target.
370-
</div>
371360
</section>
372361
<section>
373362
<h3>
@@ -609,11 +598,17 @@ <h2>
609598
(depending on the underlying platform).
610599
</p>
611600
<ul>
612-
<li>There is a requirement to not allow the website to learn which apps
613-
are installed, or which app was chosen from {{Navigator/share()}},
614-
because this information could be used for fingerprinting, as well as
601+
<li>The API does not expose to the website which [=share targets=] are
602+
available, or which share target was chosen by the user from
603+
{{Navigator/share()}}. Doing so could be used for fingerprinting by
615604
leaking details about the user's device.
616605
</li>
606+
<li>User agents are discouraged from showing any kind of "always use
607+
this target in the future" option, or bypassing the UI if there is only
608+
a single share target. Further, calls to {{Navigator.share()}} require
609+
[=transient activation=] (i.e., some kind of user activation) before
610+
any UI is presented to the user.
611+
</li>
617612
<li>Implementors will want to carefully consider what information is
618613
revealed in the error message when {{Navigator/share()}} is rejected.
619614
Even distinguishing between the case where no targets are available and

0 commit comments

Comments
 (0)