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

Unified Diff: ios/web/web_state/ui/crw_web_controller_container_view.mm

Issue 2916473002: [ObjC ARC] Converts ios/web:web to ARC. (Closed)
Patch Set: Tweaks to autorelease pool Created 3 years, 6 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/web_state/ui/crw_web_controller_container_view.mm
diff --git a/ios/web/web_state/ui/crw_web_controller_container_view.mm b/ios/web/web_state/ui/crw_web_controller_container_view.mm
index 9c7ae37ef942a92c7cb96290ee7587d7435ed014..f24bd71b37e6b3a0e5355923487672ca9f654a22 100644
--- a/ios/web/web_state/ui/crw_web_controller_container_view.mm
+++ b/ios/web/web_state/ui/crw_web_controller_container_view.mm
@@ -4,24 +4,26 @@
#import "ios/web/web_state/ui/crw_web_controller_container_view.h"
-#import "base/ios/weak_nsobject.h"
#include "base/logging.h"
-#import "base/mac/scoped_nsobject.h"
#import "ios/web/public/web_state/ui/crw_content_view.h"
#import "ios/web/public/web_state/ui/crw_native_content.h"
#import "ios/web/public/web_state/ui/crw_web_view_content_view.h"
#import "ios/web/web_state/ui/crw_web_view_proxy_impl.h"
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
#pragma mark - CRWToolbarContainerView
// Class that manages the display of toolbars.
@interface CRWToolbarContainerView : UIView {
// Backing object for |self.toolbars|.
- base::scoped_nsobject<NSMutableArray> _toolbars;
+ NSMutableArray* _toolbars;
}
// The toolbars currently managed by this view.
-@property(nonatomic, retain, readonly) NSMutableArray* toolbars;
+@property(nonatomic, strong, readonly) NSMutableArray* toolbars;
// Adds |toolbar| as a subview and bottom aligns to any previously added
// toolbars.
@@ -38,8 +40,8 @@
- (NSMutableArray*)toolbars {
if (!_toolbars)
- _toolbars.reset([[NSMutableArray alloc] init]);
- return _toolbars.get();
+ _toolbars = [[NSMutableArray alloc] init];
+ return _toolbars;
}
#pragma mark Layout
@@ -90,27 +92,27 @@
@interface CRWWebControllerContainerView () {
// The delegate passed on initialization.
- base::WeakNSProtocol<id<CRWWebControllerContainerViewDelegate>> _delegate;
+ __weak id<CRWWebControllerContainerViewDelegate> _delegate;
// Backing objects for corresponding properties.
- base::scoped_nsobject<CRWWebViewContentView> _webViewContentView;
- base::scoped_nsprotocol<id<CRWNativeContent>> _nativeController;
- base::scoped_nsobject<CRWContentView> _transientContentView;
- base::scoped_nsobject<CRWToolbarContainerView> _toolbarContainerView;
+ CRWWebViewContentView* _webViewContentView;
+ id<CRWNativeContent> _nativeController;
+ CRWContentView* _transientContentView;
+ CRWToolbarContainerView* _toolbarContainerView;
}
// Redefine properties as readwrite.
-@property(nonatomic, retain, readwrite)
+@property(nonatomic, strong, readwrite)
CRWWebViewContentView* webViewContentView;
-@property(nonatomic, retain, readwrite) id<CRWNativeContent> nativeController;
-@property(nonatomic, retain, readwrite) CRWContentView* transientContentView;
+@property(nonatomic, strong, readwrite) id<CRWNativeContent> nativeController;
+@property(nonatomic, strong, readwrite) CRWContentView* transientContentView;
// Container view that displays any added toolbars. It is always the top-most
// subview, and is bottom aligned with the CRWWebControllerContainerView.
-@property(nonatomic, retain, readonly)
+@property(nonatomic, strong, readonly)
CRWToolbarContainerView* toolbarContainerView;
// Convenience getter for the proxy object.
-@property(nonatomic, readonly) CRWWebViewProxyImpl* contentViewProxy;
+@property(weak, nonatomic, readonly) CRWWebViewProxyImpl* contentViewProxy;
// Returns |self.bounds| after being inset at the top by the header height
// returned by the delegate. This is only used to lay out native controllers,
@@ -127,7 +129,7 @@
self = [super initWithFrame:CGRectZero];
if (self) {
DCHECK(delegate);
- _delegate.reset(delegate);
+ _delegate = delegate;
self.backgroundColor = [UIColor whiteColor];
self.autoresizingMask =
UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
@@ -147,36 +149,35 @@
- (void)dealloc {
self.contentViewProxy.contentView = nil;
- [super dealloc];
}
#pragma mark Accessors
- (CRWWebViewContentView*)webViewContentView {
Eugene But (OOO till 7-30) 2017/06/12 06:12:51 Should we synthesize this method instead?
PL 2017/06/14 00:31:11 Yes! Done!
- return _webViewContentView.get();
+ return _webViewContentView;
}
- (void)setWebViewContentView:(CRWWebViewContentView*)webViewContentView {
if (![_webViewContentView isEqual:webViewContentView]) {
[_webViewContentView removeFromSuperview];
- _webViewContentView.reset([webViewContentView retain]);
+ _webViewContentView = webViewContentView;
[_webViewContentView setFrame:self.bounds];
[self addSubview:_webViewContentView];
}
}
- (id<CRWNativeContent>)nativeController {
Eugene But (OOO till 7-30) 2017/06/12 06:12:51 ditto
PL 2017/06/14 00:31:11 Done!
- return _nativeController.get();
+ return _nativeController;
}
- (void)setNativeController:(id<CRWNativeContent>)nativeController {
if (![_nativeController isEqual:nativeController]) {
- base::WeakNSProtocol<id> oldController(_nativeController);
+ __weak id oldController = _nativeController;
if ([oldController respondsToSelector:@selector(willBeDismissed)]) {
[oldController willBeDismissed];
}
[[oldController view] removeFromSuperview];
- _nativeController.reset([nativeController retain]);
+ _nativeController = nativeController;
// TODO(crbug.com/503297): Re-enable this DCHECK once native controller
// leaks are fixed.
// DCHECK(!oldController);
@@ -184,25 +185,25 @@
}
- (CRWContentView*)transientContentView {
Eugene But (OOO till 7-30) 2017/06/12 06:12:51 ditto
PL 2017/06/14 00:31:11 Done!
- return _transientContentView.get();
+ return _transientContentView;
}
- (void)setTransientContentView:(CRWContentView*)transientContentView {
if (![_transientContentView isEqual:transientContentView]) {
[_transientContentView removeFromSuperview];
- _transientContentView.reset([transientContentView retain]);
+ _transientContentView = transientContentView;
}
}
- (void)setToolbarContainerView:(CRWToolbarContainerView*)toolbarContainerView {
if (![_toolbarContainerView isEqual:toolbarContainerView]) {
[_toolbarContainerView removeFromSuperview];
- _toolbarContainerView.reset([toolbarContainerView retain]);
+ _toolbarContainerView = toolbarContainerView;
}
}
- (UIView*)toolbarContainerView {
Eugene But (OOO till 7-30) 2017/06/12 06:12:51 ditto
PL 2017/06/14 00:31:11 Done!
- return _toolbarContainerView.get();
+ return _toolbarContainerView;
}
- (CRWWebViewProxyImpl*)contentViewProxy {
@@ -216,11 +217,11 @@
}
- (id<CRWWebControllerContainerViewDelegate>)delegate {
Eugene But (OOO till 7-30) 2017/06/12 06:12:52 Should we synthesize getter and setter instead? Sa
PL 2017/06/14 00:31:11 Done! We can do it easily for delegate, toolbarCon
- return _delegate.get();
+ return _delegate;
}
- (void)setDelegate:(id<CRWWebControllerContainerViewDelegate>)delegate {
- _delegate.reset(delegate);
+ _delegate = delegate;
}
#pragma mark Layout
@@ -315,8 +316,8 @@
- (void)addToolbar:(UIView*)toolbar {
// Create toolbar container if necessary.
if (!self.toolbarContainerView) {
- self.toolbarContainerView = [
- [[CRWToolbarContainerView alloc] initWithFrame:CGRectZero] autorelease];
+ self.toolbarContainerView =
+ [[CRWToolbarContainerView alloc] initWithFrame:CGRectZero];
}
// Add the toolbar to the container.
[self.toolbarContainerView addToolbar:toolbar];

Powered by Google App Engine
This is Rietveld 408576698