<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dbeam</id>
	<title>WHATWG Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dbeam"/>
	<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/wiki/Special:Contributions/Dbeam"/>
	<updated>2026-05-14T04:39:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9501</id>
		<title>RequestAutocomplete</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9501"/>
		<updated>2014-04-04T01:30:37Z</updated>

		<summary type="html">&lt;p&gt;Dbeam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;requestAutocomplete proposed spec (as implemented in Chromium)&lt;br /&gt;
&lt;br /&gt;
This document contains a preliminary specification of the requestAutocomplete feature that allows developers to request that the browser fill a form with information based on the autocomplete attributes on the form controls.&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
&lt;br /&gt;
This should really use a promise: http://dom.spec.whatwg.org/#promises (http://crbug.com/343630).&lt;br /&gt;
&lt;br /&gt;
== Interfaces Additions== &lt;br /&gt;
&lt;br /&gt;
  interface &#039;&#039;&#039;HTMLFormElement&#039;&#039;&#039; : HTMLElement {&lt;br /&gt;
    ...&lt;br /&gt;
    void requestAutocomplete();&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  enum AutoCompleteErrorReason {&lt;br /&gt;
    &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;disabled&amp;quot;,&lt;br /&gt;
    &amp;quot;invalid&amp;quot;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  [Constructor(DOMString type, optional AutocompleteErrorEventInit eventInitDict)]&lt;br /&gt;
  interface &#039;&#039;&#039;AutocompleteErrorEvent&#039;&#039;&#039; : Event {&lt;br /&gt;
    readonly attribute AutoCompleteErrorReason reason;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  dictionary &#039;&#039;&#039;AutocompleteErrorEventInit&#039;&#039;&#039; : EventInit {&lt;br /&gt;
    AutoCompleteErrorReason reason = &amp;quot;&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
== Algorithms ==&lt;br /&gt;
&lt;br /&gt;
When the &#039;&#039;&#039;requestAutocomplete&#039;&#039;&#039;() method is invoked, the user agent must run the following steps:&lt;br /&gt;
&lt;br /&gt;
# If we are not allowed to show a popup then asynchronously fail with the reason &amp;quot;disabled&amp;quot; and abort these steps.&lt;br /&gt;
# If the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag is true or the form element&#039;s autocomplete attribute evaluates to “off” then asynchronously fail with the reason &amp;quot;disabled&amp;quot; and abort these steps.&lt;br /&gt;
# Optionally asynchronously fail with the reason &amp;quot;disabled&amp;quot; and abort these steps.&lt;br /&gt;
#: (For example the user agent may give the user an option to ignore all autocomplete requests.)&lt;br /&gt;
# Set the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag to true.&lt;br /&gt;
# Let the pending autofill set be an empty set of autocomplete tuples of the form &lt;br /&gt;
#: ( autocomplete attribute: string,  input: Element )&lt;br /&gt;
# For each element that has this form element as its form owner add it to the pending autocomplete set with its attribute values if:&lt;br /&gt;
#* The autocomplete attribute is specified for its element type.&lt;br /&gt;
#* The autocomplete attribute parses to a valid value.&lt;br /&gt;
# Asynchronously request autocomplete from the user agent for the pending auto fill set for this form element.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to request autocomplete for a form element it should run the following steps:&lt;br /&gt;
&lt;br /&gt;
# Let the autofill set be the set of autocomplete tuples that were passed into this algorithm.&lt;br /&gt;
# Optionally asynchronously fail with the reason &amp;quot;cancel&amp;quot; and abort these steps. (For example if the user cancels the request.)&lt;br /&gt;
# For each tuple in the autofill set:&lt;br /&gt;
#: a. Skip this tuple if the input&#039;s attribute value for autocomplete is different than the one stored in the tuple.&lt;br /&gt;
#: b. Skip this tuple if the form owner of the input is not this form element.&lt;br /&gt;
#: c. Autofill the input following the autocomplete rules but allowing the input to suffer from a pattern mismatch.&lt;br /&gt;
# Statically validate the constraints and:&lt;br /&gt;
#: a. If the result is negative asynchronously fail with the reason &amp;quot;invalid&amp;quot;.&lt;br /&gt;
#: b. If the result is positive fire a simple event named &amp;quot;autocomplete&amp;quot; that bubbles on the form element.&lt;br /&gt;
# Set the requestAutocompleteIsActive flag to false.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to asynchronously fail with a reason, it queues an event to fire on the form element currently being operated on of a new AutocompleteErrorEvent with the type &amp;quot;autocompleteerror&amp;quot; and the reason specified.&lt;br /&gt;
&lt;br /&gt;
[[Category:Proposals]]&lt;/div&gt;</summary>
		<author><name>Dbeam</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9499</id>
		<title>RequestAutocomplete</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9499"/>
		<updated>2014-04-04T01:29:22Z</updated>

		<summary type="html">&lt;p&gt;Dbeam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;requestAutocomplete proposed spec (as implemented in Chromium)&lt;br /&gt;
&lt;br /&gt;
This document contains a preliminary specification of the requestAutocomplete feature that allows developers to request that the browser fill a form with information based on the autocomplete attributes on the form controls.&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
&lt;br /&gt;
This should really use a promise: http://dom.spec.whatwg.org/#promises (http://crbug.com/343630).&lt;br /&gt;
&lt;br /&gt;
== Interfaces Additions== &lt;br /&gt;
&lt;br /&gt;
  interface &#039;&#039;&#039;HTMLFormElement&#039;&#039;&#039; : HTMLElement {&lt;br /&gt;
    ...&lt;br /&gt;
    void requestAutocomplete();&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  enum AutoCompleteErrorReason {&lt;br /&gt;
    &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;disabled&amp;quot;,&lt;br /&gt;
    &amp;quot;invalid&amp;quot;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  [Constructor(DOMString type, optional AutocompleteErrorEventInit eventInitDict)]&lt;br /&gt;
  interface &#039;&#039;&#039;AutocompleteErrorEvent&#039;&#039;&#039; : Event {&lt;br /&gt;
    readonly attribute AutoCompleteErrorReason reason;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  dictionary &#039;&#039;&#039;AutocompleteErrorEventInit&#039;&#039;&#039; : EventInit {&lt;br /&gt;
    AutoCompleteErrorReason reason = &amp;quot;&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
== Algorithms ==&lt;br /&gt;
&lt;br /&gt;
When the &#039;&#039;&#039;requestAutocomplete&#039;&#039;&#039;() method is invoked, the user agent must run the following steps:&lt;br /&gt;
&lt;br /&gt;
# If we are not allowed to show a popup then asynchronously fail with the reason &amp;quot;disabled&amp;quot; and abort these steps.&lt;br /&gt;
# If the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag is true or the form element&#039;s autocomplete attribute evaluates to “off” then asynchronously fail with the reason &amp;quot;disabled&amp;quot; and abort these steps.&lt;br /&gt;
# Optionally asynchronously fail with the reason &amp;quot;disabled&amp;quot; and abort these steps.&lt;br /&gt;
#: (For example the user agent may give the user an option to ignore all autocomplete requests.)&lt;br /&gt;
# Set the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag to true.&lt;br /&gt;
# Let the pending autofill set be an empty set of autocomplete tuples of the form &lt;br /&gt;
#: ( autocomplete attribute: string,  input: Element )&lt;br /&gt;
# For each element that has this form element as its form owner add it to the pending autocomplete set with its attribute values if:&lt;br /&gt;
#* The autocomplete attribute is specified for its element type.&lt;br /&gt;
#* The autocomplete attribute parses to a valid value.&lt;br /&gt;
# Asynchronously request autocomplete from the user agent for the pending auto fill set for this form element.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to request autocomplete for a form element it should run the following steps:&lt;br /&gt;
&lt;br /&gt;
# Let the autofill set be the set of autocomplete tuples that were passed into this algorithm.&lt;br /&gt;
# Optionally asynchronously fail with the reason &amp;quot;cancel&amp;quot; and abort these steps. (For example if the user cancels the request.)&lt;br /&gt;
# For each tuple in the autofill set:&lt;br /&gt;
#: a. Skip this tuple if the input&#039;s attribute value for autocomplete is different than the one stored in the tuple.&lt;br /&gt;
#: b. Skip this tuple if the form owner of the input is not this form element.&lt;br /&gt;
#: c. Autofill the input following the autocomplete rules but allowing the input to suffer from a pattern mismatch.&lt;br /&gt;
# Statically validate the constraints and:&lt;br /&gt;
#: a. If the result is negative asynchronously fail with the reason &amp;quot;invalid&amp;quot;.&lt;br /&gt;
#: b. If the result is positive fire a simple event named &amp;quot;autocomplete&amp;quot; on the form element.&lt;br /&gt;
# Set the requestAutocompleteIsActive flag to false.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to asynchronously fail with a reason it queue an event to fire on the form element currently being operated on of a new AutocompleteErrorEvent with the type &amp;quot;autocompleteerror&amp;quot; and the reason specified.&lt;br /&gt;
&lt;br /&gt;
[[Category:Proposals]]&lt;/div&gt;</summary>
		<author><name>Dbeam</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9498</id>
		<title>RequestAutocomplete</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9498"/>
		<updated>2014-04-04T01:29:01Z</updated>

		<summary type="html">&lt;p&gt;Dbeam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;requestAutocomplete proposed spec (as implemented in Chromium)&lt;br /&gt;
&lt;br /&gt;
This document contains a preliminary specification of the requestAutocomplete feature that allows developers to request that the browser fill a form with information based on the autocomplete attributes on the form controls.&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
&lt;br /&gt;
This should really use a promise: http://dom.spec.whatwg.org/#promises (http://crbug.com/343630).&lt;br /&gt;
&lt;br /&gt;
== Interfaces Additions== &lt;br /&gt;
&lt;br /&gt;
  interface &#039;&#039;&#039;HTMLFormElement&#039;&#039;&#039; : HTMLElement {&lt;br /&gt;
    ...&lt;br /&gt;
    void requestAutocomplete();&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  enum AutoCompleteErrorReason {&lt;br /&gt;
    &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;disabled&amp;quot;,&lt;br /&gt;
    &amp;quot;invalid&amp;quot;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  [Constructor(DOMString type, optional AutocompleteErrorEventInit eventInitDict)]&lt;br /&gt;
  interface &#039;&#039;&#039;AutocompleteErrorEvent&#039;&#039;&#039; : Event {&lt;br /&gt;
    readonly attribute AutoCompleteErrorReason reason;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  dictionary &#039;&#039;&#039;AutocompleteErrorEventInit&#039;&#039;&#039; : EventInit {&lt;br /&gt;
    AutoCompleteErrorReason reason = &amp;quot;&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
== Algorithms ==&lt;br /&gt;
&lt;br /&gt;
When the &#039;&#039;&#039;requestAutocomplete&#039;&#039;&#039;() method is invoked, the user agent must run the following steps:&lt;br /&gt;
&lt;br /&gt;
# If we are not allowed to show a popup then asynchronously fail with the reason &amp;quot;disabled&amp;quot; and abort these steps.&lt;br /&gt;
# If the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag is true or the form element’s autocomplete attribute evaluates to “off” then asynchronously fail with the reason &amp;quot;disabled&amp;quot; and abort these steps.&lt;br /&gt;
# Optionally asynchronously fail with the reason &amp;quot;disabled&amp;quot; and abort these steps.&lt;br /&gt;
#: (For example the user agent may give the user an option to ignore all autocomplete requests.)&lt;br /&gt;
# Set the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag to true.&lt;br /&gt;
# Let the pending autofill set be an empty set of autocomplete tuples of the form &lt;br /&gt;
#: ( autocomplete attribute: string,  input: Element )&lt;br /&gt;
# For each element that has this form element as its form owner add it to the pending autocomplete set with its attribute values if:&lt;br /&gt;
#* The autocomplete attribute is specified for its element type.&lt;br /&gt;
#* The autocomplete attribute parses to a valid value.&lt;br /&gt;
# Asynchronously request autocomplete from the user agent for the pending auto fill set for this form element.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to request autocomplete for a form element it should run the following steps:&lt;br /&gt;
&lt;br /&gt;
# Let the autofill set be the set of autocomplete tuples that were passed into this algorithm.&lt;br /&gt;
# Optionally asynchronously fail with the reason &amp;quot;cancel&amp;quot; and abort these steps. (For example if the user cancels the request.)&lt;br /&gt;
# For each tuple in the autofill set:&lt;br /&gt;
#: a. Skip this tuple if the input’s attribute value for autocomplete is different than the one stored in the tuple.&lt;br /&gt;
#: b. Skip this tuple if the form owner of the input is not this form element.&lt;br /&gt;
#: c. Autofill the input following the autocomplete rules but allowing the input to suffer from a pattern mismatch.&lt;br /&gt;
# Statically validate the constraints and:&lt;br /&gt;
#: a. If the result is negative asynchronously fail with the reason &amp;quot;invalid&amp;quot;.&lt;br /&gt;
#: b. If the result is positive fire a simple event named &amp;quot;autocomplete&amp;quot; on the form element.&lt;br /&gt;
# Set the requestAutocompleteIsActive flag to false.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to asynchronously fail with a reason it queue an event to fire on the form element currently being operated on of a new AutocompleteErrorEvent with the type &amp;quot;autocompleteerror&amp;quot; and the reason specified.&lt;br /&gt;
&lt;br /&gt;
[[Category:Proposals]]&lt;/div&gt;</summary>
		<author><name>Dbeam</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9497</id>
		<title>RequestAutocomplete</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9497"/>
		<updated>2014-04-04T01:28:26Z</updated>

		<summary type="html">&lt;p&gt;Dbeam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;requestAutocomplete proposed spec (as implemented in Chromium)&lt;br /&gt;
&lt;br /&gt;
This document contains a preliminary specification of the requestAutocomplete feature that allows developers to request that the browser fill a form with information based on the autocomplete attributes on the form controls.&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
&lt;br /&gt;
This should really use a promise: http://dom.spec.whatwg.org/#promises (http://crbug.com/343630).&lt;br /&gt;
&lt;br /&gt;
== Interfaces Additions== &lt;br /&gt;
&lt;br /&gt;
  interface &#039;&#039;&#039;HTMLFormElement&#039;&#039;&#039; : HTMLElement {&lt;br /&gt;
    ...&lt;br /&gt;
    void requestAutocomplete();&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  enum AutoCompleteErrorReason {&lt;br /&gt;
    &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;disabled&amp;quot;,&lt;br /&gt;
    &amp;quot;invalid&amp;quot;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  [Constructor(DOMString type, optional AutocompleteErrorEventInit eventInitDict)]&lt;br /&gt;
  interface &#039;&#039;&#039;AutocompleteErrorEvent&#039;&#039;&#039; : Event {&lt;br /&gt;
    readonly attribute AutoCompleteErrorReason reason;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  dictionary &#039;&#039;&#039;AutocompleteErrorEventInit&#039;&#039;&#039; : EventInit {&lt;br /&gt;
    AutoCompleteErrorReason reason = &amp;quot;&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
== Algorithms ==&lt;br /&gt;
&lt;br /&gt;
When the &#039;&#039;&#039;requestAutocomplete&#039;&#039;&#039;() method is invoked, the user agent must run the following steps:&lt;br /&gt;
&lt;br /&gt;
# If we are not allowed to show a popup then asynchronously fail with the reason “disabled” and abort these steps.&lt;br /&gt;
# If the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag is true or the form element’s autocomplete attribute evaluates to “off” then asynchronously fail with the reason “disabled” and abort these steps.&lt;br /&gt;
# Optionally asynchronously fail with the reason “disabled” and abort these steps.&lt;br /&gt;
#: (For example the user agent may give the user an option to ignore all autocomplete requests.)&lt;br /&gt;
# Set the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag to true.&lt;br /&gt;
# Let the pending autofill set be an empty set of autocomplete tuples of the form &lt;br /&gt;
#: ( autocomplete attribute: string,  input: Element )&lt;br /&gt;
# For each element that has this form element as its form owner add it to the pending autocomplete set with its attribute values if:&lt;br /&gt;
#* The autocomplete attribute is specified for its element type.&lt;br /&gt;
#* The autocomplete attribute parses to a valid value.&lt;br /&gt;
# Asynchronously request autocomplete from the user agent for the pending auto fill set for this form element.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to request autocomplete for a form element it should run the following steps:&lt;br /&gt;
&lt;br /&gt;
# Let the autofill set be the set of autocomplete tuples that were passed into this algorithm.&lt;br /&gt;
# Optionally asynchronously fail with the reason “cancel” and abort these steps. (For example if the user cancels the request.)&lt;br /&gt;
# For each tuple in the autofill set:&lt;br /&gt;
#: a. Skip this tuple if the input’s attribute value for autocomplete is different than the one stored in the tuple.&lt;br /&gt;
#: b. Skip this tuple if the form owner of the input is not this form element.&lt;br /&gt;
#: c. Autofill the input following the autocomplete rules but allowing the input to suffer from a pattern mismatch.&lt;br /&gt;
# Statically validate the constraints and:&lt;br /&gt;
#: a. If the result is negative asynchronously fail with the reason &amp;quot;invalid&amp;quot;.&lt;br /&gt;
#: b. If the result is positive fire a simple event named &amp;quot;autocomplete&amp;quot; on the form element.&lt;br /&gt;
# Set the requestAutocompleteIsActive flag to false.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to asynchronously fail with a reason it queue an event to fire on the form element currently being operated on of a new AutocompleteErrorEvent with the type “autocompleteerror” and the reason specified.&lt;br /&gt;
&lt;br /&gt;
[[Category:Proposals]]&lt;/div&gt;</summary>
		<author><name>Dbeam</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9496</id>
		<title>RequestAutocomplete</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9496"/>
		<updated>2014-04-02T21:59:02Z</updated>

		<summary type="html">&lt;p&gt;Dbeam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;requestAutocomplete proposed spec (as implemented in Chromium)&lt;br /&gt;
&lt;br /&gt;
This document contains a preliminary specification of the requestAutocomplete feature that allows developers to request that the browser fill a form with information based on the autocomplete attributes on the form controls.&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
&lt;br /&gt;
This should really use a promise: http://dom.spec.whatwg.org/#promises (http://crbug.com/343630).&lt;br /&gt;
&lt;br /&gt;
== Interfaces Additions== &lt;br /&gt;
&lt;br /&gt;
  interface &#039;&#039;&#039;HTMLFormElement&#039;&#039;&#039; : HTMLElement {&lt;br /&gt;
    ...&lt;br /&gt;
    void requestAutocomplete();&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  enum AutoCompleteErrorReason {&lt;br /&gt;
    &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;disabled&amp;quot;,&lt;br /&gt;
    &amp;quot;invalid&amp;quot;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  [Constructor(DOMString type, optional AutocompleteErrorEventInit eventInitDict)]&lt;br /&gt;
  interface &#039;&#039;&#039;AutocompleteErrorEvent&#039;&#039;&#039; : Event {&lt;br /&gt;
    readonly attribute AutoCompleteErrorReason reason;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  dictionary &#039;&#039;&#039;AutocompleteErrorEventInit&#039;&#039;&#039; : EventInit {&lt;br /&gt;
    AutoCompleteErrorReason reason = &amp;quot;&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
== Algorithms ==&lt;br /&gt;
&lt;br /&gt;
When the &#039;&#039;&#039;requestAutocomplete&#039;&#039;&#039;() method is invoked, the user agent must run the following steps:&lt;br /&gt;
&lt;br /&gt;
# If we are not allowed to show a popup then asynchronously fail with the reason “disabled” and abort these steps.&lt;br /&gt;
# If the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag is true or the form element’s autocomplete attribute evaluates to “off” then asynchronously fail with the reason “disabled” and abort these steps.&lt;br /&gt;
# Optionally asynchronously fail with the reason “disabled” and abort these steps.&lt;br /&gt;
#: (For example the user agent may give the user an option to ignore all autocomplete requests.)&lt;br /&gt;
# Set the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag to true.&lt;br /&gt;
# Let the pending autofill set be an empty set of autocomplete tuples of the form &lt;br /&gt;
#: ( autocomplete attribute: string,  input: Element )&lt;br /&gt;
# For each element that has this form element as its form owner add it to the pending autocomplete set with its attribute values if:&lt;br /&gt;
#* The autocomplete attribute is specified for its element type.&lt;br /&gt;
#* The autocomplete attribute parses to a valid value.&lt;br /&gt;
# Asynchronously request autocomplete from the user agent for the pending auto fill set for this form element.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to request autocomplete for a form element it should run the following steps:&lt;br /&gt;
&lt;br /&gt;
# Let the autofill set be the set of autocomplete tuples that were passed into this algorithm.&lt;br /&gt;
# Optionally asynchronously fail with the reason “cancel” and abort these steps. (For example if the user cancels the request.)&lt;br /&gt;
# For each tuple in the autofill set:&lt;br /&gt;
#: a. Skip this tuple if the input’s attribute value for autocomplete is different than the one stored in the tuple.&lt;br /&gt;
#: b. Skip this tuple if the form owner of the input is not this form element.&lt;br /&gt;
#: c. Autofill the input following the autocomplete rules but allowing the input to suffer from a pattern mismatch.&lt;br /&gt;
# Statically validate the constraints and:&lt;br /&gt;
#: a. If the result is negative asynchronously fail with the reason “invalid”.&lt;br /&gt;
#: b. If the result is positive fire a simple event named “autocomplete” on the form element.&lt;br /&gt;
# Set the requestAutocompleteIsActive flag to false.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to asynchronously fail with a reason it queue an event to fire on the form element currently being operated on of a new AutocompleteErrorEvent with the type “autocompleteerror” and the reason specified.&lt;br /&gt;
&lt;br /&gt;
[[Category:Proposals]]&lt;/div&gt;</summary>
		<author><name>Dbeam</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9072</id>
		<title>RequestAutocomplete</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=RequestAutocomplete&amp;diff=9072"/>
		<updated>2013-03-23T00:09:58Z</updated>

		<summary type="html">&lt;p&gt;Dbeam: /* Interfaces Additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;requestAutocomplete proposed spec (as implemented in Chromium)&lt;br /&gt;
&lt;br /&gt;
This document contains a preliminary specification of the requestAutocomplete feature that allows developers to request that the browser fill a form with information based on the autocomplete attributes on the form controls.&lt;br /&gt;
&lt;br /&gt;
== Interfaces Additions== &lt;br /&gt;
&lt;br /&gt;
  interface &#039;&#039;&#039;HTMLFormElement&#039;&#039;&#039; : HTMLElement {&lt;br /&gt;
    ...&lt;br /&gt;
    void requestAutocomplete();&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  enum AutoCompleteErrorReason {&lt;br /&gt;
    &amp;quot;cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;disabled&amp;quot;,&lt;br /&gt;
    &amp;quot;invalid&amp;quot;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  [Constructor(DOMString type, optional AutocompleteErrorEventInit eventInitDict)]&lt;br /&gt;
  interface &#039;&#039;&#039;AutocompleteErrorEvent&#039;&#039;&#039; : Event {&lt;br /&gt;
    readonly attribute AutoCompleteErrorReason reason;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  dictionary &#039;&#039;&#039;AutocompleteErrorEventInit&#039;&#039;&#039; : EventInit {&lt;br /&gt;
    AutoCompleteErrorReason reason = &amp;quot;&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
== Algorithms ==&lt;br /&gt;
&lt;br /&gt;
When the &#039;&#039;&#039;requestAutocomplete&#039;&#039;&#039;() method is invoked, the user agent must run the following steps:&lt;br /&gt;
&lt;br /&gt;
# If we are not allowed to show a popup then asynchronously fail with the reason “disabled” and abort these steps.&lt;br /&gt;
# If the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag is true or the form element’s autocomplete attribute evaluates to “off” then asynchronously fail with the reason “disabled” and abort these steps.&lt;br /&gt;
# Optionally asynchronously fail with the reason “disabled” and abort these steps.&lt;br /&gt;
#: (For example the user agent may give the user an option to ignore all autocomplete requests.)&lt;br /&gt;
# Set the &#039;&#039;requestAutocompleteIsActive&#039;&#039; flag to true.&lt;br /&gt;
# Let the pending autofill set be an empty set of autocomplete tuples of the form &lt;br /&gt;
#: ( autocomplete attribute: string,  input: Element )&lt;br /&gt;
# For each element that has this form element as its form owner add it to the pending autocomplete set with its attribute values if:&lt;br /&gt;
#* The autocomplete attribute is specified for its element type.&lt;br /&gt;
#* The autocomplete attribute parses to a valid value.&lt;br /&gt;
# Asynchronously request autocomplete from the user agent for the pending auto fill set for this form element.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to request autocomplete for a form element it should run the following steps:&lt;br /&gt;
&lt;br /&gt;
# Let the autofill set be the set of autocomplete tuples that were passed into this algorithm.&lt;br /&gt;
# Optionally asynchronously fail with the reason “cancel” and abort these steps. (For example if the user cancels the request.)&lt;br /&gt;
# For each tuple in the autofill set:&lt;br /&gt;
#: a. Skip this tuple if the input’s attribute value for autocomplete is different than the one stored in the tuple.&lt;br /&gt;
#: b. Skip this tuple if the form owner of the input is not this form element.&lt;br /&gt;
#: c. Autofill the input following the autocomplete rules but allowing the input to suffer from a pattern mismatch.&lt;br /&gt;
# Statically validate the constraints and:&lt;br /&gt;
#: a. If the result is negative asynchronously fail with the reason “invalid”.&lt;br /&gt;
#: b. If the result is positive fire a simple event named “autocomplete” on the form element.&lt;br /&gt;
# Set the requestAutocompleteIsActive flag to false.&lt;br /&gt;
&lt;br /&gt;
When the user agent is said to asynchronously fail with a reason it queue an event to fire on the form element currently being operated on of a new AutocompleteErrorEvent with the type “autocompleteerror” and the reason specified.&lt;br /&gt;
&lt;br /&gt;
[[Category:Proposals]]&lt;/div&gt;</summary>
		<author><name>Dbeam</name></author>
	</entry>
</feed>