| // Copyright 2019 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #import "ios/web/public/find_in_page/find_in_page_manager_delegate_bridge.h" |
| |
| #import "ios/web/public/find_in_page/java_script_find_in_page_manager.h" |
| |
| namespace web { |
| |
| FindInPageManagerDelegateBridge::FindInPageManagerDelegateBridge( |
| id<CRWFindInPageManagerDelegate> delegate) |
| : delegate_(delegate) {} |
| |
| FindInPageManagerDelegateBridge::~FindInPageManagerDelegateBridge() {} |
| |
| void FindInPageManagerDelegateBridge::DidHighlightMatches( |
| AbstractFindInPageManager* manager, |
| WebState* web_state, |
| int match_count, |
| NSString* query) { |
| if ([delegate_ respondsToSelector:@selector |
| (findInPageManager: |
| didHighlightMatchesOfQuery:withMatchCount:forWebState:)]) { |
| [delegate_ findInPageManager:manager |
| didHighlightMatchesOfQuery:query |
| withMatchCount:match_count |
| forWebState:web_state]; |
| } |
| } |
| |
| void FindInPageManagerDelegateBridge::DidSelectMatch( |
| AbstractFindInPageManager* manager, |
| WebState* web_state, |
| int index, |
| NSString* context_string) { |
| if ([delegate_ respondsToSelector:@selector |
| (findInPageManager: |
| didSelectMatchAtIndex:withContextString:forWebState:)]) { |
| [delegate_ findInPageManager:manager |
| didSelectMatchAtIndex:index |
| withContextString:context_string |
| forWebState:web_state]; |
| } |
| } |
| |
| void FindInPageManagerDelegateBridge::UserDismissedFindNavigator( |
| AbstractFindInPageManager* manager) { |
| if ([delegate_ respondsToSelector:@selector |
| (userDismissedFindNavigatorForManager:)]) { |
| [delegate_ userDismissedFindNavigatorForManager:manager]; |
| } |
| } |
| |
| } // namespace web |