OLD | NEW |
(Empty) | |
| 1 // Copyright 2012 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_FIND_IN_PAGE_FIND_IN_PAGE_CONTROLLER_H_ |
| 6 #define IOS_CHROME_BROWSER_FIND_IN_PAGE_FIND_IN_PAGE_CONTROLLER_H_ |
| 7 |
| 8 #import <Foundation/Foundation.h> |
| 9 |
| 10 #include "base/ios/block_types.h" |
| 11 |
| 12 namespace web { |
| 13 class WebState; |
| 14 } |
| 15 |
| 16 @class FindInPageModel; |
| 17 |
| 18 extern NSString* const kFindBarTextFieldWillBecomeFirstResponderNotification; |
| 19 extern NSString* const kFindBarTextFieldDidResignFirstResponderNotification; |
| 20 |
| 21 @protocol FindInPageControllerDelegate<NSObject> |
| 22 // Informs the delegate when the scroll position is about to be changed on the |
| 23 // page. |
| 24 - (void)willAdjustScrollPosition; |
| 25 @end |
| 26 |
| 27 @interface FindInPageController : NSObject |
| 28 |
| 29 // Designated initializer. |
| 30 - (id)initWithWebState:(web::WebState*)webState |
| 31 delegate:(id<FindInPageControllerDelegate>)delegate; |
| 32 // Inject the find in page scripts into the web state. |
| 33 - (void)initFindInPage; |
| 34 // Find In Page model. TODO(justincohen) consider using find_tab_helper.cc. |
| 35 - (FindInPageModel*)findInPageModel; |
| 36 // Is Find In Page available right now (given the state of the WebState)? |
| 37 - (BOOL)canFindInPage; |
| 38 // Find |query| in page, update model with results of find. Calls |
| 39 // |completionHandler| after the find operation is complete. |completionHandler| |
| 40 // can be nil. |
| 41 - (void)findStringInPage:(NSString*)query |
| 42 completionHandler:(ProceduralBlock)completionHandler; |
| 43 // Move to the next find result based on |-findInPageModel|, and scroll to |
| 44 // match. Calls |completionHandler| when the next string has been found. |
| 45 // |completionHandler| can be nil. |
| 46 - (void)findNextStringInPageWithCompletionHandler: |
| 47 (ProceduralBlock)completionHandler; |
| 48 // Move to the previous find result based on |-findInPageModel|. Calls |
| 49 // |completionHandler| when the previous string has been found. |
| 50 // |completionHandler| can be nil. |
| 51 - (void)findPreviousStringInPageWithCompletionHandler: |
| 52 (ProceduralBlock)completionHandler; |
| 53 // Disable find in page script and model. Calls |completionHandler| once the |
| 54 // model has been disabled and cleanup is complete. |completionHandler| can be |
| 55 // nil. |
| 56 - (void)disableFindInPageWithCompletionHandler: |
| 57 (ProceduralBlock)completionHandler; |
| 58 |
| 59 // Save search term to Paste UIPasteboard. |
| 60 - (void)saveSearchTerm; |
| 61 // Restore search term from Paste UIPasteboard, updating findInPageModel. |
| 62 - (void)restoreSearchTerm; |
| 63 |
| 64 // Instructs the controller to detach itself from the web state. |
| 65 - (void)detachFromWebState; |
| 66 @end |
| 67 |
| 68 #endif // IOS_CHROME_BROWSER_FIND_IN_PAGE_FIND_IN_PAGE_CONTROLLER_H_ |
OLD | NEW |