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

Side by Side Diff: ios/web_view/shell/translate_controller.m

Issue 2659393004: Convert ios_web_view_shell to pure Objective-C. (Closed)
Patch Set: Move const and format. Created 3 years, 10 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 unified diff | Download patch
« no previous file with comments | « ios/web_view/shell/shell_view_controller.mm ('k') | ios/web_view/shell/translate_controller.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/web_view/shell/translate_controller.h" 5 #import "ios/web_view/shell/translate_controller.h"
6 6
7 #import <UIKit/UIKit.h> 7 #import <UIKit/UIKit.h>
8 8
9 #include "base/logging.h"
10 #import "ios/web_view/public/criwv_translate_manager.h" 9 #import "ios/web_view/public/criwv_translate_manager.h"
11 10
12 #if !defined(__has_feature) || !__has_feature(objc_arc) 11 #if !defined(__has_feature) || !__has_feature(objc_arc)
13 #error "This file requires ARC support." 12 #error "This file requires ARC support."
14 #endif 13 #endif
15 14
16 @interface TranslateController () 15 @interface TranslateController ()
17 // Action Sheet to prompt user whether or not the page should be translated. 16 // Action Sheet to prompt user whether or not the page should be translated.
18 @property (nonatomic, strong) UIAlertController* beforeTranslateActionSheet; 17 @property(nonatomic, strong) UIAlertController* beforeTranslateActionSheet;
19 // Manager which performs the translation of the content. 18 // Manager which performs the translation of the content.
20 @property (nonatomic, strong) id<CRIWVTranslateManager> translateManager; 19 @property(nonatomic, strong) id<CRIWVTranslateManager> translateManager;
21 @end 20 @end
22 21
23 @implementation TranslateController 22 @implementation TranslateController
24 23
25 @synthesize beforeTranslateActionSheet = _beforeTranslateActionSheet; 24 @synthesize beforeTranslateActionSheet = _beforeTranslateActionSheet;
26 @synthesize translateManager = _translateManager; 25 @synthesize translateManager = _translateManager;
27 26
28 - (void)dealloc { 27 - (void)dealloc {
29 [_beforeTranslateActionSheet dismissViewControllerAnimated:YES 28 [_beforeTranslateActionSheet dismissViewControllerAnimated:YES
30 completion:nil]; 29 completion:nil];
31 } 30 }
32 31
33 #pragma mark CRIWVTranslateDelegate methods 32 #pragma mark CRIWVTranslateDelegate methods
34 33
35 - (void)translateStepChanged:(CRIWVTransateStep)step 34 - (void)translateStepChanged:(CRIWVTransateStep)step
36 manager:(id<CRIWVTranslateManager>)manager { 35 manager:(id<CRIWVTranslateManager>)manager {
37 if (step == CRIWVTransateStepBeforeTranslate) { 36 if (step == CRIWVTransateStepBeforeTranslate) {
38 DCHECK(!_translateManager);
39 DCHECK(!_beforeTranslateActionSheet);
40 self.translateManager = manager; 37 self.translateManager = manager;
41 self.beforeTranslateActionSheet = [UIAlertController 38 self.beforeTranslateActionSheet = [UIAlertController
42 alertControllerWithTitle:nil 39 alertControllerWithTitle:nil
43 message:@"Translate?" 40 message:@"Translate?"
44 preferredStyle:UIAlertControllerStyleActionSheet]; 41 preferredStyle:UIAlertControllerStyleActionSheet];
45 UIAlertAction* cancelAction = 42 UIAlertAction* cancelAction =
46 [UIAlertAction actionWithTitle:@"Nope." 43 [UIAlertAction actionWithTitle:@"Nope."
47 style:UIAlertActionStyleCancel 44 style:UIAlertActionStyleCancel
48 handler:^(UIAlertAction* action) { 45 handler:^(UIAlertAction* action) {
49 DCHECK(_beforeTranslateActionSheet);
50 self.beforeTranslateActionSheet = nil; 46 self.beforeTranslateActionSheet = nil;
51 DCHECK(_translateManager);
52 self.translateManager = nil; 47 self.translateManager = nil;
53 }]; 48 }];
54 [_beforeTranslateActionSheet addAction:cancelAction]; 49 [_beforeTranslateActionSheet addAction:cancelAction];
55 50
56 UIAlertAction* translateAction = 51 UIAlertAction* translateAction =
57 [UIAlertAction actionWithTitle:@"Yes!" 52 [UIAlertAction actionWithTitle:@"Yes!"
58 style:UIAlertActionStyleDefault 53 style:UIAlertActionStyleDefault
59 handler:^(UIAlertAction* action) { 54 handler:^(UIAlertAction* action) {
60 DCHECK(_beforeTranslateActionSheet);
61 self.beforeTranslateActionSheet = nil; 55 self.beforeTranslateActionSheet = nil;
62 DCHECK(_translateManager);
63 [_translateManager translate]; 56 [_translateManager translate];
64 self.translateManager = nil; 57 self.translateManager = nil;
65 }]; 58 }];
66 [_beforeTranslateActionSheet addAction:translateAction]; 59 [_beforeTranslateActionSheet addAction:translateAction];
67 60
68 [[UIApplication sharedApplication].keyWindow.rootViewController 61 [[UIApplication sharedApplication].keyWindow.rootViewController
69 presentViewController:_beforeTranslateActionSheet 62 presentViewController:_beforeTranslateActionSheet
70 animated:YES 63 animated:YES
71 completion:nil]; 64 completion:nil];
72 } 65 }
73 } 66 }
74 67
75 @end 68 @end
OLDNEW
« no previous file with comments | « ios/web_view/shell/shell_view_controller.mm ('k') | ios/web_view/shell/translate_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698