summaryrefslogtreecommitdiffstats
path: root/ios/chrome/browser/autofill/form_suggestion_provider.h
diff options
context:
space:
mode:
Diffstat (limited to 'ios/chrome/browser/autofill/form_suggestion_provider.h')
-rw-r--r--ios/chrome/browser/autofill/form_suggestion_provider.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/ios/chrome/browser/autofill/form_suggestion_provider.h b/ios/chrome/browser/autofill/form_suggestion_provider.h
new file mode 100644
index 0000000..09ba946
--- /dev/null
+++ b/ios/chrome/browser/autofill/form_suggestion_provider.h
@@ -0,0 +1,55 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_AUTOFILL_FORM_SUGGESTION_PROVIDER_H_
+#define IOS_CHROME_BROWSER_AUTOFILL_FORM_SUGGESTION_PROVIDER_H_
+
+#import "components/autofill/ios/browser/form_suggestion.h"
+
+@protocol FormSuggestionProvider;
+
+namespace web {
+class WebState;
+} // namespace web
+
+typedef void (^SuggestionsAvailableCompletion)(BOOL suggestionsAvailable);
+typedef void (^SuggestionsReadyCompletion)(NSArray* suggestions,
+ id<FormSuggestionProvider> delegate);
+typedef void (^SuggestionHandledCompletion)(void);
+
+// Provides user-selectable suggestions for an input field of a web form
+// and handles user interaction with those suggestions.
+@protocol FormSuggestionProvider<NSObject>
+
+// Determines whether the receiver can provide suggestions for the specified
+// |form| and |field|, returning the result using the provided |completion|.
+// |typedValue| contains the text that the user has typed into the field so far.
+- (void)checkIfSuggestionsAvailableForForm:(NSString*)formName
+ field:(NSString*)fieldName
+ type:(NSString*)type
+ typedValue:(NSString*)typedValue
+ webState:(web::WebState*)webState
+ completionHandler:
+ (SuggestionsAvailableCompletion)completion;
+
+// Retrieves suggestions for the specified |form| and |field| and returns them
+// using the provided |completion|. |typedValue| contains the text that the
+// user has typed into the field so far.
+- (void)retrieveSuggestionsForForm:(NSString*)formName
+ field:(NSString*)fieldName
+ type:(NSString*)type
+ typedValue:(NSString*)typedValue
+ webState:(web::WebState*)webState
+ completionHandler:(SuggestionsReadyCompletion)completion;
+
+// Handles user selection of a suggestion for the specified form and
+// field, invoking |completion| when finished.
+- (void)didSelectSuggestion:(FormSuggestion*)suggestion
+ forField:(NSString*)fieldName
+ form:(NSString*)formName
+ completionHandler:(SuggestionHandledCompletion)completion;
+
+@end
+
+#endif // IOS_CHROME_BROWSER_AUTOFILL_FORM_SUGGESTION_PROVIDER_H_