OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef IOS_CHROME_BROWSER_FIND_IN_PAGE_JS_FINDINPAGE_MANAGER_H_ | 5 #ifndef IOS_CHROME_BROWSER_FIND_IN_PAGE_JS_FINDINPAGE_MANAGER_H_ |
6 #define IOS_CHROME_BROWSER_FIND_IN_PAGE_JS_FINDINPAGE_MANAGER_H_ | 6 #define IOS_CHROME_BROWSER_FIND_IN_PAGE_JS_FINDINPAGE_MANAGER_H_ |
7 | 7 |
8 #include <CoreGraphics/CGBase.h> | 8 #include <CoreGraphics/CGBase.h> |
9 #include <CoreGraphics/CGGeometry.h> | 9 #include <CoreGraphics/CGGeometry.h> |
10 | 10 |
11 #include "base/ios/block_types.h" | 11 #include "base/ios/block_types.h" |
12 #import "base/mac/scoped_nsobject.h" | |
13 #import "ios/web/public/web_state/js/crw_js_injection_manager.h" | 12 #import "ios/web/public/web_state/js/crw_js_injection_manager.h" |
14 | 13 |
15 // Data from find in page. | 14 // Data from find in page. |
16 typedef struct FindInPageEntry { | 15 typedef struct FindInPageEntry { |
17 CGPoint point; // Scroll offset required to center the highlighted item. | 16 CGPoint point; // Scroll offset required to center the highlighted item. |
18 NSInteger index; // Currently higlighted search term. | 17 NSInteger index; // Currently higlighted search term. |
19 } FindInPageEntry; | 18 } FindInPageEntry; |
20 | 19 |
21 // Constant for "not found". | 20 // Constant for "not found". |
22 extern FindInPageEntry FindInPageEntryZero; | 21 extern FindInPageEntry FindInPageEntryZero; |
23 | 22 |
24 @class CRWJSInjectionReceiver; | 23 @class CRWJSInjectionReceiver; |
25 @class FindInPageModel; | 24 @class FindInPageModel; |
26 | 25 |
27 // Manager for the injection of the Find In Page JavaScript. | 26 // Manager for the injection of the Find In Page JavaScript. |
28 @interface JsFindinpageManager : CRWJSInjectionManager { | 27 @interface JsFindinpageManager : CRWJSInjectionManager |
29 @private | |
30 // Model for find in page. | |
31 base::scoped_nsobject<FindInPageModel> findInPageModel_; | |
32 } | |
33 | 28 |
34 // Find In Page model. TODO(justincohen) consider using find_tab_helper.cc. | 29 // Find In Page model. TODO(justincohen) consider using find_tab_helper.cc. |
35 @property(nonatomic, readonly) FindInPageModel* findInPageModel; | 30 @property(strong, nonatomic, readonly) FindInPageModel* findInPageModel; |
36 | 31 |
37 // Sets the width and height of the window. | 32 // Sets the width and height of the window. |
38 - (void)setWidth:(CGFloat)width height:(CGFloat)height; | 33 - (void)setWidth:(CGFloat)width height:(CGFloat)height; |
39 | 34 |
40 // Runs injected JavaScript to find |query| string. Calls |completionHandler| | 35 // Runs injected JavaScript to find |query| string. Calls |completionHandler| |
41 // with YES if the find operation completed, it is called with NO otherwise. | 36 // with YES if the find operation completed, it is called with NO otherwise. |
42 // If the find operation was successfiul the first match to scroll to is | 37 // If the find operation was successfiul the first match to scroll to is |
43 // also called with. If the |completionHandler| is called with NO, another | 38 // also called with. If the |completionHandler| is called with NO, another |
44 // call to |pumpWithCompletionHandler:| is required. |completionHandler| cannot | 39 // call to |pumpWithCompletionHandler:| is required. |completionHandler| cannot |
45 // be nil. | 40 // be nil. |
(...skipping 15 matching lines...) Expand all Loading... |
61 // with the new scroll position passed in. The |completionHandler| can be nil. | 56 // with the new scroll position passed in. The |completionHandler| can be nil. |
62 - (void)previousMatchWithCompletionHandler:(void (^)(CGPoint))completionHandler; | 57 - (void)previousMatchWithCompletionHandler:(void (^)(CGPoint))completionHandler; |
63 | 58 |
64 // Stops find in page and calls |completionHandler| once find in page is | 59 // Stops find in page and calls |completionHandler| once find in page is |
65 // stopped. |completionHandler| cannot be nil. | 60 // stopped. |completionHandler| cannot be nil. |
66 - (void)disableWithCompletionHandler:(ProceduralBlock)completionHandler; | 61 - (void)disableWithCompletionHandler:(ProceduralBlock)completionHandler; |
67 | 62 |
68 @end | 63 @end |
69 | 64 |
70 #endif // IOS_CHROME_BROWSER_FIND_IN_PAGE_JS_FINDINPAGE_MANAGER_H_ | 65 #endif // IOS_CHROME_BROWSER_FIND_IN_PAGE_JS_FINDINPAGE_MANAGER_H_ |
OLD | NEW |