Skip to content

Commit 25c67d7

Browse files
committed
Add explainers
1 parent 6002229 commit 25c67d7

File tree

8 files changed

+432
-207
lines changed

8 files changed

+432
-207
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

.pr-preview.json

Lines changed: 0 additions & 8 deletions
This file was deleted.

README.md

Lines changed: 6 additions & 170 deletions
Original file line numberDiff line numberDiff line change
@@ -1,177 +1,13 @@
1-
# Explainer for the TODO API
1+
# Explainer for the policy-controlled features `autofill` and `manual-text`
22

3-
**Instructions for the explainer author: Search for "todo" in this repository and update all the
4-
instances as appropriate. For the instances in `index.bs`, update the repository name, but you can
5-
leave the rest until you start the specification. Then delete the TODOs and this block of text.**
6-
7-
This proposal is an early design sketch by [TODO: team] to describe the problem below and solicit
3+
This proposal is an early design sketch by the Chrome Autofill team to describe the problem below and solicit
84
feedback on the proposed solution. It has not been approved to ship in Chrome.
95

10-
TODO: Fill in the whole explainer template below using https://tag.w3.org/explainers/ as a
11-
reference. Look for [brackets].
12-
13-
## Proponents
14-
15-
- [Proponent team 1]
16-
- [Proponent team 2]
17-
- [etc.]
18-
19-
## Participate
20-
- https://github.com/explainers-by-googlers/[your-repository-name]/issues
21-
- [Discussion forum]
22-
23-
## Table of Contents [if the explainer is longer than one printed page]
24-
25-
<!-- Update this table of contents by running `npx doctoc README.md` -->
26-
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
27-
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
28-
29-
- [Introduction](#introduction)
30-
- [Goals](#goals)
31-
- [Non-goals](#non-goals)
32-
- [User research](#user-research)
33-
- [Use cases](#use-cases)
34-
- [Use case 1](#use-case-1)
35-
- [Use case 2](#use-case-2)
36-
- [[Potential Solution]](#potential-solution)
37-
- [How this solution would solve the use cases](#how-this-solution-would-solve-the-use-cases)
38-
- [Use case 1](#use-case-1-1)
39-
- [Use case 2](#use-case-2-1)
40-
- [Detailed design discussion](#detailed-design-discussion)
41-
- [[Tricky design choice #1]](#tricky-design-choice-1)
42-
- [[Tricky design choice 2]](#tricky-design-choice-2)
43-
- [Considered alternatives](#considered-alternatives)
44-
- [[Alternative 1]](#alternative-1)
45-
- [[Alternative 2]](#alternative-2)
46-
- [Stakeholder Feedback / Opposition](#stakeholder-feedback--opposition)
47-
- [References & acknowledgements](#references--acknowledgements)
48-
49-
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
50-
516
## Introduction
527

53-
[The "executive summary" or "abstract".
54-
Explain in a few sentences what the goals of the project are,
55-
and a brief overview of how the solution works.
56-
This should be no more than 1-2 paragraphs.]
57-
58-
## Goals
59-
60-
[What is the **end-user need** which this project aims to address? Make this section short, and
61-
elaborate in the Use cases section.]
62-
63-
## Non-goals
64-
65-
[If there are "adjacent" goals which may appear to be in scope but aren't,
66-
enumerate them here. This section may be fleshed out as your design progresses and you encounter necessary technical and other trade-offs.]
67-
68-
## User research
69-
70-
[If any user research has been conducted to inform your design choices,
71-
discuss the process and findings. User research should be more common than it is.]
72-
73-
## Use cases
74-
75-
[Describe in detail what problems end-users are facing, which this project is trying to solve. A
76-
common mistake in this section is to take a web developer's or server operator's perspective, which
77-
makes reviewers worry that the proposal will violate [RFC 8890, The Internet is for End
78-
Users](https://www.rfc-editor.org/rfc/rfc8890).]
79-
80-
### Use case 1
81-
82-
### Use case 2
83-
84-
<!-- In your initial explainer, you shouldn't be attached or appear attached to any of the potential
85-
solutions you describe below this. -->
86-
87-
## [Potential Solution]
88-
89-
[For each related element of the proposed solution - be it an additional JS method, a new object, a new element, a new concept etc., create a section which briefly describes it.]
90-
91-
```js
92-
// Provide example code - not IDL - demonstrating the design of the feature.
93-
94-
// If this API can be used on its own to address a user need,
95-
// link it back to one of the scenarios in the goals section.
96-
97-
// If you need to show how to get the feature set up
98-
// (initialized, or using permissions, etc.), include that too.
99-
```
100-
101-
[Where necessary, provide links to longer explanations of the relevant pre-existing concepts and API.
102-
If there is no suitable external documentation, you might like to provide supplementary information as an appendix in this document, and provide an internal link where appropriate.]
103-
104-
[If this is already specced, link to the relevant section of the spec.]
105-
106-
[If spec work is in progress, link to the PR or draft of the spec.]
107-
108-
[If you have more potential solutions in mind, add ## Potential Solution 2, 3, etc. sections.]
109-
110-
### How this solution would solve the use cases
111-
112-
[If there are a suite of interacting APIs, show how they work together to solve the use cases described.]
113-
114-
#### Use case 1
115-
116-
[Description of the end-user scenario]
117-
118-
```js
119-
// Sample code demonstrating how to use these APIs to address that scenario.
120-
```
121-
122-
#### Use case 2
123-
124-
[etc.]
125-
126-
## Detailed design discussion
127-
128-
### [Tricky design choice #1]
129-
130-
[Talk through the tradeoffs in coming to the specific design point you want to make.]
131-
132-
```js
133-
// Illustrated with example code.
134-
```
135-
136-
[This may be an open question,
137-
in which case you should link to any active discussion threads.]
138-
139-
### [Tricky design choice 2]
140-
141-
[etc.]
142-
143-
## Considered alternatives
144-
145-
[This should include as many alternatives as you can,
146-
from high level architectural decisions down to alternative naming choices.]
147-
148-
### [Alternative 1]
149-
150-
[Describe an alternative which was considered,
151-
and why you decided against it.]
152-
153-
### [Alternative 2]
154-
155-
[etc.]
156-
157-
## Stakeholder Feedback / Opposition
158-
159-
[Implementors and other stakeholders may already have publicly stated positions on this work. If you can, list them here with links to evidence as appropriate.]
160-
161-
- [Implementor A] : Positive
162-
- [Stakeholder B] : No signals
163-
- [Implementor C] : Negative
164-
165-
[If appropriate, explain the reasons given by other implementors for their concerns.]
166-
167-
## References & acknowledgements
168-
169-
[Your design will change and be informed by many people; acknowledge them in an ongoing way! It helps build community and, as we only get by through the contributions of many, is only fair.]
170-
171-
[Unless you have a specific reason not to, these should be in alphabetical order.]
8+
User input on the Web platform is origin-agnostic: any document, even a third party one, can receive input like clicks or keys – not even the embedding document can prevent that. When the user cannot recognize third-party content as such, e.g., because it lacks visual separation as it often does with borderless iframes, this bears the risk of inadvertently disclosing sensitive information to untrusted third parties.
1729

173-
Many thanks for valuable feedback and advice from:
10+
The underlying problem is that the user's trust in the top-level document implicitly propagates to third-party embeddees. We propose to break this propagation and make the embedder responsible for delegating the ability to receive input to trusted embeddees. We introduce two new policy-controlled features for that purpose:
17411

175-
- [Person 1]
176-
- [Person 2]
177-
- [etc.]
12+
* [manual-text.md](manual-text.md) introduces `manual-text` for keyboard input and similar manual ways of entering text.
13+
* [autofill.md](autofill.md) introduces `autofill` for user agent features that fill one or multiple form control elements on behalf of the user.

0 commit comments

Comments
 (0)