blob: 575535b96a8e13bf6dcf9fc612616dd572304947 [file] [log] [blame]
// Copyright 2018 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_ORCHESTRATOR_OMNIBOX_FOCUS_ORCHESTRATOR_H_
#define IOS_CHROME_BROWSER_UI_ORCHESTRATOR_OMNIBOX_FOCUS_ORCHESTRATOR_H_
#import <UIKit/UIKit.h>
@protocol EditViewAnimatee;
@protocol LocationBarAnimatee;
@protocol ToolbarAnimatee;
// Orchestrator for the animation occuring when the omnibox is
// focused/unfocused.
@interface OmniboxFocusOrchestrator : NSObject
// Toolbar animatee, orchestrated by this object.
@property(nonatomic, weak) id<ToolbarAnimatee> toolbarAnimatee;
@property(nonatomic, weak) id<LocationBarAnimatee> locationBarAnimatee;
@property(nonatomic, weak) id<EditViewAnimatee> editViewAnimatee;
// Updates the UI elements orchestrated by this object to reflect the
// |omniboxFocused| state, and the |toolbarExpanded| state, |animated| or not.
- (void)transitionToStateOmniboxFocused:(BOOL)omniboxFocused
toolbarExpanded:(BOOL)toolbarExpanded
animated:(BOOL)animated;
@end
#endif // IOS_CHROME_BROWSER_UI_ORCHESTRATOR_OMNIBOX_FOCUS_ORCHESTRATOR_H_