OLD | NEW |
(Empty) | |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef IOS_CHROME_BROWSER_UI_BROWSER_VIEW_CONTROLLER_DEPENDENCY_FACTORY_H_ |
| 6 #define IOS_CHROME_BROWSER_UI_BROWSER_VIEW_CONTROLLER_DEPENDENCY_FACTORY_H_ |
| 7 |
| 8 #import <UIKit/UIKit.h> |
| 9 |
| 10 #include "ios/chrome/browser/ui/tabs/tab_strip_controller.h" |
| 11 |
| 12 @class AlertCoordinator; |
| 13 @class KeyCommandsProvider; |
| 14 @class MessageBubbleView; |
| 15 @class PKPass; |
| 16 @class PKAddPassesViewController; |
| 17 @class PreloadController; |
| 18 @protocol PreloadProvider; |
| 19 @protocol ShareProtocol; |
| 20 @class TabModel; |
| 21 class ToolbarModelDelegateIOS; |
| 22 class ToolbarModelIOS; |
| 23 @protocol UrlLoader; |
| 24 @class WebToolbarController; |
| 25 @protocol WebToolbarDelegate; |
| 26 |
| 27 namespace infobars { |
| 28 class InfoBarManager; |
| 29 } |
| 30 |
| 31 namespace ios { |
| 32 class ChromeBrowserState; |
| 33 } |
| 34 |
| 35 // The category for all messages presented by the |
| 36 // BrowserViewControllerDependencyFactory via |showSnackbarWithMessage:|. |
| 37 extern NSString* const kBrowserViewControllerSnackbarCategory; |
| 38 |
| 39 // Creates helper objects needed by BrowserViewController. |
| 40 @interface BrowserViewControllerDependencyFactory : NSObject { |
| 41 @private |
| 42 ios::ChromeBrowserState* browserState_; |
| 43 } |
| 44 |
| 45 // Creates a new factory backed by |browserState|. This must be the same browser |
| 46 // state provided to BrowserViewController (and like BVC, this is a weak |
| 47 // reference). |
| 48 - (id)initWithBrowserState:(ios::ChromeBrowserState*)browserState; |
| 49 |
| 50 // Returns the ShareProtocol shared instance. |
| 51 - (id<ShareProtocol>)shareControllerInstance; |
| 52 |
| 53 // Creates a new PassKit view controller to display |pass|. |
| 54 - (PKAddPassesViewController*)newPassKitViewControllerForPass:(PKPass*)pass; |
| 55 |
| 56 // Displays a PassKit error infobar on the current tab. |
| 57 - (void)showPassKitErrorInfoBarForManager: |
| 58 (infobars::InfoBarManager*)infoBarManager; |
| 59 |
| 60 // Caller is responsible for releasing all of the created objects. |
| 61 - (PreloadController*)newPreloadController; |
| 62 |
| 63 - (TabStripController*)newTabStripControllerWithTabModel:(TabModel*)model; |
| 64 |
| 65 - (ToolbarModelIOS*)newToolbarModelIOSWithDelegate: |
| 66 (ToolbarModelDelegateIOS*)delegate; |
| 67 |
| 68 - (WebToolbarController*) |
| 69 newWebToolbarControllerWithDelegate:(id<WebToolbarDelegate>)delegate |
| 70 urlLoader:(id<UrlLoader>)urlLoader |
| 71 preloadProvider:(id<PreloadProvider>)preload; |
| 72 |
| 73 // Returns a new keyboard commands coordinator to handle keyboard commands. |
| 74 - (KeyCommandsProvider*)newKeyCommandsProvider; |
| 75 |
| 76 - (void)showSnackbarWithMessage:(NSString*)message; |
| 77 |
| 78 - (AlertCoordinator*)alertCoordinatorWithTitle:(NSString*)title |
| 79 message:(NSString*)message |
| 80 viewController: |
| 81 (UIViewController*)viewController; |
| 82 |
| 83 @end |
| 84 |
| 85 #endif // IOS_CHROME_BROWSER_UI_BROWSER_VIEW_CONTROLLER_DEPENDENCY_FACTORY_H_ |
OLD | NEW |