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 { |