OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COORDINATOR_H
_ | 5 #ifndef IOS_CHROME_BROWSER_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COORDINATOR_H
_ |
6 #define IOS_CHROME_BROWSER_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COORDINATOR_H
_ | 6 #define IOS_CHROME_BROWSER_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COORDINATOR_H
_ |
7 | 7 |
8 #import "ios/chrome/browser/chrome_coordinator.h" | 8 #import "ios/chrome/browser/chrome_coordinator.h" |
9 #import "ios/chrome/browser/ui/ntp/new_tab_page_panel_protocol.h" | 9 #import "ios/chrome/browser/ui/ntp/new_tab_page_panel_protocol.h" |
10 | 10 |
11 namespace ios { | 11 namespace ios { |
12 class ChromeBrowserState; | 12 class ChromeBrowserState; |
13 } | 13 } |
14 | 14 |
| 15 @protocol BrowserCommands; |
| 16 @protocol ChromeExecuteCommand; |
15 @class ContentSuggestionsHeaderController; | 17 @class ContentSuggestionsHeaderController; |
| 18 @protocol OmniboxFocuser; |
16 @protocol UrlLoader; | 19 @protocol UrlLoader; |
17 class WebStateList; | 20 class WebStateList; |
18 | 21 |
19 // Coordinator to manage the Suggestions UI via a | 22 // Coordinator to manage the Suggestions UI via a |
20 // ContentSuggestionsViewController. | 23 // ContentSuggestionsViewController. |
21 @interface ContentSuggestionsCoordinator | 24 @interface ContentSuggestionsCoordinator |
22 : ChromeCoordinator<NewTabPagePanelProtocol> | 25 : ChromeCoordinator<NewTabPagePanelProtocol> |
23 | 26 |
24 // BrowserState used to create the ContentSuggestionFactory. | 27 // BrowserState used to create the ContentSuggestionFactory. |
25 @property(nonatomic, assign) ios::ChromeBrowserState* browserState; | 28 @property(nonatomic, assign) ios::ChromeBrowserState* browserState; |
26 // URLLoader used to open pages. | 29 // URLLoader used to open pages. |
27 @property(nonatomic, weak) id<UrlLoader> URLLoader; | 30 @property(nonatomic, weak) id<UrlLoader> URLLoader; |
28 @property(nonatomic, assign) WebStateList* webStateList; | 31 @property(nonatomic, assign) WebStateList* webStateList; |
29 @property(nonatomic, weak) id dispatcher; | 32 @property(nonatomic, weak) |
| 33 id<BrowserCommands, ChromeExecuteCommand, OmniboxFocuser, UrlLoader> |
| 34 dispatcher; |
30 // Whether the Suggestions UI is displayed. If this is true, start is a no-op. | 35 // Whether the Suggestions UI is displayed. If this is true, start is a no-op. |
31 @property(nonatomic, readonly) BOOL visible; | 36 @property(nonatomic, readonly) BOOL visible; |
32 | 37 |
33 @property(nonatomic, strong, readonly) | 38 @property(nonatomic, strong, readonly) |
34 ContentSuggestionsHeaderController* headerController; | 39 ContentSuggestionsHeaderController* headerController; |
35 | 40 |
36 - (UIViewController*)viewController; | 41 - (UIViewController*)viewController; |
37 | 42 |
38 @end | 43 @end |
39 | 44 |
40 #endif // IOS_CHROME_BROWSER_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COORDINATO
R_H_ | 45 #endif // IOS_CHROME_BROWSER_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COORDINATO
R_H_ |
OLD | NEW |