| 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;
|
|
|
| + (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];
|
| }
|
|
|