diff --git a/index.bs b/index.bs index 89abbef4..3c856b7e 100644 --- a/index.bs +++ b/index.bs @@ -84,6 +84,7 @@ spec: WEBDRIVER; urlPrefix: https://w3c.github.io/webdriver/ text: input cancel list; url: dfn-input-cancel-list text: intermediary node; url: dfn-intermediary-nodes text: invalid argument; url: dfn-invalid-argument + text: invalid element state; url: dfn-invalid-element-state text: invalid selector; url: dfn-invalid-selector text: invalid session id; url: dfn-invalid-session-id text: is element origin; url: dfn-is-element-origin @@ -191,9 +192,12 @@ spec: HTML; urlPrefix: https://html.spec.whatwg.org/multipage/ text: activation notification; url: interaction.html#activation-notification text: active window; url: document-sequences.html#nav-window text: alert; url: timers-and-user-prompts.html#dom-alert + text: autofill; url: form-control-infrastructure.html#autofill + text: autofill detail tokens; url: form-control-infrastructure.html#autofill-detail-tokens text: close; url: document-sequences.html#close-a-top-level-traversable text: disabled; url: form-control-infrastructure.html#concept-fe-disabled text: File Upload state; url: input.html#file-upload-state-(type=file) + text: form-associated element; url: forms.html#form-associated-element text: confirm; url: timers-and-user-prompts.html#dom-confirm text: context mode; url: /canvas.html#offscreencanvas-context-mode text: create a classic script; url: webappapis.html#creating-a-classic-script @@ -299,6 +303,9 @@ spec: RFC9110; urlPrefix: https://httpwg.org/specs/rfc9110.html type: dfn text: field-name token; url: #fields.names text: method token; url: #method.overview +spec:infra; urlPrefix: https://infra.spec.whatwg.org/ + type:dfn; + text:user agent
@@ -436,7 +443,8 @@ CommandData = (
   ScriptCommand //
   SessionCommand //
   StorageCommand //
-  WebExtensionCommand
+  WebExtensionCommand //
+  AutofillCommand
 )
 
 EmptyParams = {
@@ -662,6 +670,7 @@ with the following additional codes:
 
 ErrorCode = "invalid argument" /
             "invalid selector" /
+            "invalid element state" /
             "invalid session id" /
             "invalid web extension" /
             "move target out of bounds" /
@@ -11984,6 +11993,118 @@ The [=remote end steps=] given |session| and |command parameters| are:
 
 
 
+## The autofill Module ## {#module-autofill}
+
+The autofill module contains functionality for triggering autofill.
+
+### Definition ### {#module-autofill-definition}
+
+[=remote end definition=]
+
+
+
+AutofillCommand = (
+  autofill.trigger //
+  autofill.setAddress
+)
+
+ +### Commands ### {#module-autofill-commands} + +#### The autofill.trigger Command #### {#command-autofill-trigger} + +The autofill.trigger command triggers autofill +on a particular form field using the provided fields. + +
+
Command Type
+
+
+      autofill.trigger = (
+        method: "autofill.trigger",
+        params: autofill.TriggerParameters
+      )
+
+      autofill.TriggerParameters = {
+        context: browsingContext.BrowsingContext,
+        element: script.SharedReference,
+        field: autofill.Field
+      }
+
+      autofill.Field = {
+        name: autofill.FieldName,
+        value: text
+      }
+
+      autofill.setAddress = (
+        method: "autofill.setAddress",
+        params: autofill.AddressParameters
+      )
+
+      autofill.AddressParameters = {
+        context: browsingContext.BrowsingContext,
+        fields: [* autofill.Field]
+      }
+    
+
+
Return Type
+
+
+     EmptyResult
+    
+
+
+ +
+ +The [=remote end steps=] with |session| and |command parameters| are: + +1. Let |navigable id| be the value of the navigable field of + |command parameters|. + +1. Let |navigable| be the result of [=trying=] to [=get a navigable=] + with |navigable id|. + +1. Let |document| be |navigable|'s [=active document=]. + +1. Let |environment settings| be the [=environment settings object=] whose + [=relevant global object=]'s associated Document is + |document|. + +1. Let |realm| be |environment settings|' [=realm execution context=]'s + Realm component. + +1. Let |element id| be the value of the element field of + |command parameters|. + +1. Let |element| be the result of [=trying=] to [=deserialize remote reference=] + with the |element id|, |realm|, and |session|. + +1. Let |field| be the value of the field field of |command + parameters|. + +1. If |element| is not a [=form-associated element=] or |element|'s [=form owner=] is + null, return an [=error=] with [=error code=] [=invalid element state=]. + +1. If user agent cannot autofill |field|, return an [=error=] with + [=error code=] [=unsupported operation=]. + +1. The user agent should [=autofill=] |element| and |element|'s [=form + owner=], while taking into account the contents of |field|. + +1. Return [=success=] with data null. + +
+ +#### The autofill.FieldName Type #### {#type-autofill-FieldName} + +
+   autofill.FieldName = text;
+
+ +The autofill.FieldName is a token. Valid token values are defined in +[=autofill detail tokens=]. + ### Events ### {#module-input-events} #### The input.fileDialogOpened Event #### {#event-input-fileDialogOpened}