Index: ios/chrome/browser/ui/toolbar/web_toolbar_controller.mm |
diff --git a/ios/chrome/browser/ui/toolbar/web_toolbar_controller.mm b/ios/chrome/browser/ui/toolbar/web_toolbar_controller.mm |
index 98253f2fd3a6d48f1346016ba2676055b323d491..3e7f250a596ae9cce3050b6c2e27f6ab17233f81 100644 |
--- a/ios/chrome/browser/ui/toolbar/web_toolbar_controller.mm |
+++ b/ios/chrome/browser/ui/toolbar/web_toolbar_controller.mm |
@@ -37,6 +37,7 @@ |
#import "ios/chrome/browser/ui/animation_util.h" |
#import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" |
#import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" |
+#import "ios/chrome/browser/ui/commands/browser_commands.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/history/tab_history_popup_controller.h" |
@@ -366,7 +367,8 @@ CGRect RectShiftedDownAndResizedForStatusBar(CGRect rect) { |
- (instancetype)initWithDelegate:(id<WebToolbarDelegate>)delegate |
urlLoader:(id<UrlLoader>)urlLoader |
browserState:(ios::ChromeBrowserState*)browserState |
- preloadProvider:(id<PreloadProvider>)preloader { |
+ preloadProvider:(id<PreloadProvider>)preloader |
+ dispatcher:(id<BrowserCommands>)dispatcher { |
DCHECK(delegate); |
DCHECK(urlLoader); |
DCHECK(browserState); |
@@ -379,6 +381,7 @@ CGRect RectShiftedDownAndResizedForStatusBar(CGRect rect) { |
if (!self) |
return nil; |
+ self.dispatcher = dispatcher; |
self.readingListModel = |
ReadingListModelFactory::GetForBrowserState(browserState); |
@@ -476,6 +479,13 @@ CGRect RectShiftedDownAndResizedForStatusBar(CGRect rect) { |
[_backButton setEnabled:NO]; |
[_forwardButton setEnabled:NO]; |
+ // Assign tags before calling -setUpButton, since only buttons with tags |
+ // have -chromeExecuteCommand added as a target. |
+ [_reloadButton setTag:IDC_RELOAD]; |
+ [_stopButton setTag:IDC_STOP]; |
+ [_starButton setTag:IDC_BOOKMARK_PAGE]; |
+ [_voiceSearchButton setTag:IDC_VOICE_SEARCH]; |
+ |
if (idiom == IPAD_IDIOM) { |
// Note that the reload button gets repositioned when -layoutOmnibox is |
// called. |
@@ -539,6 +549,14 @@ CGRect RectShiftedDownAndResizedForStatusBar(CGRect rect) { |
hasDisabledImage:YES |
synchronously:NO]; |
+ // Assign targets for buttons using the dispatcher. |
+ [_backButton addTarget:self.dispatcher |
+ action:@selector(goBack) |
+ forControlEvents:UIControlEventTouchUpInside]; |
+ [_forwardButton addTarget:self.dispatcher |
+ action:@selector(goForward) |
+ forControlEvents:UIControlEventTouchUpInside]; |
+ |
_backButtonMode = ToolbarButtonModeNormal; |
_forwardButtonMode = ToolbarButtonModeNormal; |
UILongPressGestureRecognizer* backLongPress = |
@@ -566,13 +584,6 @@ CGRect RectShiftedDownAndResizedForStatusBar(CGRect rect) { |
action:@selector(cancelOmniboxEdit) |
forControlEvents:UIControlEventTouchUpInside]; |
- [_backButton setTag:IDC_BACK]; |
- [_forwardButton setTag:IDC_FORWARD]; |
- [_reloadButton setTag:IDC_RELOAD]; |
- [_stopButton setTag:IDC_STOP]; |
- [_starButton setTag:IDC_BOOKMARK_PAGE]; |
- [_voiceSearchButton setTag:IDC_VOICE_SEARCH]; |
- |
SetA11yLabelAndUiAutomationName(_backButton, IDS_ACCNAME_BACK, @"Back"); |
SetA11yLabelAndUiAutomationName(_forwardButton, IDS_ACCNAME_FORWARD, |
@"Forward"); |