| 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_
|
|
|