Skip to content

Commit e276343

Browse files
committed
Add security privacy section to the spec
1 parent 3f91871 commit e276343

3 files changed

Lines changed: 72 additions & 11 deletions

File tree

index.bs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Scroll chaining and boundary default actions {#scroll-chaining-and-boundary-defa
5757

5858
A <dfn>scroll chain</dfn> is the order in which scrolling is propagated from one <a>scroll container</a> to another.
5959

60-
<dfn>Scroll boundary</dfn> refers to when the scroll position of a <a>scroll container</a> reaches the edge of the <a>scrollport<a>. If a scroll container has no potential to scroll, because it does not <a>overflow</a> in the direction of the scroll, the element is always considered to be at the scroll boundary.
60+
<dfn>Scroll boundary</dfn> refers to when the scroll position of a <a>scroll container</a> reaches the edge of the <a>scrollport<a>. If a scroll container has no potential to scroll, because it does not <a>overflow</a> in the direction of the scroll, the element is always considered to be at the scroll boundary.
6161

6262
<dfn>Boundary default action</dfn> refers to the user-agent-defined <a>default action</a> performed when scrolling against the edge of the <a>scrollport</a>. A <a>boundary default action</a> is said to be <dfn>local</dfn>, for example overscroll, if it is performed on the <a>scroll container</a> without interacting with the page. Conversely, a <dfn>non-local boundary default action</dfn> will interact with the page such as scroll chaining or a navigation action.
6363

@@ -105,7 +105,7 @@ Values have the following meanings:
105105
<dl dfn-for="scroll-boundary-behavior, scroll-boundary-behavior-x, scroll-boundary-behavior-y" dfn-type="value">
106106
<dt><dfn>contain</dfn>
107107
<dd>
108-
This value indicates that the element must not perform <a>non-local boundary default actions</a>. The user agent must not perform scholl chaining to any ancestors along the <a>scroll chain</a> regardless of whether the scroll originated at this element or one of its descendants. This value must not modify the behavior of how <a>local boundary default actions</a> should behave, such as overscroll behavior and navigation guestures.
108+
This value indicates that the element must not perform <a>non-local boundary default actions</a>. The user agent must not perform scholl chaining to any ancestors along the <a>scroll chain</a> regardless of whether the scroll originated at this element or one of its descendants. This value must not modify the behavior of how <a>local boundary default actions</a> should behave, such as overscroll behavior and navigation guestures.
109109
<dt><dfn>none</dfn>
110110
<dd>
111111
This value implies the same behavior as <a>contain</a> and in addition this element must also not perform <a>local boundary default actions</a> such as showing any overscroll affordances or performing any navigation guestures.
@@ -117,3 +117,14 @@ Values have the following meanings:
117117
Note: In the case where a user agent does not implement scroll chaining and overscroll affordances, these values will have no side effects for a compliant implementation.
118118

119119
Note: Programmatic scrolling is clamped and can not trigger any <a>boundary default actions</a>.
120+
121+
122+
Security and Privacy Considerations
123+
===================================
124+
There are no known security or privacy impacts of this feature. The feature may be used to prevent
125+
certain native UI features such as overscroll affordances and overscroll navigations (e.g., pull-
126+
to-refresh, swipe navigations). However, this does not expose any additional abilities beyond what
127+
is already possible in the platform e.g., by preventing the default action of the event that would
128+
cause a scroll.
129+
130+

index.html

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@
470470
font-style: normal;
471471
}
472472
dt dfn code, code.idl {
473-
font-size: normal;
473+
font-size: medium;
474474
}
475475
dfn var {
476476
font-style: normal;
@@ -1176,7 +1176,7 @@
11761176
}
11771177
}
11781178
</style>
1179-
<meta content="Bikeshed version 5bd73bb15eb04ad9f7d1a57f012e9ee6eca5a765" name="generator">
1179+
<meta content="Bikeshed version 872fb1bbb75c7b4e192209b354c34f634da3ac0d" name="generator">
11801180
<link href="https://wicg.github.io/scroll-boundary-behavior/" rel="canonical">
11811181
<style>/* style-md-lists */
11821182

