blob: 953742feb73fe119b9df8ace97323f8fba67e9a5 [file] [log] [blame]
// 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 COMPONENTS_AUTOFILL_IOS_BROWSER_JS_SUGGESTION_MANAGER_H_
#define COMPONENTS_AUTOFILL_IOS_BROWSER_JS_SUGGESTION_MANAGER_H_
#import "ios/web/public/deprecated/crw_js_injection_receiver.h"
namespace web {
class WebFramesManager;
} // namespace
// Loads the JavaScript file, suggestion_manager.js, which contains form parsing
// and autofill functions.
@interface JsSuggestionManager : NSObject
// Designated initializer. |receiver| should not be nil.
- (instancetype)initWithReceiver:(CRWJSInjectionReceiver*)receiver
NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
// Sets the WebFrames manager associated with the receiver.
- (void)setWebFramesManager:(web::WebFramesManager*)framesManager;
// Focuses the next focusable element in tab order inside the web frame with
// frame id |frameID|. No action if there is no such element.
- (void)selectNextElementInFrameWithID:(NSString*)frameID;
// Focuses the next focusable element in tab order after the element specified
// by |formName| and |fieldName| in tab order inside the web frame with frame id
// |frameID|. No action if there is no such element.
- (void)selectNextElementInFrameWithID:(NSString*)frameID
afterForm:(NSString*)formName
field:(NSString*)fieldName;
// Focuses the previous focusable element in tab order inside the web frame with
// frame id |frameID|. No action if there is no such element.
- (void)selectPreviousElementInFrameWithID:(NSString*)frameID;
// Focuses the previous focusable element in tab order from the element
// specified by |formName| and |fieldName| in tab order inside the web frame
// with frame id |frameID|. No action if there is no such element.
- (void)selectPreviousElementInFrameWithID:(NSString*)frameID
beforeForm:(NSString*)formName
field:(NSString*)fieldName;
// Checks if the frame with frame id |frameID| contains a next and previous
// element. |completionHandler| is called with 2 BOOLs, the first indicating if
// a previous element was found, and the second indicating if a next element was
// found. |completionHandler| cannot be nil.
- (void)fetchPreviousAndNextElementsPresenceInFrameWithID:(NSString*)frameID
completionHandler:(void (^)(BOOL, BOOL))
completionHandler;
// Checks if the frame with frame id |frameID| contains a next and previous
// element starting from the field specified by |formName| and |fieldName|.
// |completionHandler| is called with 2 BOOLs, the first indicating if a
// previous element was found, and the second indicating if a next element was
// found. |completionHandler| cannot be nil.
- (void)fetchPreviousAndNextElementsPresenceInFrameWithID:(NSString*)frameID
forForm:(NSString*)formName
field:(NSString*)fieldName
completionHandler:(void (^)(BOOL, BOOL))
completionHandler;
// Closes the keyboard and defocuses the active input element in the frame with
// frame id |frameID|.
- (void)closeKeyboardForFrameWithID:(NSString*)frameID;
@end
#endif // COMPONENTS_AUTOFILL_IOS_BROWSER_JS_SUGGESTION_MANAGER_H_