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

Side by Side Diff: ios/web_view/shell/shell_view_controller.mm

Issue 2665653003: Convert ios/web_view to ARC. (Closed)
Patch Set: 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
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/shell_view_controller.h" 5 #import "ios/web_view/shell/shell_view_controller.h"
6 6
7 #import "base/mac/scoped_nsobject.h"
8 #include "base/strings/sys_string_conversions.h" 7 #include "base/strings/sys_string_conversions.h"
9 #import "ios/web_view/public/criwv.h" 8 #import "ios/web_view/public/criwv.h"
10 #import "ios/web_view/public/criwv_web_view.h" 9 #import "ios/web_view/public/criwv_web_view.h"
11 #import "ios/web_view/shell/translate_controller.h" 10 #import "ios/web_view/shell/translate_controller.h"
12 11
12 #if !defined(__has_feature) || !__has_feature(objc_arc)
13 #error "This file requires ARC support."
14 #endif
15
13 namespace { 16 namespace {
14 const CGFloat kButtonSize = 44; 17 const CGFloat kButtonSize = 44;
15 } 18 }
16 19
17 @interface ShellViewController () { 20 @interface ShellViewController ()
18 base::scoped_nsobject<UIView> _containerView; 21 @property (nonatomic, strong) UIView* containerView;
Eugene But (OOO till 7-30) 2017/01/30 17:53:39 Please add comments for properties.
michaeldo 2017/01/30 19:30:35 Done.
19 base::scoped_nsobject<UITextField> _field; 22 @property (nonatomic, strong) UITextField* field;
20 base::scoped_nsobject<UIToolbar> _toolbar; 23 @property (nonatomic, strong) UIToolbar* toolbar;
21 base::scoped_nsprotocol<id<CRIWVWebView>> _webView; 24 @property (nonatomic, strong) id<CRIWVWebView> webView;
22 base::scoped_nsobject<TranslateController> _translateController; 25 @property (nonatomic, strong) TranslateController* translateController;
23 } 26
24 - (void)back; 27 - (void)back;
25 - (void)forward; 28 - (void)forward;
26 - (void)stopLoading; 29 - (void)stopLoading;
27 @end 30 @end
28 31
29 @implementation ShellViewController 32 @implementation ShellViewController
30 33
34 @synthesize containerView = _containerView;
35 @synthesize field = _field;
36 @synthesize toolbar = _toolbar;
37 @synthesize webView = _webView;
38 @synthesize translateController = _translateController;
39
31 - (void)viewDidLoad { 40 - (void)viewDidLoad {
32 [super viewDidLoad]; 41 [super viewDidLoad];
33 42
34 CGRect bounds = self.view.bounds; 43 CGRect bounds = self.view.bounds;
35 44
36 // Set up the toolbar. 45 // Set up the toolbar.
37 _toolbar.reset([[UIToolbar alloc] init]); 46 self.toolbar = [[UIToolbar alloc] init];
38 [_toolbar setBarTintColor:[UIColor colorWithRed:0.337 47 [_toolbar setBarTintColor:[UIColor colorWithRed:0.337
39 green:0.467 48 green:0.467
40 blue:0.988 49 blue:0.988
41 alpha:1.0]]; 50 alpha:1.0]];
42 [_toolbar setFrame:CGRectMake(0, 20, CGRectGetWidth(bounds), 44)]; 51 [_toolbar setFrame:CGRectMake(0, 20, CGRectGetWidth(bounds), 44)];
43 [_toolbar setAutoresizingMask:UIViewAutoresizingFlexibleWidth | 52 [_toolbar setAutoresizingMask:UIViewAutoresizingFlexibleWidth |
44 UIViewAutoresizingFlexibleBottomMargin]; 53 UIViewAutoresizingFlexibleBottomMargin];
45 [self.view addSubview:_toolbar]; 54 [self.view addSubview:_toolbar];
46 55
47 // Set up the container view. 56 // Set up the container view.
48 _containerView.reset([[UIView alloc] init]); 57 self.containerView = [[UIView alloc] init];
49 [_containerView setFrame:CGRectMake(0, 64, CGRectGetWidth(bounds), 58 [_containerView setFrame:CGRectMake(0, 64, CGRectGetWidth(bounds),
50 CGRectGetHeight(bounds) - 64)]; 59 CGRectGetHeight(bounds) - 64)];
51 [_containerView setBackgroundColor:[UIColor lightGrayColor]]; 60 [_containerView setBackgroundColor:[UIColor lightGrayColor]];
52 [_containerView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | 61 [_containerView setAutoresizingMask:UIViewAutoresizingFlexibleWidth |
53 UIViewAutoresizingFlexibleHeight]; 62 UIViewAutoresizingFlexibleHeight];
54 [self.view addSubview:_containerView]; 63 [self.view addSubview:_containerView];
55 64
56 // Text field. 65 // Text field.
57 const int kButtonCount = 3; 66 const int kButtonCount = 3;
58 _field.reset([[UITextField alloc] 67 self.field = [[UITextField alloc]
59 initWithFrame:CGRectMake(kButtonCount * kButtonSize, 6, 68 initWithFrame:CGRectMake(kButtonCount * kButtonSize, 6,
60 CGRectGetWidth([_toolbar frame]) - 69 CGRectGetWidth([_toolbar frame]) -
61 kButtonCount * kButtonSize - 10, 70 kButtonCount * kButtonSize - 10,
62 31)]); 71 31)];
63 [_field setDelegate:self]; 72 [_field setDelegate:self];
64 [_field setBackground:[[UIImage imageNamed:@"textfield_background"] 73 [_field setBackground:[[UIImage imageNamed:@"textfield_background"]
65 resizableImageWithCapInsets:UIEdgeInsetsMake( 74 resizableImageWithCapInsets:UIEdgeInsetsMake(
66 12, 12, 12, 12)]]; 75 12, 12, 12, 12)]];
67 [_field setAutoresizingMask:UIViewAutoresizingFlexibleWidth]; 76 [_field setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
68 [_field setKeyboardType:UIKeyboardTypeWebSearch]; 77 [_field setKeyboardType:UIKeyboardTypeWebSearch];
69 [_field setAutocorrectionType:UITextAutocorrectionTypeNo]; 78 [_field setAutocorrectionType:UITextAutocorrectionTypeNo];
70 [_field setClearButtonMode:UITextFieldViewModeWhileEditing]; 79 [_field setClearButtonMode:UITextFieldViewModeWhileEditing];
71 80
72 // Set up the toolbar buttons. 81 // Set up the toolbar buttons.
(...skipping 29 matching lines...) Expand all
102 [stop setAutoresizingMask:UIViewAutoresizingFlexibleRightMargin]; 111 [stop setAutoresizingMask:UIViewAutoresizingFlexibleRightMargin];
103 [stop addTarget:self 112 [stop addTarget:self
104 action:@selector(stopLoading) 113 action:@selector(stopLoading)
105 forControlEvents:UIControlEventTouchUpInside]; 114 forControlEvents:UIControlEventTouchUpInside];
106 115
107 [_toolbar addSubview:back]; 116 [_toolbar addSubview:back];
108 [_toolbar addSubview:forward]; 117 [_toolbar addSubview:forward];
109 [_toolbar addSubview:stop]; 118 [_toolbar addSubview:stop];
110 [_toolbar addSubview:_field]; 119 [_toolbar addSubview:_field];
111 120
112 _webView.reset([[CRIWV webView] retain]); 121 self.webView = [CRIWV webView];
113 [_webView setDelegate:self]; 122 [_webView setDelegate:self];
114 UIView* view = [_webView view]; 123 UIView* view = [_webView view];
115 [_containerView addSubview:view]; 124 [_containerView addSubview:view];
116 [view setFrame:[_containerView bounds]]; 125 [view setFrame:[_containerView bounds]];
117 [view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | 126 [view setAutoresizingMask:UIViewAutoresizingFlexibleWidth |
118 UIViewAutoresizingFlexibleHeight]; 127 UIViewAutoresizingFlexibleHeight];
119 128
120 [_webView loadURL:[NSURL URLWithString:@"https://www.google.com/"]]; 129 [_webView loadURL:[NSURL URLWithString:@"https://www.google.com/"]];
121 } 130 }
122 131
123 - (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar { 132 - (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar {
124 if (bar == _toolbar.get()) { 133 if (bar == _toolbar) {
125 return UIBarPositionTopAttached; 134 return UIBarPositionTopAttached;
126 } 135 }
127 return UIBarPositionAny; 136 return UIBarPositionAny;
128 } 137 }
129 138
130 - (void)back { 139 - (void)back {
131 if ([_webView canGoBack]) { 140 if ([_webView canGoBack]) {
132 [_webView goBack]; 141 [_webView goBack];
133 } 142 }
134 } 143 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 // TODO(crbug.com/679895): Add a title display. 188 // TODO(crbug.com/679895): Add a title display.
180 } 189 }
181 190
182 if (changes & CRIWVWebViewUpdateTypeURL) { 191 if (changes & CRIWVWebViewUpdateTypeURL) {
183 [self updateToolbar]; 192 [self updateToolbar];
184 } 193 }
185 } 194 }
186 195
187 - (id<CRIWVTranslateDelegate>)translateDelegate { 196 - (id<CRIWVTranslateDelegate>)translateDelegate {
188 if (!_translateController) 197 if (!_translateController)
189 _translateController.reset([[TranslateController alloc] init]); 198 self.translateController = [[TranslateController alloc] init];
190 return _translateController; 199 return _translateController;
191 } 200 }
192 201
193 @end 202 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698