Index: ios/clean/chrome/browser/ui/tab/tab_coordinator.mm |
diff --git a/ios/clean/chrome/browser/ui/tab/tab_coordinator.mm b/ios/clean/chrome/browser/ui/tab/tab_coordinator.mm |
index a821971055d3c240c7a8278f306aa8d35e2187f4..ad4db4847ec8e1c891564e63dae85f344b8b7777 100644 |
--- a/ios/clean/chrome/browser/ui/tab/tab_coordinator.mm |
+++ b/ios/clean/chrome/browser/ui/tab/tab_coordinator.mm |
@@ -16,6 +16,7 @@ |
#import "ios/clean/chrome/browser/ui/actions/tab_grid_actions.h" |
#import "ios/clean/chrome/browser/ui/actions/tab_strip_actions.h" |
#import "ios/clean/chrome/browser/ui/animators/zoom_transition_animator.h" |
+#import "ios/clean/chrome/browser/ui/find_in_page/find_in_page_coordinator.h" |
#import "ios/clean/chrome/browser/ui/ntp/new_tab_page_coordinator.h" |
#import "ios/clean/chrome/browser/ui/tab/tab_container_view_controller.h" |
#import "ios/clean/chrome/browser/ui/toolbar/toolbar_coordinator.h" |
@@ -71,6 +72,12 @@ const BOOL kUseBottomToolbar = NO; |
toolbarCoordinator.context.baseViewController = nil; |
[toolbarCoordinator start]; |
+ // Create the FindInPage coordinator but do not start it. It will be started |
+ // when a find in page operation is invoked. |
+ FindInPageCoordinator* findInPageCoordinator = |
+ [[FindInPageCoordinator alloc] init]; |
+ [self addChildCoordinator:findInPageCoordinator]; |
+ |
// PLACEHOLDER: Replace this placeholder with an actual tab strip view |
// controller. |
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom]; |
@@ -100,13 +107,24 @@ const BOOL kUseBottomToolbar = NO; |
} |
- (void)childCoordinatorDidStart:(BrowserCoordinator*)coordinator { |
- if ([coordinator isKindOfClass:[ToolbarCoordinator class]]) { |
+ if ([coordinator isKindOfClass:[FindInPageCoordinator class]]) { |
+ self.viewController.findBarViewController = coordinator.viewController; |
+ } else if ([coordinator isKindOfClass:[ToolbarCoordinator class]]) { |
self.viewController.toolbarViewController = coordinator.viewController; |
} else if ([coordinator isKindOfClass:[WebCoordinator class]]) { |
self.viewController.contentViewController = coordinator.viewController; |
} |
} |
+- (void)childCoordinatorWillStop:(BrowserCoordinator*)coordinator { |
+ if ([coordinator isKindOfClass:[FindInPageCoordinator class]]) { |
+ self.viewController.findBarViewController = nil; |
rohitrao (ping after 24h)
2017/03/14 01:10:37
12) The FIP coordinator can be stopped and its UI
|
+ } else { |
+ // No other child coordinators should ever stop. |
+ NOTREACHED(); |
+ } |
+} |
+ |
- (BOOL)canAddOverlayCoordinator:(BrowserCoordinator*)overlayCoordinator { |
// This coordinator will always accept overlay coordinators. |
return YES; |