Skip to content

Commit

Permalink
Add navigator.userActivation
Browse files Browse the repository at this point in the history
This allows querying both sticky and transient user activation state.

Fixes #4008. Closes #4009 by superseding it.

See #1983 (which remains open) and https://github.com/dtapuska/useractivation for another related API proposal, for sending user activation state along with message events.

Co-authored-by: Dave Tapuska <dtapuska@chromium.org>
  • Loading branch information
mustaqahmed and dtapuska authored Sep 14, 2022
1 parent d3877b7 commit 823a14b
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions source
Original file line number Diff line number Diff line change
Expand Up @@ -75933,6 +75933,54 @@ END:VCARD</pre>
</dl>


<h4>The <code>UserActivation</code> interface</h4>

<p>Each <code>Window</code> has an <dfn>associated <code>UserActivation</code></dfn>, which is a
<code>UserActivation</code> object. Upon creation of the <code>Window</code> object, its
<span>associated <code>UserActivation</code></span> must be set to a <span>new</span>
<code>UserActivation</code> object created in the <code>Window</code> object's <span
data-x="concept-relevant-realm">relevant Realm</span>.</p>

<pre><code class="idl">[Exposed=Window]
interface <dfn interface>UserActivation</dfn> {
readonly attribute boolean <span data-x="dom-UserActivation-hasBeenActive">hasBeenActive</span>;
readonly attribute boolean <span data-x="dom-UserActivation-isActive">isActive</span>;
};

partial interface <span id="NavigatorUserActivation-partial">Navigator</span> {
[SameObject] readonly attribute <code>UserActivation</code> <span data-x="dom-Navigator-userActivation">userActivation</span>;
};</code></pre>

<dl class="domintro">
<dt><code data-x=""><span data-x="dom-navigator">navigator</span>.<span subdfn data-x="dom-Navigator-userActivation">userActivation</span>.<span subdfn data-x="dom-UserActivation-hasBeenActive">hasBeenActive</span></code></dt>
<dd>
<p>Returns whether the window has <span>sticky activation</span>.</p>
</dd>

<dt><code data-x=""><span data-x="dom-navigator">navigator</span>.<span data-x="dom-Navigator-userActivation">userActivation</span>.<span subdfn data-x="dom-UserActivation-isActive">isActive</span></code></dt>
<dd>
<p>Returns whether the window has <span>transient activation</span>.</p>
</dd>
</dl>

<div w-nodev>

<p>The <dfn attribute for="Navigator"><code
data-x="dom-Navigator-userActivation">userActivation</code></dfn> getter steps are to return
<span>this</span>'s <span>associated <code>UserActivation</code></span>.</p>

<p>The <dfn attribute for="UserActivation"><code
data-x="dom-UserActivation-hasBeenActive">hasBeenActive</code></dfn> getter steps are to return
true if <span>this</span>'s <span>relevant global object</span> has <span>sticky
activation</span>, and false otherwise.</p>

<p>The <dfn attribute for="UserActivation"><code
data-x="dom-UserActivation-isActive">isActive</code></dfn> getter steps are to return true if
<span>this</span>'s <span>relevant global object</span> has <span>transient activation</span>,
and false otherwise.</p>

</div>


<h3 id="activation">Activation behavior of elements</h3>

Expand Down

0 comments on commit 823a14b

Please sign in to comment.