[chromium] No triggering autofill on unfocus
[WebKit-https.git] / Source / WebKit / chromium / public / WebAutofillClient.h
index 1eb7cb6f5fb8a8a9721d9e558a0734191ad6a47e..aa4d0a3daedb1c7ecbf69d4cc4260226cd0638f0 100644 (file)
@@ -33,6 +33,8 @@
 
 namespace WebKit {
 
 
 namespace WebKit {
 
+class WebFormElement;
+class WebFrame;
 class WebInputElement;
 class WebKeyboardEvent;
 class WebNode;
 class WebInputElement;
 class WebKeyboardEvent;
 class WebNode;
@@ -40,16 +42,26 @@ class WebString;
 
 class WebAutofillClient {
 public:
 
 class WebAutofillClient {
 public:
+    enum {
+        MenuItemIDAutocompleteEntry = 0,
+        MenuItemIDWarningMessage = -1,
+        MenuItemIDPasswordEntry = -2,
+        MenuItemIDSeparator = -3,
+        MenuItemIDClearForm = -4,
+        MenuItemIDAutofillOptions = -5,
+        MenuItemIDDataListEntry = -6
+    };
+
     // Informs the browser that the user has accepted an Autofill suggestion for
     // Informs the browser that the user has accepted an Autofill suggestion for
-    // a WebNode.  |uniqueID| is used as a key into the set of Autofill profiles,
-    // and should never be negative.  If it is 0, then the suggestion is an
-    // Autocomplete suggestion; and |value| stores the suggested text.  |index|
-    // is an index of the selected suggestion in the list of suggestions provided
-    // by the client.
+    // a WebNode. A positive |itemID| is a unique id used to identify the set
+    // of Autofill profiles. If it is AutocompleteEntryMenuItemID, then the
+    // suggestion is an Autocomplete suggestion; and |value| stores the
+    // suggested text. |index| is an index of the selected suggestion in the
+    // list of suggestions provided by the client.
     virtual void didAcceptAutofillSuggestion(const WebNode&,
                                              const WebString& value,
                                              const WebString& label,
     virtual void didAcceptAutofillSuggestion(const WebNode&,
                                              const WebString& value,
                                              const WebString& label,
-                                             int uniqueID,
+                                             int itemID,
                                              unsigned index) { }
 
     // Informs the browser that the user has selected an Autofill suggestion for
                                              unsigned index) { }
 
     // Informs the browser that the user has selected an Autofill suggestion for
@@ -58,26 +70,31 @@ public:
     virtual void didSelectAutofillSuggestion(const WebNode&,
                                              const WebString& name,
                                              const WebString& label,
     virtual void didSelectAutofillSuggestion(const WebNode&,
                                              const WebString& name,
                                              const WebString& label,
-                                             int uniqueID) { }
+                                             int itemID) { }
 
     // Informs the browser that the user has cleared the selection from the
     // Autofill suggestions popup. This happens when a user uses the arrow
     // keys to navigate outside the range of possible selections.
     virtual void didClearAutofillSelection(const WebNode&) { }
 
 
     // Informs the browser that the user has cleared the selection from the
     // Autofill suggestions popup. This happens when a user uses the arrow
     // keys to navigate outside the range of possible selections.
     virtual void didClearAutofillSelection(const WebNode&) { }
 
+    // Informs the browser an interactive autocomplete has been requested.
+    virtual void didRequestAutocomplete(WebFrame*, const WebFormElement&) { }
+
     // Instructs the browser to remove the Autocomplete entry specified from
     // its DB.
     virtual void removeAutocompleteSuggestion(const WebString& name,
                                               const WebString& value) { }
 
     // These methods are called when the users edits a text-field.
     // Instructs the browser to remove the Autocomplete entry specified from
     // its DB.
     virtual void removeAutocompleteSuggestion(const WebString& name,
                                               const WebString& value) { }
 
     // These methods are called when the users edits a text-field.
-    virtual void textFieldDidBeginEditing(const WebInputElement&) { }
     virtual void textFieldDidEndEditing(const WebInputElement&) { }
     virtual void textFieldDidChange(const WebInputElement&) { }
     virtual void textFieldDidReceiveKeyDown(const WebInputElement&, const WebKeyboardEvent&) { }
 
     virtual void textFieldDidEndEditing(const WebInputElement&) { }
     virtual void textFieldDidChange(const WebInputElement&) { }
     virtual void textFieldDidReceiveKeyDown(const WebInputElement&, const WebKeyboardEvent&) { }
 
+    // Informs the client whether or not any subsequent text changes should be ignored.
+    virtual void setIgnoreTextChanges(bool ignore) { }
+
 protected:
 protected:
-    ~WebAutofillClient() { }
+    virtual ~WebAutofillClient() { }
 };
 
 } // namespace WebKit
 };
 
 } // namespace WebKit