| // Copyright 2018 The Chromium Authors |
| // 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_TOOLBAR_PRIMARY_TOOLBAR_VIEW_CONTROLLER_H_ |
| #define IOS_CHROME_BROWSER_UI_TOOLBAR_PRIMARY_TOOLBAR_VIEW_CONTROLLER_H_ |
| |
| #import "ios/chrome/browser/ui/gestures/view_revealing_animatee.h" |
| #import "ios/chrome/browser/ui/keyboard/key_command_actions.h" |
| #import "ios/chrome/browser/ui/orchestrator/toolbar_animatee.h" |
| #import "ios/chrome/browser/ui/sharing/sharing_positioner.h" |
| #import "ios/chrome/browser/ui/toolbar/adaptive_toolbar_view_controller.h" |
| |
| @protocol PrimaryToolbarViewControllerDelegate; |
| @class ViewRevealingVerticalPanHandler; |
| |
| // ViewController for the primary toobar part of the adaptive toolbar. The one |
| // at the top of the screen. |
| @interface PrimaryToolbarViewController |
| : AdaptiveToolbarViewController <SharingPositioner, |
| KeyCommandActions, |
| ToolbarAnimatee, |
| ViewRevealingAnimatee> |
| |
| @property(nonatomic, weak) id<PrimaryToolbarViewControllerDelegate> delegate; |
| |
| // Whether the omnibox should be hidden on NTP. |
| @property(nonatomic, assign) BOOL shouldHideOmniboxOnNTP; |
| |
| // Pan gesture handler for the toolbar. |
| @property(nonatomic, weak) ViewRevealingVerticalPanHandler* panGestureHandler; |
| |
| // Shows the animation when transitioning to a prerendered page. |
| - (void)showPrerenderingAnimation; |
| |
| @end |
| |
| #endif // IOS_CHROME_BROWSER_UI_TOOLBAR_PRIMARY_TOOLBAR_VIEW_CONTROLLER_H_ |