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 72b1007f560be17654aa3b397bc00c20466654f9..69a7172d7640d3699d85c447a837616ff9a0e059 100644 |
--- a/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm |
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_controller.mm |
@@ -172,6 +172,10 @@ enum { |
// is initiated, and when WebController calls -willBeDismissed. |
@property(nonatomic, assign) UIViewController* parentViewController; |
+// To ease modernizing the NTP a non-descript CommandDispatcher is passed thru |
+// to be used by the reuabled NTP panels. |
+@property(nonatomic, assign) id dispatcher; |
+ |
@end |
@implementation NewTabPageController |
@@ -179,6 +183,7 @@ enum { |
@synthesize ntpView = newTabPageView_; |
@synthesize swipeRecognizerProvider = swipeRecognizerProvider_; |
@synthesize parentViewController = parentViewController_; |
+@synthesize dispatcher = dispatcher_; |
- (id)initWithUrl:(const GURL&)url |
loader:(id<UrlLoader>)loader |
@@ -188,7 +193,8 @@ enum { |
colorCache:(NSMutableDictionary*)colorCache |
webToolbarDelegate:(id<WebToolbarDelegate>)webToolbarDelegate |
tabModel:(TabModel*)tabModel |
- parentViewController:(UIViewController*)parentViewController { |
+ parentViewController:(UIViewController*)parentViewController |
+ dispatcher:(id)dispatcher { |
self = [super initWithNibName:nil url:url]; |
if (self) { |
DCHECK(browserState); |
@@ -198,6 +204,7 @@ enum { |
loader_ = loader; |
newTabPageObserver_ = ntpObserver; |
parentViewController_ = parentViewController; |
+ dispatcher_ = dispatcher; |
focuser_.reset(focuser); |
webToolbarDelegate_.reset(webToolbarDelegate); |
tabModel_.reset([tabModel retain]); |
@@ -539,13 +546,12 @@ enum { |
} else if (item.identifier == NewTabPage::kMostVisitedPanel) { |
if (!googleLandingController_) { |
googleLandingController_.reset([[GoogleLandingController alloc] init]); |
+ [googleLandingController_ setDispatcher:self.dispatcher]; |
googleLandingMediator_.reset([[GoogleLandingMediator alloc] |
- initWithConsumer:googleLandingController_ |
- browserState:browserState_ |
- loader:loader_ |
- focuser:focuser_ |
- webToolbarDelegate:webToolbarDelegate_ |
- webStateList:[tabModel_ webStateList]]); |
+ initWithConsumer:googleLandingController_ |
+ browserState:browserState_ |
+ dispatcher:self.dispatcher |
+ webStateList:[tabModel_ webStateList]]); |
[googleLandingController_ setDataSource:googleLandingMediator_]; |
} |
panelController = googleLandingController_; |