summaryrefslogtreecommitdiffstats
path: root/ios/chrome/browser/autofill/form_suggestion_provider.h
diff options
context:
space:
mode:
authordroger <droger@chromium.org>2015-03-23 10:51:03 -0700
committerCommit bot <commit-bot@chromium.org>2015-03-23 17:51:56 +0000
commit69b5fc8fc036b5ade5e1498d368ef5c49fb74e48 (patch)
tree928eef46c2a61c848b40c8b2cabab66cfa2686a0 /ios/chrome/browser/autofill/form_suggestion_provider.h
parent744256e2f3933feaa05c967541afac36825056fa (diff)
downloadchromium_src-69b5fc8fc036b5ade5e1498d368ef5c49fb74e48.zip
chromium_src-69b5fc8fc036b5ade5e1498d368ef5c49fb74e48.tar.gz
chromium_src-69b5fc8fc036b5ade5e1498d368ef5c49fb74e48.tar.bz2
[iOS] Upstream files in //ios/chrome/browser/autofill
BUG=437508 Review URL: https://codereview.chromium.org/1022463002 Cr-Commit-Position: refs/heads/master@{#321805}
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_