|
1458 | 1458 | <div class="head">
|
1459 | 1459 | <p data-fill-with="logo"><a class="logo" href="https://www.w3.org/"> <img alt="W3C" height="48" src="https://www.w3.org/StyleSheets/TR/2016/logos/W3C" width="72"> </a> </p>
|
1460 | 1460 | <h1 class="p-name no-ref" id="title">Generic Sensor API</h1>
|
1461 |
| - <h2 class="no-num no-toc no-ref heading settled" id="subtitle"><span class="content">Editor’s Draft, <time class="dt-updated" datetime="2017-09-07">7 September 2017</time></span></h2> |
| 1461 | + <h2 class="no-num no-toc no-ref heading settled" id="subtitle"><span class="content">Editor’s Draft, <time class="dt-updated" datetime="2017-09-08">8 September 2017</time></span></h2> |
1462 | 1462 | <div data-fill-with="spec-metadata">
|
1463 | 1463 | <dl>
|
1464 | 1464 | <dt>This version:
|
@@ -2972,26 +2972,27 @@ <h3 class="heading settled" data-level="10.6" id="definition-reqs"><span class="
|
2972 | 2972 | <p>A set of <a data-link-type="dfn" href="#identifying-parameters" id="ref-for-identifying-parameters②">identifying parameters</a>. TODO: replace that by an abstract operation.</p>
|
2973 | 2973 | </ul>
|
2974 | 2974 | <h3 class="heading settled" data-level="10.7" id="permission-api"><span class="secno">10.7. </span><span class="content">Extending the Permission API</span><a class="self-link" href="#permission-api"></a></h3>
|
2975 |
| - <p><code class="idl"><a data-link-type="idl" href="#sensor" id="ref-for-sensor③⓪">Sensor</a></code> interface for concrete <a data-link-type="dfn" href="#concept-sensor" id="ref-for-concept-sensor⑤①">sensor</a> must protect it’s <a data-link-type="dfn" href="#sensor-readings" id="ref-for-sensor-readings④⑥">reading</a> by associated <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/permissions/#enumdef-permissionname" id="ref-for-enumdef-permissionname⑥">PermissionName</a></code> or more complex <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/permissions/#dictdef-permissiondescriptor" id="ref-for-dictdef-permissiondescriptor①">PermissionDescriptor</a></code>. <a data-link-type="dfn" href="#low-level" id="ref-for-low-level①③">Low-level</a> <code class="idl"><a data-link-type="idl" href="#sensor" id="ref-for-sensor③①">sensor</a></code> may use it’s interface name as a <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/permissions/#enumdef-permissionname" id="ref-for-enumdef-permissionname⑦">PermissionName</a></code>, for instance |
2976 |
| -"gyroscope" or "accelerometer". <a data-link-type="dfn" href="#sensor-fusion" id="ref-for-sensor-fusion⑦">Fusion sensors</a> must <a data-link-type="dfn" href="https://w3c.github.io/permissions/#request-permission-to-use" id="ref-for-request-permission-to-use①">request permission to use</a> sensors used as a source of fusion.</p> |
| 2975 | + <p>An implementation of the <code class="idl"><a data-link-type="idl" href="#sensor" id="ref-for-sensor③⓪">Sensor</a></code> interface for each <a data-link-type="dfn" href="#sensor-type" id="ref-for-sensor-type③⑥">sensor type</a> must protect its <a data-link-type="dfn" href="#sensor-readings" id="ref-for-sensor-readings④⑥">reading</a> by associated <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/permissions/#enumdef-permissionname" id="ref-for-enumdef-permissionname⑥">PermissionName</a></code> or <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/permissions/#dictdef-permissiondescriptor" id="ref-for-dictdef-permissiondescriptor①">PermissionDescriptor</a></code>. |
| 2976 | +A <a data-link-type="dfn" href="#low-level" id="ref-for-low-level①③">Low-level</a> <code class="idl"><a data-link-type="idl" href="#sensor" id="ref-for-sensor③①">sensor</a></code> may use its interface name as a <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/permissions/#enumdef-permissionname" id="ref-for-enumdef-permissionname⑦">PermissionName</a></code>, |
| 2977 | +for instance, "gyroscope" or "accelerometer". <a data-link-type="dfn" href="#sensor-fusion" id="ref-for-sensor-fusion⑦">Fusion sensors</a> must <a data-link-type="dfn" href="https://w3c.github.io/permissions/#request-permission-to-use" id="ref-for-request-permission-to-use①">request permission to use</a> sensors that are used as a source |
| 2978 | +of fusion.</p> |
2977 | 2979 | <p>Even though, it might be difficult to reconstruct <a data-link-type="dfn" href="#low-level" id="ref-for-low-level①④">low-level</a> <a data-link-type="dfn" href="#sensor-readings" id="ref-for-sensor-readings④⑦">sensor readings</a> from
|
2978 | 2980 | fused data, some of the original information might be inferred. For example, it is easy to
|
2979 | 2981 | deduce user’s orientation in space if absolute or geomagnetic orientation sensors are used,
|
2980 | 2982 | therefore, those sensors must <a data-link-type="dfn" href="https://w3c.github.io/permissions/#request-permission-to-use" id="ref-for-request-permission-to-use②">request permission to use</a> "magnetometer" as it provides information about orientation of device in relation to Earth’s
|
2981 | 2983 | magnetic field. In contrast, relative orientation sensor does not expose such information, thus,
|
2982 |
| -does not need to <a data-link-type="dfn" href="https://w3c.github.io/permissions/#request-permission-to-use" id="ref-for-request-permission-to-use③">request permission to use</a> "magnetometer".</p> |
2983 |
| - <p>In order to provide fine grained control over the sensor’s data, <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/permissions/#dictdef-permissiondescriptor" id="ref-for-dictdef-permissiondescriptor②">permission descriptors</a></code> may be used. For example, descriptor can contain |
2984 |
| -settings for accuracy or <a data-link-type="dfn" href="#sampling-frequency" id="ref-for-sampling-frequency⑥">sampling frequency</a>.</p> |
2985 |
| - <p>Here is an example of <code class="idl"><a data-link-type="idl" href="https://w3c.github.io/permissions/#dictdef-permissiondescriptor" id="ref-for-dictdef-permissiondescriptor③">PermissionDescriptor</a></code> for a possible extension of the Permission API for |
2986 |
| -accelerometer sensor.</p> |
| 2984 | +it does not need to <a data-link-type="dfn" href="https://w3c.github.io/permissions/#request-permission-to-use" id="ref-for-request-permission-to-use③">request permission to use</a> "magnetometer".</p> |
| 2985 | + <p><code class="idl"><a data-link-type="idl" href="https://w3c.github.io/permissions/#dictdef-permissiondescriptor" id="ref-for-dictdef-permissiondescriptor②">Permission descriptors</a></code> can also be used to set maximum allowed limits |
| 2986 | +for accuracy or <a data-link-type="dfn" href="#sampling-frequency" id="ref-for-sampling-frequency⑥">sampling frequency</a>. An example for a possible extension of the Permission API |
| 2987 | +for accelerometer sensor is given below.</p> |
2987 | 2988 | <pre class="example" id="example-6d08453b"><a class="self-link" href="#example-6d08453b"></a>dictionary AccelerometerPermissionDescriptor : PermissionDescriptor {
|
2988 | 2989 | boolean highAccuracy = false;
|
2989 | 2990 | boolean highFrequency = false;
|
2990 | 2991 | };
|
2991 | 2992 | </pre>
|
2992 | 2993 | <h3 class="heading settled" data-level="10.8" id="example-webidl"><span class="secno">10.8. </span><span class="content">Example WebIDL</span><a class="self-link" href="#example-webidl"></a></h3>
|
2993 | 2994 | <p>Here’s example WebIDL for a possible extension of this specification
|
2994 |
| -for proximity <a data-link-type="dfn" href="#concept-sensor" id="ref-for-concept-sensor⑤②">sensors</a>.</p> |
| 2995 | +for proximity <a data-link-type="dfn" href="#concept-sensor" id="ref-for-concept-sensor⑤①">sensors</a>.</p> |
2995 | 2996 | <pre class="example" id="example-be4b13c4"><a class="self-link" href="#example-be4b13c4"></a>[Constructor(optional ProximitySensorOptions proximitySensorOptions),
|
2996 | 2997 | SecureContext, Exposed=Window]
|
2997 | 2998 | interface ProximitySensor : Sensor {
|
@@ -3105,8 +3106,8 @@ <h3 class="no-ref no-num heading settled" id="conventions"><span class="content"
|
3105 | 3106 | <a class="self-link" href="#example-f839f6c8"></a>
|
3106 | 3107 | <p>This is an example of an informative example.</p>
|
3107 | 3108 | </div>
|
3108 |
| - <p>Because this document doesn’t itself define APIs for specific <a data-link-type="dfn" href="#sensor-type" id="ref-for-sensor-type③⑥">sensor types</a>—<wbr>that is the role of extensions to this specification—<wbr>all examples are inevitably (wishful) fabrications. |
3109 |
| - Although all of the <a data-link-type="dfn" href="#concept-sensor" id="ref-for-concept-sensor⑤③">sensors</a> used a examples |
| 3109 | + <p>Because this document doesn’t itself define APIs for specific <a data-link-type="dfn" href="#sensor-type" id="ref-for-sensor-type③⑦">sensor types</a>—<wbr>that is the role of extensions to this specification—<wbr>all examples are inevitably (wishful) fabrications. |
| 3110 | + Although all of the <a data-link-type="dfn" href="#concept-sensor" id="ref-for-concept-sensor⑤②">sensors</a> used a examples |
3110 | 3111 | would be great candidates for building atop the Generic Sensor API,
|
3111 | 3112 | their inclusion in this document does not imply that the relevant Working Groups
|
3112 | 3113 | are planning to do so. </p>
|
@@ -3662,6 +3663,7 @@ <h2 class="no-num no-ref heading settled" id="idl-index"><span class="content">I
|
3662 | 3663 | <li><a href="#ref-for-sensor-type②⑨">9.2. Connect to sensor</a>
|
3663 | 3664 | <li><a href="#ref-for-sensor-type③⓪">10. Extensibility</a> <a href="#ref-for-sensor-type③①">(2)</a>
|
3664 | 3665 | <li><a href="#ref-for-sensor-type③②">10.6. Definition Requirements</a> <a href="#ref-for-sensor-type③③">(2)</a> <a href="#ref-for-sensor-type③④">(3)</a> <a href="#ref-for-sensor-type③⑤">(4)</a>
|
| 3666 | + <li><a href="#ref-for-sensor-type③⑥">10.7. Extending the Permission API</a> |
3665 | 3667 | </ul>
|
3666 | 3668 | </aside>
|
3667 | 3669 | <aside class="dfn-panel" data-for="associated-sensors">
|
@@ -3710,8 +3712,7 @@ <h2 class="no-num no-ref heading settled" id="idl-index"><span class="content">I
|
3710 | 3712 | <li><a href="#ref-for-concept-sensor④⑤">9.15. Request sensor access</a>
|
3711 | 3713 | <li><a href="#ref-for-concept-sensor④⑥">10.2. Naming</a> <a href="#ref-for-concept-sensor④⑦">(2)</a> <a href="#ref-for-concept-sensor④⑧">(3)</a>
|
3712 | 3714 | <li><a href="#ref-for-concept-sensor④⑨">10.6. Definition Requirements</a> <a href="#ref-for-concept-sensor⑤⓪">(2)</a>
|
3713 |
| - <li><a href="#ref-for-concept-sensor⑤①">10.7. Extending the Permission API</a> |
3714 |
| - <li><a href="#ref-for-concept-sensor⑤②">10.8. Example WebIDL</a> |
| 3715 | + <li><a href="#ref-for-concept-sensor⑤①">10.8. Example WebIDL</a> |
3715 | 3716 | </ul>
|
3716 | 3717 | </aside>
|
3717 | 3718 | <aside class="dfn-panel" data-for="activated-sensor-objects">
|
|
0 commit comments