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

Side by Side Diff: ios/clean/chrome/browser/ui/root/root_container_coordinator.mm

Issue 2800313002: [ios] RootCoordinator and view controller. (Closed)
Patch Set: 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #import "ios/clean/chrome/browser/ui/root/root_container_coordinator.h"
6
7 #if !defined(__has_feature) || !__has_feature(objc_arc)
8 #error "This file requires ARC support."
9 #endif
10
11 #import "ios/clean/chrome/browser/ui/root/root_container_view_controller.h"
12 #import "ios/clean/chrome/browser/ui/tab_grid/tab_grid_coordinator.h"
13 #import "ios/shared/chrome/browser/ui/browser_list/browser.h"
14 #import "ios/shared/chrome/browser/ui/commands/command_dispatcher.h"
15 #import "ios/shared/chrome/browser/ui/coordinators/browser_coordinator+internal. h"
16
17 #if !defined(__has_feature) || !__has_feature(objc_arc)
18 #error "This file requires ARC support."
19 #endif
20
21 @interface RootContainerCoordinator ()
22 @property(nonatomic, strong) RootContainerViewController* viewController;
23 @property(nonatomic, weak) TabGridCoordinator* tabGridCoordinator;
24 @end
25
26 @implementation RootContainerCoordinator
27 @synthesize viewController = _viewController;
28 @synthesize tabGridCoordinator = _tabGridCoordinator;
29
30 #pragma mark - BrowserCoordinator
31
32 - (void)start {
33 self.viewController = [[RootContainerViewController alloc] init];
34 // CommandDispatcher* dispatcher = self.browser->dispatcher();
marq (ping after 24h) 2017/04/10 11:04:25 Don't leave code commented out. I agree that we wa
edchin 2017/04/10 16:41:28 Oversight on my part. I was originally planning to
35 // [dispatcher startDispatchingToTarget:self forSelector:@selector(loadURL:)];
36
37 TabGridCoordinator* tabGridCoordinator = [[TabGridCoordinator alloc] init];
38 [self addChildCoordinator:tabGridCoordinator];
39 [tabGridCoordinator start];
40 self.tabGridCoordinator = tabGridCoordinator;
41
42 [super start];
43 }
44
45 - (void)stop {
46 [super stop];
47 // PLACEHOLDER: Stop child coordinators here for now. We might deal with this
48 // differently later on.
49 for (BrowserCoordinator* child in self.children) {
50 [child stop];
51 }
52 [self.browser->dispatcher() stopDispatchingToTarget:self];
53 }
54
55 - (void)childCoordinatorDidStart:(BrowserCoordinator*)childCoordinator {
56 self.viewController.contentViewController = childCoordinator.viewController;
57 }
58
59 - (void)childCoordinatorWillStop:(BrowserCoordinator*)childCoordinator {
60 self.viewController.contentViewController = nil;
61 }
62
63 - (BOOL)canAddOverlayCoordinator:(BrowserCoordinator*)overlayCoordinator {
64 return YES;
65 }
66
67 #pragma mark - URLOpening
68
69 - (void)openURL:(NSURL*)URL {
70 [self.tabGridCoordinator openURL:URL];
71 }
72
73 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698