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

Specify window.clientInformation and Navigator lifetime #6721

Merged
merged 1 commit into from
Jun 17, 2021
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
29 changes: 17 additions & 12 deletions source
Original file line number Diff line number Diff line change
Expand Up @@ -79901,7 +79901,8 @@ interface <dfn interface>Window</dfn> : <span>EventTarget</span> {
// Indexed access is taken care of by the <span>WindowProxy</span> exotic object.

// the user agent
readonly attribute <span>Navigator</span> <span data-x="dom-navigator">navigator</span>; <!-- IE also has window.clientInformation === window.navigator -->
readonly attribute <span>Navigator</span> <span data-x="dom-navigator">navigator</span>;
readonly attribute <span>Navigator</span> <span data-x="dom-clientInformation">clientInformation</span>; // legacy alias of .navigator
readonly attribute boolean <span data-x="dom-originAgentCluster">originAgentCluster</span>;

// user prompts
Expand Down Expand Up @@ -95210,14 +95211,9 @@ function sendData(data) {

<h4>The <code>Navigator</code> object</h4>

<div w-nodev>

<p>The <dfn attribute for="Window"><code data-x="dom-navigator">navigator</code></dfn> attribute
of the <code>Window</code> interface must return an instance of the <code>Navigator</code>
interface, which represents the identity and state of the user agent (the client), and allows web
pages to register themselves as potential protocol handlers:</p>

</div>
<p>Instances of <code>Navigator</code> represent the identity and state of the user agent (the
client). They also serve as a generic global under which various APIs are located in this and
other specifications.</p>

<pre><code class="idl">[Exposed=Window]
interface <dfn>Navigator</dfn> {
Expand All @@ -95233,8 +95229,17 @@ interface <dfn>Navigator</dfn> {

<div w-nodev>

<p>These interface mixins are defined separately so that <code>WorkerNavigator</code> can re-use
parts of the <code>Navigator</code> interface.</p>
<p class="note">These interface mixins are defined separately so that <code>WorkerNavigator</code> can reuse parts of
the <code>Navigator</code> interface.</p>

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

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

</div>

Expand Down Expand Up @@ -95265,7 +95270,7 @@ interface <dfn>Navigator</dfn> {
mode</dfn>, which is either <i>Chrome</i>, <i>Gecko</i>, or <i>WebKit</i>.</p>

<p class="note">The <span data-x="concept-navigator-compatibility-mode">navigator compatibility
mode</span> constrains the <span>NavigatorID</span> interface to the combinations of attribute
mode</span> constrains the <code>NavigatorID</code> mixin to the combinations of attribute
values and presence of <code data-x="dom-navigator-taintEnabled">taintEnabled()</code> and <code
data-x="dom-navigator-oscpu">oscpu</code> that are known to be compatible with existing web
content.</p>
Expand Down