diff options
Diffstat (limited to 'ios/chrome/browser/autofill/form_suggestion_provider.h')
-rw-r--r-- | ios/chrome/browser/autofill/form_suggestion_provider.h | 55 |
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_ |