Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(339)

Side by Side Diff: ios/chrome/browser/autofill/form_suggestion_controller.h

Issue 1022463002: [iOS] Upstream files in //ios/chrome/browser/autofill (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef IOS_CHROME_BROWSER_AUTOFILL_FORM_SUGGESTION_CONTROLLER_H_
6 #define IOS_CHROME_BROWSER_AUTOFILL_FORM_SUGGESTION_CONTROLLER_H_
7
8 #import <UIKit/UIKit.h>
9
10 #include <string>
11
12 #import "components/autofill/ios/browser/js_suggestion_manager.h"
13 #import "ios/chrome/browser/autofill/form_suggestion_view.h"
14 #import "ios/chrome/browser/autofill/form_suggestion_view_client.h"
15 #import "ios/web/public/web_state/web_state_observer_bridge.h"
16
17 namespace web {
18 class WebState;
19 }
20
21 @protocol CRWWebViewProxy;
22 @protocol FormInputAccessoryViewProvider;
23
24 // Handles form focus events and presents input suggestions.
25 @interface FormSuggestionController
26 : NSObject<CRWWebStateObserver, FormSuggestionViewClient>
27
28 // Initializes a new FormSuggestionController with the specified WebState and a
29 // list of FormSuggestionProviders.
30 // When suggestions are required for an input field, the |providers| will be
31 // asked (in order) if they can handle the field; the first provider to return
32 // YES from [FormSuggestionProvider canProviderSuggestionsForForm:field:] will
33 // be expected to provide those suggestions using [FormSuggestionProvider
34 // retrieveSuggestionsForForm:field:withCompletion:].
35 - (instancetype)initWithWebState:(web::WebState*)webState
36 providers:(NSArray*)providers;
37
38 // Instructs the controller to detach itself from the WebState.
39 - (void)detachFromWebState;
40
41 // Provides an input accessory view for form suggestions.
42 @property(nonatomic, readonly)
43 id<FormInputAccessoryViewProvider> accessoryViewProvider;
44
45 @end
46
47 @interface FormSuggestionController (ForTesting)
48
49 // Initializes a new controller in the same way as the public initializer, but
50 // supports specifying a JsSuggestionManager for testing.
51 - (instancetype)initWithWebState:(web::WebState*)webState
52 providers:(NSArray*)providers
53 JsSuggestionManager:(JsSuggestionManager*)jsSuggestionManager;
54
55 // Overrides the web view proxy.
56 - (void)setWebViewProxy:(id<CRWWebViewProxy>)webViewProxy;
57
58 @end
59
60 #endif // IOS_CHROME_BROWSER_AUTOFILL_FORM_SUGGESTION_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698