@@ -1366,11 +1366,13 @@
13661366
<div class="head">
13671367
<p data-fill-with="logo"></p>
13681368
<h1 class="p-name no-ref" id="title">CSS Scroll Boundary Behavior Module Level 1</h1>
1369-
<h2 class="no-num no-toc no-ref heading settled" id="subtitle"><span class="content">Draft Community Group Report, <time class="dt-updated" datetime="2017-05-08">8 May 2017</time></span></h2>
1369+
<h2 class="no-num no-toc no-ref heading settled" id="subtitle"><span class="content">Draft Community Group Report, <time class="dt-updated" datetime="2017-09-07">7 September 2017</time></span></h2>
13701370
<div data-fill-with="spec-metadata">
13711371
<dl>
13721372
<dt>This version:
13731373
<dd><a class="u-url" href="https://wicg.github.io/scroll-boundary-behavior/">https://wicg.github.io/scroll-boundary-behavior/</a>
1374+
<dt>Issue Tracking:
1375+
<dd><a href="https://github.com/majido/scroll-boundary-behavior/issues/">GitHub</a>
13741376
<dt class="editor">Editor:
13751377
<dd class="editor p-author h-card vcard"><a class="p-name fn u-email email" href="mailto:bgirard@fb.com">Benoit Girard</a> (<span class="p-org org">Facebook</span>)
13761378
</dl>
@@ -1406,6 +1408,7 @@ <h2 class="no-num no-toc no-ref" id="contents">Table of Contents</h2>
14061408
<li><a href="#scroll-chaining-and-boundary-default-actions"><span class="secno">2</span> <span class="content">Scroll chaining and boundary default actions</span></a>
14071409
<li><a href="#overview"><span class="secno">3</span> <span class="content">Overview</span></a>
14081410
<li><a href="#scroll-boundary-behavior-properties"><span class="secno">4</span> <span class="content">Scroll Boundary Behavior Properties</span></a>
1411+
<li><a href="#security-and-privacy-considerations"><span class="secno">5</span> <span class="content">Security and Privacy Considerations</span></a>
14091412
<li><a href="#conformance"><span class="secno"></span> <span class="content"> Conformance</span></a>
14101413
<li>
14111414
<a href="#index"><span class="secno"></span> <span class="content">Index</span></a>
@@ -1520,14 +1523,20 @@ <h2 class="heading settled" data-level="4" id="scroll-boundary-behavior-properti
15201523
<p>Values have the following meanings:</p>
15211524
<dl>
15221525
<dt><dfn class="css" data-dfn-for="scroll-boundary-behavior, scroll-boundary-behavior-x, scroll-boundary-behavior-y" data-dfn-type="value" data-export="" id="valdef-scroll-boundary-behavior-contain">contain<a class="self-link" href="#valdef-scroll-boundary-behavior-contain"></a></dfn>
1523-
<dd> This value indicates that the element must not perform <a data-link-type="dfn" href="#non-local-boundary-default-action" id="ref-for-non-local-boundary-default-action-1">non-local boundary default actions</a>. The user agent must not perform scholl chaining to any ancestors along the scroll chain regardless of whether the scroll originated at this element or one of its descendants. This value must not modify the behavior of how <a data-link-type="dfn" href="#local" id="ref-for-local-1">local boundary default actions</a> should behave, such as overscroll behavior and navigation guestures.
1526+
<dd> This value indicates that the element must not perform <a data-link-type="dfn" href="#non-local-boundary-default-action" id="ref-for-non-local-boundary-default-action-1">non-local boundary default actions</a>. The user agent must not perform scholl chaining to any ancestors along the <a data-link-type="dfn" href="#scroll-chain" id="ref-for-scroll-chain-3">scroll chain</a> regardless of whether the scroll originated at this element or one of its descendants. This value must not modify the behavior of how <a data-link-type="dfn" href="#local" id="ref-for-local-1">local boundary default actions</a> should behave, such as overscroll behavior and navigation guestures.
15241527
<dt><dfn class="css" data-dfn-for="scroll-boundary-behavior, scroll-boundary-behavior-x, scroll-boundary-behavior-y" data-dfn-type="value" data-export="" id="valdef-scroll-boundary-behavior-none">none<a class="self-link" href="#valdef-scroll-boundary-behavior-none"></a></dfn>
15251528
<dd> This value implies the same behavior as <a data-link-type="dfn" href="https://infra.spec.whatwg.org/#list-contain">contain</a> and in addition this element must also not perform <a data-link-type="dfn" href="#local" id="ref-for-local-2">local boundary default actions</a> such as showing any overscroll affordances or performing any navigation guestures.
15261529
<dt><dfn class="dfn-paneled css" data-dfn-for="scroll-boundary-behavior, scroll-boundary-behavior-x, scroll-boundary-behavior-y" data-dfn-type="value" data-export="" id="valdef-scroll-boundary-behavior-auto">auto</dfn>
15271530
<dd> This value indicates that the user agent should perform the usual <a data-link-type="dfn" href="#boundary-default-action" id="ref-for-boundary-default-action-4">boundary default action</a> with respect to both <a data-link-type="dfn" href="#scroll-chaining" id="ref-for-scroll-chaining-3">scroll chaining</a>, overscroll and navigation guestures.
15281531
</dl>
15291532
<p class="note" role="note"><span>Note:</span> In the case where a user agent does not implement scroll chaining and overscroll affordances, these values will have no side effects for a compliant implementation.</p>
15301533
<p class="note" role="note"><span>Note:</span> Programmatic scrolling is clamped and can not trigger any <a data-link-type="dfn" href="#boundary-default-action" id="ref-for-boundary-default-action-5">boundary default actions</a>.</p>
1534+
<h2 class="heading settled" data-level="5" id="security-and-privacy-considerations"><span class="secno">5. </span><span class="content">Security and Privacy Considerations</span><a class="self-link" href="#security-and-privacy-considerations"></a></h2>
1535+
There are no known security or privacy impacts of this feature. The feature may be used to prevent
1536+
certain native UI features such as overscroll affordances and overscroll navigations (e.g., pull-
1537+
to-refresh, swipe navigations). However, this does not expose any additional abilities beyond what
1538+
is already possible in the platform e.g., by preventing the default action of the event that would
1539+
cause a scroll.
15311540
</main>
15321541
<div data-fill-with="conformance">
15331542
<h2 class="no-ref no-num heading settled" id="conformance"><span class="content"> Conformance</span><a class="self-link" href="#conformance"></a></h2>
@@ -1739,18 +1748,18 @@ <h2 class="no-num no-ref heading settled" id="property-index"><span class="conte
17391748
<th scope="col">Com­puted value
17401749
<tbody>
17411750
<tr>
1742-
<th scope="row"><a class="css" data-link-type="property" href="#propdef-scroll-boundary-behavior-x">scroll-boundary-behavior-x</a>
1751+
<th scope="row"><a class="css" data-link-type="property" href="#propdef-scroll-boundary-behavior">scroll-boundary-behavior</a>
17431752
<td>contain | none | auto
17441753
<td>auto
17451754
<td>scroll container elements
17461755
<td>no
1747-
<td>N/A
1756+
<td>n/a
17481757
<td>visual
17491758
<td>no
17501759
<td>per grammar
17511760
<td>see individual properties
17521761
<tr>
1753-
<th scope="row"><a class="css" data-link-type="property" href="#propdef-scroll-boundary-behavior-y">scroll-boundary-behavior-y</a>
1762+
<th scope="row"><a class="css" data-link-type="property" href="#propdef-scroll-boundary-behavior-x">scroll-boundary-behavior-x</a>
17541763
<td>contain | none | auto
17551764
<td>auto
17561765
<td>scroll container elements
@@ -1761,12 +1770,12 @@ <h2 class="no-num no-ref heading settled" id="property-index"><span class="conte
17611770
<td>per grammar
17621771
<td>see individual properties
17631772
<tr>
1764-
<th scope="row"><a class="css" data-link-type="property" href="#propdef-scroll-boundary-behavior">scroll-boundary-behavior</a>
1773+
<th scope="row"><a class="css" data-link-type="property" href="#propdef-scroll-boundary-behavior-y">scroll-boundary-behavior-y</a>
17651774
<td>contain | none | auto
17661775
<td>auto
17671776
<td>scroll container elements
17681777
<td>no
1769-
<td>n/a
1778+
<td>N/A
17701779
<td>visual
17711780
<td>no
17721781
<td>per grammar
@@ -1785,6 +1794,7 @@ <h2 class="no-num no-ref heading settled" id="property-index"><span class="conte
17851794
<ul>
17861795
<li><a href="#ref-for-scroll-chain-1">1. Introduction</a>
17871796
<li><a href="#ref-for-scroll-chain-2">2. Scroll chaining and boundary default actions</a>
1797+
<li><a href="#ref-for-scroll-chain-3">4. Scroll Boundary Behavior Properties</a>
17881798
</ul>
17891799
</aside>
17901800
<aside class="dfn-panel" data-for="scroll-boundary">

