Chromium Code Reviews| Index: ios/web_view/internal/cwv_web_view.mm |
| diff --git a/ios/web_view/internal/cwv_web_view.mm b/ios/web_view/internal/cwv_web_view.mm |
| index 503cadd517ccbf86bb37f8a44104ccd04d337d73..78f303f92274ff15a545a976ff0189c23a82fb43 100644 |
| --- a/ios/web_view/internal/cwv_web_view.mm |
| +++ b/ios/web_view/internal/cwv_web_view.mm |
| @@ -23,6 +23,7 @@ |
| #import "ios/web_view/internal/cwv_html_element_internal.h" |
| #import "ios/web_view/internal/cwv_navigation_action_internal.h" |
| #import "ios/web_view/internal/cwv_web_view_configuration_internal.h" |
| +#import "ios/web_view/internal/translate/cwv_translation_controller_internal.h" |
| #import "ios/web_view/internal/translate/web_view_translate_client.h" |
| #include "ios/web_view/internal/web_view_browser_state.h" |
| #import "ios/web_view/internal/web_view_java_script_dialog_presenter.h" |
| @@ -82,9 +83,9 @@ static NSString* gUserAgentProduct = nil; |
| @synthesize configuration = _configuration; |
| @synthesize navigationDelegate = _navigationDelegate; |
| -@synthesize translationDelegate = _translationDelegate; |
| @synthesize estimatedProgress = _estimatedProgress; |
| @synthesize UIDelegate = _UIDelegate; |
| +@synthesize translationController = _translationController; |
|
michaeldo
2017/05/01 18:25:36
Please move up to sort alphabetically.
jzw1
2017/05/08 03:36:27
Done.
|
| + (NSString*)userAgentProduct { |
| return gUserAgentProduct; |
| @@ -187,12 +188,6 @@ static NSString* gUserAgentProduct = nil; |
| _javaScriptDialogPresenter->SetUIDelegate(_UIDelegate); |
| } |
| -- (void)setTranslationDelegate:(id<CWVTranslateDelegate>)translationDelegate { |
| - _translationDelegate = translationDelegate; |
| - ios_web_view::WebViewTranslateClient::FromWebState(_webState.get()) |
| - ->set_translate_delegate(translationDelegate); |
| -} |
| - |
| // ----------------------------------------------------------------------- |
| // WebStateObserver implementation. |
| @@ -290,6 +285,16 @@ static NSString* gUserAgentProduct = nil; |
| return _javaScriptDialogPresenter.get(); |
| } |
| +#pragma mark - Translation |
| + |
| +- (CWVTranslationController*)translationController { |
| + if (!_translationController) { |
| + _translationController = [[CWVTranslationController alloc] init]; |
| + _translationController.webState = _webState.get(); |
| + } |
| + return _translationController; |
| +} |
| + |
| #pragma mark - Preserving and Restoring State |
| - (void)encodeRestorableStateWithCoder:(NSCoder*)coder { |
| @@ -341,8 +346,7 @@ static NSString* gUserAgentProduct = nil; |
| base::MakeUnique<ios_web_view::WebViewJavaScriptDialogPresenter>(self, |
| nullptr); |
| - // Initialize Translate. |
| - ios_web_view::WebViewTranslateClient::CreateForWebState(_webState.get()); |
| + _translationController.webState = _webState.get(); |
| [self addInternalWebViewAsSubview]; |
| } |