Chromium Code Reviews| Index: ios/web_view/internal/translate/criwv_translate_manager_impl.mm |
| diff --git a/ios/web_view/internal/translate/criwv_translate_manager_impl.mm b/ios/web_view/internal/translate/criwv_translate_manager_impl.mm |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..af0920f9677c1c425d0ba44daa98e3fb92aaeb8b |
| --- /dev/null |
| +++ b/ios/web_view/internal/translate/criwv_translate_manager_impl.mm |
| @@ -0,0 +1,39 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#import "ios/web_view/internal/translate/criwv_translate_manager_impl.h" |
| + |
| +#include "base/logging.h" |
| +#include "components/translate/core/browser/translate_manager.h" |
| +#include "components/translate/core/browser/translate_ui_delegate.h" |
| + |
| +@interface CRIWVTranslateManagerImpl () { |
|
sdefresne
2017/01/20 10:28:13
Move to @implementation since your interface exten
michaeldo
2017/01/24 22:35:26
Done in dep CL.
|
| + std::unique_ptr<translate::TranslateUIDelegate> _translateUIDelegate; |
| +} |
| +@end |
| + |
| +@implementation CRIWVTranslateManagerImpl |
| + |
| +- (instancetype)initWithTranslateManager:(translate::TranslateManager*)manager |
| + sourceLanguage:(const std::string&)source |
| + targetLanguage:(const std::string&)target { |
| + if ((self = [super init])) { |
| + DCHECK(manager); |
| + _translateUIDelegate.reset(new translate::TranslateUIDelegate( |
|
sdefresne
2017/01/20 10:28:13
nit:
_translateUIDelegate = base::MakeUnique<tr
michaeldo
2017/01/24 22:35:26
Done in dep CL.
|
| + manager->GetWeakPtr(), source, target)); |
| + } |
| + return self; |
| +} |
| + |
| +#pragma mark CRIWVTranslateManager methods |
| + |
| +- (void)translate { |
| + _translateUIDelegate->Translate(); |
| +} |
| + |
| +- (void)revertTranslation { |
| + _translateUIDelegate->RevertTranslation(); |
| +} |
| + |
| +@end |