|
62 | 62 | shortName: 'gpc',
|
63 | 63 | group: "wg/privacy",
|
64 | 64 | github: 'w3c/gpc',
|
65 |
| - xref: ['html'], |
| 65 | + xref: ['html', 'webdriver'], |
66 | 66 | localBiblio: {
|
67 | 67 | 'CCPA-AG-FINAL-STATEMENT': {
|
68 | 68 | title: 'California Attorney General CCPA Final Statement of Reasons',
|
@@ -178,7 +178,7 @@ <h2>Expressing a Do Not Sell Or Share Preference</h2>
|
178 | 178 | <section>
|
179 | 179 | <h3>Expression Format</h3>
|
180 | 180 | <p>
|
181 |
| - A Global Privacy Control [=preference=] should be conveyed for all HTTP requests (in the form |
| 181 | + A Global Privacy Control [=preference=] should be conveyed for all HTTP requests (in the form |
182 | 182 | of the HTTP header) and all websites (in the form of the Web API property).
|
183 | 183 | </p>
|
184 | 184 | <p>
|
@@ -509,6 +509,71 @@ <h2 id="security">Security Considerations</h2>
|
509 | 509 | There are no known security impacts of the features in this specification.
|
510 | 510 | </p>
|
511 | 511 | </section>
|
| 512 | + <section> |
| 513 | + <h2 id="automation">Automation</h2> |
| 514 | + For the purposes of user-agent automation and application testing, this document defines |
| 515 | + the following [=extension command|extension commands=]. [[WebDriver]] |
| 516 | + |
| 517 | + <h3 id="set-global-privacy-control">Set Global Privacy Control</h3> |
| 518 | + <table> |
| 519 | + <tbody> |
| 520 | + <tr> |
| 521 | + <th>HTTP Method</th> |
| 522 | + <th>URI Template</th> |
| 523 | + </tr> |
| 524 | + <tr> |
| 525 | + <td>POST</td> |
| 526 | + <td>/session/{session id}/privacy</td> |
| 527 | + </tr> |
| 528 | + </tbody> |
| 529 | + </table> |
| 530 | + |
| 531 | + <p>The <dfn class="export">Set Global Privacy Control</dfn> [=extension command=] modifies the |
| 532 | + [=do-not-sell-or-share preference=] for the current session. |
| 533 | + |
| 534 | + <p>The [=remote end steps=], given <var>session</var>, <var>URL variables</var> and |
| 535 | + <var>parameters</var> are: |
| 536 | + |
| 537 | + <ol> |
| 538 | + <li><p>Let |gpc| be the property `gpc` of |parameters|. |
| 539 | + <li><p>If |gpc| is undefined or is not a boolean, return error with error code invalid argument. |
| 540 | + <li><p>Record the user's [=preference=] for this |session| such that the browser will perform |
| 541 | + [=do-not-sell-or-share interaction|do-not-sell-or-share interactions=] if |gpc| is true and |
| 542 | + will not perform [=do-not-sell-or-share interaction|do-not-sell-or-share interactions=] if |
| 543 | + |gpc| is false. |
| 544 | + <li><p>Return [=success=] with data `null`. |
| 545 | + </ol> |
| 546 | + |
| 547 | + <h3 id="set-global-privacy-control">Get Global Privacy Control</h3> |
| 548 | + <table> |
| 549 | + <tbody> |
| 550 | + <tr> |
| 551 | + <th>HTTP Method</th> |
| 552 | + <th>URI Template</th> |
| 553 | + </tr> |
| 554 | + <tr> |
| 555 | + <td>GET</td> |
| 556 | + <td>/session/{session id}/privacy</td> |
| 557 | + </tr> |
| 558 | + </tbody> |
| 559 | + </table> |
| 560 | + |
| 561 | + <p>The <dfn class="export">Get Global Privacy Control</dfn> [=extension command=] returns the |
| 562 | + [=do-not-sell-or-share preference=] for the current session. |
| 563 | + |
| 564 | + <p>The [=remote end steps=], given <var>session</var>, <var>URL variables</var> and |
| 565 | + <var>parameters</var> are: |
| 566 | + |
| 567 | + <ol> |
| 568 | + <li><p>If the user's [=preference=] for this |session| issuch that the browser will |
| 569 | + perform [=do-not-sell-or-share interaction|do-not-sell-or-share interactions=], let |
| 570 | + |gpc| be true. |
| 571 | + <li><p>Otherwise, let |gpc| be false. |
| 572 | + <li><p>Let |result| be a JSON [=Object=] with property "<code>gpc</code>" set to |gpc|. |
| 573 | + <li><p>Return [=success=] with data `null`. |
| 574 | + </ol> |
| 575 | + |
| 576 | + </section> |
512 | 577 | <section id="conformance"></section>
|
513 | 578 | <section class="appendix">
|
514 | 579 | <h2>Implementation Considerations</h2>
|
|
0 commit comments