security-privacy-questionare.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
## Summary
2+
3+
Scroll Boundary Behavior introduces a new method to control over the behavior of a scroll container
4+
element when its scrollport reaches the boundary of its scroll box. It allows the content author to
5+
specify that a scroll container element must prevent scroll chaining and/or overscroll affordances.
6+
7+
To our knowledge it poses no known security or privacy risks.
8+
9+
## Questionnaire
10+
11+
Source: https://www.w3.org/TR/security-privacy-questionnaire/
12+
13+
14+
|Question | Answer|
15+
|---------|-------|
16+
|3.1 Does this specification deal with personally-identifiable information?| NO |
17+
|3.2 Does this specification deal with high-value data?| NO |
18+
|3.3 Does this specification introduce new state for an origin that persists across browsing sessions?| NO |
19+
|3.4 Does this specification expose persistent, cross-origin state to the web?| NO |
20+
|3.5 Does this specification expose any other data to an origin that it doesn’t currently have access to?| NO |
21+
|3.6 Does this specification enable new script execution/loading mechanisms?| NO |
22+
|3.7 Does this specification allow an origin access to a user’s location?| NO |
23+
|3.8 Does this specification allow an origin access to sensors on a user’s device?| NO |
24+
|3.9 Does this specification allow an origin access to aspects of a user’s local computing environment?| NO |
25+
|3.10 Does this specification allow an origin access to other devices?| NO |
26+
|3.11 Does this specification allow an origin some measure of control over a user agent’s native UI?| YES|
27+
|3.12 Does this specification expose temporary identifiers to the web?| NO |
28+
|3.13 Does this specification distinguish between behavior in first-party and third-party contexts?| NO |
29+
|3.14 How should this specification work in the context of a user agent’s "incognito" mode?| SAME|
30+
|3.15 Does this specification persist data to a user’s local device?| NO |
31+
|3.16 Does this specification have a "Security Considerations" and "Privacy Considerations" section?| YES |
32+
|3.17 Does this specification allow downgrading default security characteristics?| NO |
33+
34+
## Additional Clarifications
35+
36+
3.11 Does this specification allow an origin some measure of control over a user agent’s native UI?
37+
38+
Yes. The feature may be used to prevent overscroll affordances and overscroll navigations (pull-to-refresh, swipe navigations).
39+
However this power is not new and may be achieve by prevent defaulting the event that causes the scroll to begin with.
40+

0 commit comments

Comments
 (0)