Index: ios/web_view/shell/translate_controller.mm |
diff --git a/ios/web_view/shell/translate_controller.mm b/ios/web_view/shell/translate_controller.mm |
index 23ec4c93a658e7b9eca586f81cd794f0a0771e3b..98bc51bce606b0d846414ace6b139504f2d090ca 100644 |
--- a/ios/web_view/shell/translate_controller.mm |
+++ b/ios/web_view/shell/translate_controller.mm |
@@ -7,21 +7,27 @@ |
#import <UIKit/UIKit.h> |
#include "base/logging.h" |
-#import "base/mac/scoped_nsobject.h" |
#import "ios/web_view/public/criwv_translate_manager.h" |
-@interface TranslateController () { |
- base::scoped_nsobject<UIAlertController> _beforeTranslateActionSheet; |
- base::scoped_nsprotocol<id<CRIWVTranslateManager>> _translateManager; |
-} |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
+@interface TranslateController () |
+// Action Sheet to prompt user whether or not the page should be translated. |
+@property (nonatomic, strong) UIAlertController* beforeTranslateActionSheet; |
+// Manager which performs the translation of the content. |
+@property (nonatomic, strong) id<CRIWVTranslateManager> translateManager; |
@end |
@implementation TranslateController |
+@synthesize beforeTranslateActionSheet = _beforeTranslateActionSheet; |
+@synthesize translateManager = _translateManager; |
+ |
- (void)dealloc { |
[_beforeTranslateActionSheet dismissViewControllerAnimated:YES |
completion:nil]; |
- [super dealloc]; |
} |
#pragma mark CRIWVTranslateDelegate methods |
@@ -31,19 +37,19 @@ |
if (step == CRIWVTransateStepBeforeTranslate) { |
DCHECK(!_translateManager); |
DCHECK(!_beforeTranslateActionSheet); |
- _translateManager.reset([manager retain]); |
- _beforeTranslateActionSheet.reset([[UIAlertController |
+ self.translateManager = manager; |
+ self.beforeTranslateActionSheet = [UIAlertController |
alertControllerWithTitle:nil |
message:@"Translate?" |
- preferredStyle:UIAlertControllerStyleActionSheet] retain]); |
+ preferredStyle:UIAlertControllerStyleActionSheet]; |
UIAlertAction* cancelAction = |
[UIAlertAction actionWithTitle:@"Nope." |
style:UIAlertActionStyleCancel |
handler:^(UIAlertAction* action) { |
DCHECK(_beforeTranslateActionSheet); |
- _beforeTranslateActionSheet.reset(); |
+ self.beforeTranslateActionSheet = nil; |
DCHECK(_translateManager); |
- _translateManager.reset(); |
+ self.translateManager = nil; |
}]; |
[_beforeTranslateActionSheet addAction:cancelAction]; |
@@ -52,10 +58,10 @@ |
style:UIAlertActionStyleDefault |
handler:^(UIAlertAction* action) { |
DCHECK(_beforeTranslateActionSheet); |
- _beforeTranslateActionSheet.reset(); |
+ self.beforeTranslateActionSheet = nil; |
DCHECK(_translateManager); |
[_translateManager translate]; |
- _translateManager.reset(); |
+ self.translateManager = nil; |
}]; |
[_beforeTranslateActionSheet addAction:translateAction]; |