Chromium Code Reviews| Index: ios/clean/chrome/browser/ui/toolbar/toolbar_coordinator.mm |
| diff --git a/ios/clean/chrome/browser/ui/toolbar/toolbar_coordinator.mm b/ios/clean/chrome/browser/ui/toolbar/toolbar_coordinator.mm |
| index fa452cb193691f81ac7e87f7e36f3d180fd8d386..e7894e71b4153b3c90b2139b7c4135f23127a28a 100644 |
| --- a/ios/clean/chrome/browser/ui/toolbar/toolbar_coordinator.mm |
| +++ b/ios/clean/chrome/browser/ui/toolbar/toolbar_coordinator.mm |
| @@ -8,13 +8,12 @@ |
| #import "ios/clean/chrome/browser/ui/toolbar/toolbar_coordinator.h" |
| -#include "base/strings/sys_string_conversions.h" |
| #import "ios/clean/chrome/browser/browser_coordinator+internal.h" |
| #import "ios/clean/chrome/browser/ui/commands/toolbar_commands.h" |
| #import "ios/clean/chrome/browser/ui/toolbar/toolbar_view_controller.h" |
| +#import "ios/clean/chrome/browser/ui/toolbar/toolbar_web_state_mediator.h" |
| #import "ios/clean/chrome/browser/ui/tools/tools_coordinator.h" |
| #import "ios/shared/chrome/browser/coordinator_context/coordinator_context.h" |
| -#include "ios/web/public/web_state/web_state.h" |
| #if !defined(__has_feature) || !__has_feature(objc_arc) |
| #error "This file requires ARC support." |
| @@ -23,29 +22,37 @@ |
| @interface ToolbarCoordinator ()<ToolbarCommands> |
| @property(nonatomic, weak) ToolsCoordinator* toolsMenuCoordinator; |
| @property(nonatomic, strong) ToolbarViewController* viewController; |
| +@property(nonatomic, strong) ToolbarWebStateMediator* mediator; |
| @end |
| @implementation ToolbarCoordinator |
| @synthesize toolsMenuCoordinator = _toolsMenuCoordinator; |
| @synthesize viewController = _viewController; |
| +@synthesize webState = _webState; |
| +@synthesize mediator = _mediator; |
| + |
| +- (instancetype)init { |
| + if ((self = [super init])) { |
| + _mediator = [[ToolbarWebStateMediator alloc] init]; |
| + } |
| + return self; |
| +} |
| + |
| +- (void)setWebState:(web::WebState*)webState { |
| + _webState = webState; |
| + self.mediator.webState = self.webState; |
|
edchin
2017/02/21 07:56:11
The webState is used only as a pass-through to the
sczs
2017/02/21 17:28:27
It will be used to pass the WebState to the ToolsM
|
| +} |
| - (void)start { |
| self.viewController = [[ToolbarViewController alloc] init]; |
| self.viewController.toolbarCommandHandler = self; |
| + self.mediator.consumer = self.viewController; |
| [self.context.baseViewController presentViewController:self.viewController |
| animated:self.context.animated |
| completion:nil]; |
| } |
| -#pragma mark - CRWWebStateObserver |
| - |
| -- (void)webState:(web::WebState*)webState didLoadPageWithSuccess:(BOOL)success { |
| - const GURL& pageURL = webState->GetVisibleURL(); |
| - [self.viewController |
| - setCurrentPageText:base::SysUTF8ToNSString(pageURL.spec())]; |
| -} |
| - |
| #pragma mark - ToolbarCommands |
| - (void)showToolsMenu { |