OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef IOS_CHROME_BROWSER_UI_TAB_SWITCHER_TAB_SWITCHER_H_ | 5 #ifndef IOS_CHROME_BROWSER_UI_TAB_SWITCHER_TAB_SWITCHER_H_ |
6 #define IOS_CHROME_BROWSER_UI_TAB_SWITCHER_TAB_SWITCHER_H_ | 6 #define IOS_CHROME_BROWSER_UI_TAB_SWITCHER_TAB_SWITCHER_H_ |
7 | 7 |
8 #import <UIKit/UIKit.h> | 8 #import <UIKit/UIKit.h> |
9 | 9 |
10 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" | 10 #import "ios/chrome/browser/ui/commands/browser_commands.h" |
11 #include "ios/chrome/browser/ui/tab_switcher/tab_switcher_transition_context.h" | 11 #include "ios/chrome/browser/ui/tab_switcher/tab_switcher_transition_context.h" |
12 #include "ui/base/page_transition_types.h" | 12 #include "ui/base/page_transition_types.h" |
13 #include "url/gurl.h" | 13 #include "url/gurl.h" |
14 | 14 |
15 @class Tab; | 15 @class Tab; |
16 @class TabModel; | 16 @class TabModel; |
17 @protocol TabSwitcher; | 17 @protocol TabSwitcher; |
18 @protocol ToolbarOwner; | 18 @protocol ToolbarOwner; |
19 | 19 |
20 // This delegate is used to drive the TabSwitcher dismissal and execute code | 20 // This delegate is used to drive the TabSwitcher dismissal and execute code |
(...skipping 22 matching lines...) Expand all Loading... |
43 | 43 |
44 // This protocol describes the common interface between the two implementations | 44 // This protocol describes the common interface between the two implementations |
45 // of the tab switcher. StackViewController for iPhone and TabSwitcherController | 45 // of the tab switcher. StackViewController for iPhone and TabSwitcherController |
46 // for iPad are examples of implementers of this protocol. | 46 // for iPad are examples of implementers of this protocol. |
47 @protocol TabSwitcher | 47 @protocol TabSwitcher |
48 | 48 |
49 // This delegate must be set on the tab switcher in order to drive the tab | 49 // This delegate must be set on the tab switcher in order to drive the tab |
50 // switcher. | 50 // switcher. |
51 @property(nonatomic, assign) id<TabSwitcherDelegate> delegate; | 51 @property(nonatomic, assign) id<TabSwitcherDelegate> delegate; |
52 | 52 |
| 53 // The dispatcher for browser-ish commands. |
| 54 @property(nonatomic, readonly) id<BrowserCommands> browserCommandsDispatcher; |
| 55 |
53 // Restores the internal state of the tab switcher with the given tab models, | 56 // Restores the internal state of the tab switcher with the given tab models, |
54 // which must not be nil. |activeTabModel| is the model which starts active, | 57 // which must not be nil. |activeTabModel| is the model which starts active, |
55 // and must be one of the other two models. Should only be called when the | 58 // and must be one of the other two models. Should only be called when the |
56 // object is not being shown. | 59 // object is not being shown. |
57 - (void)restoreInternalStateWithMainTabModel:(TabModel*)mainModel | 60 - (void)restoreInternalStateWithMainTabModel:(TabModel*)mainModel |
58 otrTabModel:(TabModel*)otrModel | 61 otrTabModel:(TabModel*)otrModel |
59 activeTabModel:(TabModel*)activeModel; | 62 activeTabModel:(TabModel*)activeModel; |
60 | 63 |
61 // Returns the root view of the tab switcher. | 64 // Returns the root view of the tab switcher. |
62 - (UIView*)view; | 65 - (UIView*)view; |
(...skipping 22 matching lines...) Expand all Loading... |
85 @optional | 88 @optional |
86 @property(nonatomic, retain) TabSwitcherTransitionContext* transitionContext; | 89 @property(nonatomic, retain) TabSwitcherTransitionContext* transitionContext; |
87 | 90 |
88 // Dismisses the tab switcher using the given tab model. The dismissal of the | 91 // Dismisses the tab switcher using the given tab model. The dismissal of the |
89 // tab switcher will be animated if the |animated| parameter is set to YES. | 92 // tab switcher will be animated if the |animated| parameter is set to YES. |
90 - (void)tabSwitcherDismissWithModel:(TabModel*)model animated:(BOOL)animated; | 93 - (void)tabSwitcherDismissWithModel:(TabModel*)model animated:(BOOL)animated; |
91 | 94 |
92 @end | 95 @end |
93 | 96 |
94 #endif // IOS_CHROME_BROWSER_UI_TAB_SWITCHER_TAB_SWITCHER_H_ | 97 #endif // IOS_CHROME_BROWSER_UI_TAB_SWITCHER_TAB_SWITCHER_H_ |
OLD | NEW |