Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(535)

Unified Diff: ios/web_view/internal/cwv_web_view.mm

Issue 2839093002: Implemented new Translate API for purely Objective-C clients. (Closed)
Patch Set: added TODO Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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];
}

Powered by Google App Engine
This is Rietveld 408576698