Commit 02c82eba authored by sczs's avatar sczs Committed by Commit Bot

[ios] Creates ToolbarCommand for contractingToolbar.

Creates a ToolbarCommands protocol so the ToolbarVC can cancel the omnibox edit.

Bug: 791092
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I5e283cfd1144b41c6f207103de153f0c6a4d7128
Reviewed-on: https://chromium-review.googlesource.com/804140
Commit-Queue: Sergio Collazos <sczs@chromium.org>
Reviewed-by: default avatarPeter Lee <pkl@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521117}
parent 92fca912
......@@ -33,6 +33,7 @@ source_set("commands") {
"snackbar_commands.h",
"start_voice_search_command.h",
"start_voice_search_command.mm",
"toolbar_commands.h",
"tools_menu_commands.h",
]
deps = [
......
......@@ -13,6 +13,7 @@
#import "ios/chrome/browser/ui/commands/page_info_commands.h"
#import "ios/chrome/browser/ui/commands/qr_scanner_commands.h"
#import "ios/chrome/browser/ui/commands/snackbar_commands.h"
#import "ios/chrome/browser/ui/commands/toolbar_commands.h"
#import "ios/chrome/browser/ui/commands/tools_menu_commands.h"
@class OpenNewTabCommand;
......@@ -27,6 +28,7 @@
QRScannerCommands,
SnackbarCommands,
TabHistoryPopupCommands,
ToolbarCommands,
ToolsMenuCommands>
// Closes the current tab.
......
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_UI_COMMANDS_TOOLBAR_COMMANDS_H_
#define IOS_CHROME_BROWSER_UI_COMMANDS_TOOLBAR_COMMANDS_H_
// Protocol that describes the commands that trigger Toolbar UI changes.
@protocol ToolbarCommands
// Contracts the Toolbar to its regular form.
- (void)contractToolbar;
@end
#endif // IOS_CHROME_BROWSER_UI_COMMANDS_TOOLBAR_COMMANDS_H_
......@@ -433,6 +433,9 @@
[buttonConstraints
addObject:[self.contractButton.widthAnchor
constraintEqualToConstant:kToolbarButtonWidth]];
[self.contractButton addTarget:self.dispatcher
action:@selector(contractToolbar)
forControlEvents:UIControlEventTouchUpInside];
// Add buttons to button updater.
self.buttonUpdater.backButton = self.backButton;
......
......@@ -4,6 +4,7 @@
#import "ios/chrome/browser/ui/toolbar/legacy_toolbar_coordinator.h"
#import "ios/chrome/browser/ui/commands/toolbar_commands.h"
#import "ios/chrome/browser/ui/toolbar/clean/toolbar_button_updater.h"
#import "ios/chrome/browser/ui/toolbar/omnibox_focuser.h"
#import "ios/chrome/browser/ui/toolbar/web_toolbar_controller.h"
......@@ -38,6 +39,9 @@
_toolsMenuCoordinator.dispatcher = dispatcher;
_toolsMenuCoordinator.configurationProvider = configurationProvider;
[dispatcher startDispatchingToTarget:self
forProtocol:@protocol(ToolbarCommands)];
NSNotificationCenter* defaultCenter = [NSNotificationCenter defaultCenter];
[defaultCenter addObserver:self
selector:@selector(toolsMenuWillShowNotification:)
......@@ -274,4 +278,10 @@
[self.toolbarController setToolsMenuIsVisibleForToolsMenuButton:NO];
}
#pragma mark - Toolbar Commands
- (void)contractToolbar {
[self cancelOmniboxEdit];
}
@end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment