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 59497cb2e159e0165b1fa94e3b025c0ca8759c21..35edf3f2fd6d14701c594755c310c409466afd43 100644 |
--- a/ios/clean/chrome/browser/ui/tab/tab_coordinator.mm |
+++ b/ios/clean/chrome/browser/ui/tab/tab_coordinator.mm |
@@ -9,6 +9,7 @@ |
#include "base/mac/foundation_util.h" |
#include "base/memory/ptr_util.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/tab_strip/tab_strip_coordinator.h" |
@@ -67,6 +68,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]; |
+ |
TabStripCoordinator* tabStripCoordinator = [[TabStripCoordinator alloc] init]; |
[self addChildCoordinator:tabStripCoordinator]; |
// Unset the base view controller since this is a contained view controller. |
@@ -93,7 +100,9 @@ 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; |
@@ -102,6 +111,12 @@ const BOOL kUseBottomToolbar = NO; |
} |
} |
+- (void)childCoordinatorWillStop:(BrowserCoordinator*)coordinator { |
+ if ([coordinator isKindOfClass:[FindInPageCoordinator class]]) { |
+ self.viewController.findBarViewController = nil; |
+ } |
+} |
+ |
- (BOOL)canAddOverlayCoordinator:(BrowserCoordinator*)overlayCoordinator { |
// This coordinator will always accept overlay coordinators. |
return YES; |