Index: ios/chrome/browser/autofill/autofill_controller.h |
diff --git a/ios/chrome/browser/autofill/autofill_controller.h b/ios/chrome/browser/autofill/autofill_controller.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..32ed16ead90602850e97e42f9589265658ca3c56 |
--- /dev/null |
+++ b/ios/chrome/browser/autofill/autofill_controller.h |
@@ -0,0 +1,70 @@ |
+// Copyright 2013 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_AUTOFILL_CONTROLLER_H_ |
+#define IOS_CHROME_BROWSER_AUTOFILL_AUTOFILL_CONTROLLER_H_ |
+ |
+#import <UIKit/UIKit.h> |
+#include <vector> |
+ |
+#import "ios/chrome/browser/autofill/form_suggestion_provider.h" |
+ |
+@class AutofillAgent; |
+@protocol FormSuggestionProvider; |
+ |
+namespace autofill { |
+class FormStructure; |
+} |
+ |
+namespace ios { |
+class ChromeBrowserState; |
+} |
+ |
+namespace password_manager { |
+class PasswordGenerationManager; |
+} |
+ |
+namespace web { |
+class WebState; |
+} |
+ |
+// Handles Autofill. |
+@interface AutofillController : NSObject |
+ |
+@property(nonatomic, readonly) ios::ChromeBrowserState* browserState; |
+@property(weak, nonatomic, readonly) id<FormSuggestionProvider> |
+ suggestionProvider; |
+ |
+// Designated initializer. Neither |browserState| nor |webState| should be null. |
+// |downloadEnabled| should be NO for tests to stop the system making external |
+// network requests. |
+- (instancetype) |
+ initWithBrowserState:(ios::ChromeBrowserState*)browserState |
+ webState:(web::WebState*)webState |
+ autofillAgent:(AutofillAgent*)autofillAgent |
+passwordGenerationManager: |
+ (password_manager::PasswordGenerationManager*)passwordGenerationManager |
+ downloadEnabled:(BOOL)downloadEnabled NS_DESIGNATED_INITIALIZER; |
+ |
+// Convenience initializer. The autofill agent will be created from the |
+// given webstate. |
+// The system will start making external network requests. |
+- (instancetype)initWithBrowserState:(ios::ChromeBrowserState*)browserState |
+ passwordGenerationManager: |
+ (password_manager::PasswordGenerationManager*) |
+ passwordGenerationManager |
+ webState:(web::WebState*)webState; |
+ |
+- (instancetype)init NS_UNAVAILABLE; |
+ |
+// Detaches itself from the supplied |webState|. |
+- (void)detachFromWebState; |
+ |
+// Sends the field type predictions specified in |forms| to the renderer. This |
+// method is a no-op if the appropriate experiment is not set. |
+- (void)sendAutofillTypePredictionsToRenderer: |
+ (const std::vector<autofill::FormStructure*>&)forms; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_BROWSER_AUTOFILL_AUTOFILL_CONTROLLER_H_ |