Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(268)

Unified Diff: ios/clean/chrome/browser/ui/tab/tab_coordinator.mm

Issue 2737563006: [ios] Adds support for Find in Page to the new architecture. (Closed)
Patch Set: ObjC mediator Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698