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

Unified Diff: ios/chrome/browser/ui/ntp/new_tab_page_controller.mm

Issue 2806153004: Convert main NTP panel to UIViewController. (Closed)
Patch Set: Comment typo 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/chrome/browser/ui/ntp/new_tab_page_controller.mm
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm b/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm
index ec65f615c8b837fb8ab11f21d5b4546ceeee4546..358c6ffcd0ee512333ac50323f0372d212dcf774 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm
@@ -164,6 +164,7 @@ enum {
@synthesize ntpView = newTabPageView_;
@synthesize swipeRecognizerProvider = swipeRecognizerProvider_;
+@synthesize parentViewController = parentViewController_;
- (id)initWithUrl:(const GURL&)url
loader:(id<UrlLoader>)loader
@@ -278,6 +279,11 @@ enum {
// Animations can last past the life of the NTP controller, nil out the
// delegate.
self.ntpView.scrollView.delegate = nil;
+
+ // TODO(crbug.com/708319): Also call -removeFromParentViewController for
+ // bookmarks, open tabs and incognit here.
+ [googleLandingController_ removeFromParentViewController];
rohitrao (ping after 24h) 2017/04/12 12:45:09 Why is this not covered by the willBeDismissed cod
justincohen 2017/04/12 14:23:12 -willMoveToParentViewController is called before t
+
[googleLandingController_ setDelegate:nil];
[bookmarkController_ setDelegate:nil];
[openTabsController_ setDelegate:nil];
@@ -287,9 +293,11 @@ enum {
#pragma mark - CRWNativeContent
-// Note: No point implementing -handleLowMemory because all native content
-// views but the selected one are dropped, and the selected view doesn't
-// need to do anything.
+- (void)willBeDismissed {
+ // TODO(crbug.com/708319): Also call -willMoveToParentViewController:nil for
+ // bookmarks, open tabs and incognito here.
+ [googleLandingController_ willMoveToParentViewController:nil];
+}
- (void)reload {
[currentController_ reload];
@@ -498,6 +506,7 @@ enum {
colorCache:dominantColorCache_] retain]);
}
view = [bookmarkController_ view];
+ // TODO(crbug.com/708319): Also addChildViewController for bookmarks here.
[bookmarkController_ setDelegate:self];
} else if (item.identifier == NewTabPage::kMostVisitedPanel) {
if (!googleLandingController_) {
@@ -508,6 +517,7 @@ enum {
webToolbarDelegate:webToolbarDelegate_
tabModel:tabModel_]);
}
+ [self.parentViewController addChildViewController:googleLandingController_];
view = [googleLandingController_ view];
[googleLandingController_ setDelegate:self];
} else if (item.identifier == NewTabPage::kOpenTabsPanel) {
@@ -515,6 +525,7 @@ enum {
openTabsController_.reset([[RecentTabsPanelController alloc]
initWithLoader:loader_
browserState:browserState_]);
+ // TODO(crbug.com/708319): Also addChildViewController for opentabs here.
view = [openTabsController_ view];
[openTabsController_ setDelegate:self];
} else if (item.identifier == NewTabPage::kIncognitoPanel) {
@@ -523,6 +534,7 @@ enum {
initWithLoader:loader_
browserState:browserState_
webToolbarDelegate:webToolbarDelegate_]);
+ // TODO(crbug.com/708319): Also addChildViewController for incognito here.
view = [incognitoController_ view];
} else {
NOTREACHED();
@@ -536,6 +548,13 @@ enum {
view.frame = [self.ntpView panelFrameForItemAtIndex:index];
item.view = view;
[self.ntpView.scrollView addSubview:view];
+
+ // Also didMoveToParentViewController for bookmarks, open tabs and incognito
+ // here.
+ if (item.identifier == NewTabPage::kMostVisitedPanel) {
+ [googleLandingController_
+ didMoveToParentViewController:self.parentViewController];
+ }
}
return created;
}

Powered by Google App Engine
This is Rietveld 408576698