| Index: ios/chrome/browser/ui/ntp/new_tab_page_toolbar_controller.mm
|
| diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_toolbar_controller.mm b/ios/chrome/browser/ui/ntp/new_tab_page_toolbar_controller.mm
|
| index dd8d35b925b1b434c623a15c6be8d73fdedbd678..bb5bf3ca4e062da477abb909acaf5ee0f1330149 100644
|
| --- a/ios/chrome/browser/ui/ntp/new_tab_page_toolbar_controller.mm
|
| +++ b/ios/chrome/browser/ui/ntp/new_tab_page_toolbar_controller.mm
|
| @@ -13,10 +13,9 @@
|
| #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h"
|
| #import "ios/chrome/browser/ui/commands/generic_chrome_command.h"
|
| #include "ios/chrome/browser/ui/commands/ios_command_ids.h"
|
| +#import "ios/chrome/browser/ui/ntp/google_landing_data_source.h"
|
| #import "ios/chrome/browser/ui/rtl_geometry.h"
|
| -#import "ios/chrome/browser/ui/toolbar/toolbar_model_ios.h"
|
| #include "ios/chrome/browser/ui/toolbar/toolbar_resource_macros.h"
|
| -#import "ios/chrome/browser/ui/toolbar/web_toolbar_controller.h"
|
| #import "ios/chrome/browser/ui/uikit_ui_util.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
|
|
| @@ -44,22 +43,28 @@ enum {
|
| base::scoped_nsobject<UIButton> _backButton;
|
| base::scoped_nsobject<UIButton> _forwardButton;
|
| base::scoped_nsobject<UIButton> _omniboxFocuser;
|
| - id<WebToolbarDelegate> _delegate;
|
|
|
| - // Delegate to focus and blur the omnibox.
|
| - base::WeakNSProtocol<id<OmniboxFocuser>> _focuser;
|
| + base::WeakNSProtocol<id<GoogleLandingDataSource>> _dataSource;
|
| }
|
|
|
| +// |YES| if the google landing toolbar can show the forward arrow.
|
| +@property(nonatomic, assign) BOOL canGoForward;
|
| +
|
| +// |YES| if the google landing toolbar can show the back arrow.
|
| +@property(nonatomic, assign) BOOL canGoBack;
|
| +
|
| @end
|
|
|
| @implementation NewTabPageToolbarController
|
|
|
| -- (instancetype)initWithToolbarDelegate:(id<WebToolbarDelegate>)delegate
|
| - focuser:(id<OmniboxFocuser>)focuser {
|
| +@synthesize canGoForward = _canGoForward;
|
| +@synthesize canGoBack = _canGoBack;
|
| +
|
| +- (instancetype)initWithToolbarDataSource:
|
| + (id<GoogleLandingDataSource>)dataSource {
|
| self = [super initWithStyle:ToolbarControllerStyleLightMode];
|
| if (self) {
|
| - _delegate = delegate;
|
| - _focuser.reset(focuser);
|
| + _dataSource.reset(dataSource);
|
| [self.backgroundView setHidden:YES];
|
|
|
| CGFloat boundingWidth = self.view.bounds.size.width;
|
| @@ -205,21 +210,18 @@ enum {
|
| - (void)hideViewsForNewTabPage:(BOOL)hide {
|
| [super hideViewsForNewTabPage:hide];
|
| // Show the back/forward buttons if there is forward history.
|
| - ToolbarModelIOS* toolbarModelIOS = [_delegate toolbarModelIOS];
|
| - if (toolbarModelIOS) {
|
| - BOOL forwardEnabled = toolbarModelIOS->CanGoForward();
|
| - [_backButton setHidden:!forwardEnabled && hide];
|
| - [_backButton setEnabled:toolbarModelIOS->CanGoBack()];
|
| - [_forwardButton setHidden:!forwardEnabled && hide];
|
| - }
|
| + BOOL forwardEnabled = self.canGoForward;
|
| + [_backButton setHidden:!forwardEnabled && hide];
|
| + [_backButton setEnabled:self.canGoBack];
|
| + [_forwardButton setHidden:!forwardEnabled && hide];
|
| }
|
|
|
| - (void)focusOmnibox:(id)sender {
|
| - [_focuser focusFakebox];
|
| + [_dataSource focusFakebox];
|
| }
|
|
|
| - (IBAction)stackButtonTouchDown:(id)sender {
|
| - [_delegate prepareToEnterTabSwitcher:self];
|
| + [_dataSource prepareToEnterTabSwitcher:self];
|
| }
|
|
|
| @end
|
|
|