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

Vibration API Recommendation errata #1

Merged
merged 4 commits into from Apr 19, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
68 changes: 49 additions & 19 deletions index.html
Expand Up @@ -39,7 +39,18 @@
status: "Living Standard",
publisher: "WHATWG"
}
}
},
otherLinks: [
{
key: 'Translation',
data: [
{
value: '简体中文',
href: 'https://w3c-html-ig-zh.github.io/vibration/'
}
]
}
]
};
</script>
</head>
Expand Down Expand Up @@ -105,8 +116,8 @@ <h2>
</h2>
<p>
The concepts <dfn><a href=
"http://www.w3.org/TR/html5/browsers.html#browsing-context">browsing
context</a></dfn> and <dfn><a href=
"https://www.w3.org/TR/html5/browsers.html#top-level-browsing-context">top-level
browsing context</a></dfn> and <dfn><a href=
"http://www.w3.org/TR/html5/webappapis.html#spin-the-event-loop">spin
the event loop</a></dfn> are defined in [[!HTML5]].
</p>
Expand Down Expand Up @@ -149,10 +160,10 @@ <h2>
<li>Let <var>valid pattern</var> be the result of passing
<var>pattern</var> to <a>validate and normalize</a>.
</li>
<li>If the <code><a href=
"http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html#dom-document-hidden">
hidden</a></code> attribute [[!PAGE-VISIBILITY]] is set to true, then
return false and terminate these steps.
<li>If the result of running the steps to <a href=
"https://w3c.github.io/page-visibility/#dfn-steps-to-determine-if-the-document-is-hidden">
determine if the document is hidden</a> [[!PAGE-VISIBILITY]] is true,
then return false and terminate these steps.
<div class="note">
A trusted (also known as privileged) application that integrates
closely with the operating system's functionality may vibrate the
Expand Down Expand Up @@ -222,11 +233,12 @@ <h2>
<ol>
<li>An implementation MAY return false and terminate these steps.
<div class="note">
For example, an implementation might abort the algorithm because
the user has set a preference indicating that pages at a given
origin should never be able to vibrate the device, or an
implementation might cap the total amount of time a page may cause
the device to vibrate and reject requests in excess of this limit.
For example, an implementation might abort the algorithm because no
vibration hardware is present, the user has set a preference
indicating that pages at a given origin should never be able to
vibrate the device, or an implementation might cap the total amount
of time a page may cause the device to vibrate and reject requests
in excess of this limit.
</div>
</li>
<li>If another instance of the <a>perform vibration</a> algorithm is
Expand Down Expand Up @@ -255,12 +267,28 @@ <h2>
</li>
</ol>
<p>
When the <code><a href=
"http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html#sec-visibilitychange-event">
visibilitychange</a></code> event [[!PAGE-VISIBILITY]] is dispatched at
the <code>Document</code> in a <a>browsing context</a>, the <a class=
"product-ua" href="#ua">user agent</a> MUST abort the already running
<a>processing vibration patterns</a> algorithm, if any.
When the user agent determines that the <a href=
"https://w3c.github.io/page-visibility/#dfn-visibility-states">visibility
state</a> of the <code>Document</code> of the <a>top-level browsing
context</a> changes, it MUST abort the already running <a>processing
vibration patterns</a> algorithm, if any.
</p>
</section>
<section>
<h2>
Security and privacy considerations
</h2>
<p>
Vibration API is not a source of data on its own and as such is not
producing any data possible to consume on the Web. However, it is known
that it can serve as a source of events for other APIs. In particular,
it is known that certain sensors such as accelerometers or gyroscopes
are prone to tiny imperfections during their manufacturing. As such,
they provide a fingerprinting surface that can be exploited utilizing
the vibration stimuli generated via the Vibration API. In this sense,
Vibration API provides an indirect privacy risk, in conjunction with
other mechanisms. Additionally, a device that is vibrating might be
visible to external observers and enable physical tracking of the user.
</p>
</section>
<section class='informative'>
Expand Down Expand Up @@ -305,7 +333,9 @@ <h2>
Sicking, and the Mozilla WebAPI team for their contributions, and for
providing the WebVibrator prototype as an initial input. Thanks to Anne
van Kesteren for suggestions on how to make the specification reusable
in other contexts.
in other contexts, and to Lukasz Olejnik for the privacy
considerations. Finally, thanks to Zhiqiang Zhang for the Simplified
Chinese translation.
</p>
</section>
</body>
Expand Down