Skip to content

Commit 0adebae

Browse files
Add user agent automation definition
1 parent ab59f11 commit 0adebae

File tree

1 file changed

+67
-2
lines changed

1 file changed

+67
-2
lines changed

index.html

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
shortName: 'gpc',
6363
group: "wg/privacy",
6464
github: 'w3c/gpc',
65-
xref: ['html'],
65+
xref: ['html', 'webdriver'],
6666
localBiblio: {
6767
'CCPA-AG-FINAL-STATEMENT': {
6868
title: 'California Attorney General CCPA Final Statement of Reasons',
@@ -178,7 +178,7 @@ <h2>Expressing a Do Not Sell Or Share Preference</h2>
178178
<section>
179179
<h3>Expression Format</h3>
180180
<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
182182
of the HTTP header) and all websites (in the form of the Web API property).
183183
</p>
184184
<p>
@@ -509,6 +509,71 @@ <h2 id="security">Security Considerations</h2>
509509
There are no known security impacts of the features in this specification.
510510
</p>
511511
</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>
512577
<section id="conformance"></section>
513578
<section class="appendix">
514579
<h2>Implementation Considerations</h2>

0 commit comments

Comments
 (0)