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

Unified Diff: ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_cell.mm

Issue 2810193002: [ObjC ARC] Converts ios/chrome/browser/ui/tab_switcher:tab_switcher to ARC. (Closed)
Patch Set: comment Created 3 years, 8 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/chrome/browser/ui/tab_switcher/tab_switcher_panel_cell.mm
diff --git a/ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_cell.mm b/ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_cell.mm
index bf3f9f2a0903d91941caa85d9a1f67eaf6ff2277..ec849a6d983b2a6cabaf23e1af79c8fd108ca885 100644
--- a/ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_cell.mm
+++ b/ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_cell.mm
@@ -4,7 +4,6 @@
#import "ios/chrome/browser/ui/tab_switcher/tab_switcher_panel_cell.h"
-#include "base/mac/scoped_nsobject.h"
#import "ios/chrome/browser/tabs/tab.h"
#import "ios/chrome/browser/ui/fade_truncated_label.h"
#import "ios/chrome/browser/ui/image_util.h"
@@ -21,6 +20,10 @@
#include "ui/gfx/image/image.h"
#include "url/gurl.h"
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
namespace gfx {
class ImageSkia;
}
@@ -46,7 +49,7 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
@end
@implementation TabSwitcherSessionCell {
- base::scoped_nsobject<UIView> _containerView;
+ UIView* _containerView;
CGSize _cachedShadowSize;
}
@@ -61,7 +64,7 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
self = [super initWithFrame:frame];
if (self) {
[self contentView].isAccessibilityElement = YES;
- _containerView.reset([[UIView alloc] initWithFrame:self.bounds]);
+ _containerView = [[UIView alloc] initWithFrame:self.bounds];
[_containerView setAutoresizingMask:UIViewAutoresizingFlexibleHeight |
UIViewAutoresizingFlexibleWidth];
[[_containerView layer] setCornerRadius:kCellCornerRadius];
@@ -94,19 +97,19 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
}
- (UIView*)containerView {
- return _containerView.get();
+ return _containerView;
}
@end
@implementation TabSwitcherLocalSessionCell {
- base::scoped_nsobject<UIView> _topBar;
- base::scoped_nsobject<UILabel> _titleLabel;
- base::scoped_nsobject<UIImageView> _favicon;
- base::scoped_nsobject<UIButton> _closeButton;
- base::scoped_nsobject<UIImageView> _shadow;
- base::scoped_nsobject<UIImageView> _snapshot;
- base::scoped_nsobject<TabSwitcherButton> _snapshotButton;
+ UIView* _topBar;
+ UILabel* _titleLabel;
+ UIImageView* _favicon;
+ UIButton* _closeButton;
+ UIImageView* _shadow;
+ UIImageView* _snapshot;
+ TabSwitcherButton* _snapshotButton;
PendingSnapshotRequest _currentPendingSnapshotRequest;
}
@@ -114,19 +117,19 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
self = [super initWithFrame:frame];
if (self) {
// Top bar.
- _topBar.reset([[UIView alloc] initWithFrame:CGRectZero]);
+ _topBar = [[UIView alloc] initWithFrame:CGRectZero];
[_topBar setTranslatesAutoresizingMaskIntoConstraints:NO];
[[self containerView] addSubview:_topBar];
// Snapshot view.
- _snapshot.reset([[UIImageView alloc] initWithFrame:CGRectZero]);
+ _snapshot = [[UIImageView alloc] initWithFrame:CGRectZero];
[_snapshot setTranslatesAutoresizingMaskIntoConstraints:NO];
[_snapshot setContentMode:UIViewContentModeScaleAspectFill];
[_snapshot setClipsToBounds:YES];
[[self containerView] addSubview:_snapshot];
// Cell button.
- _snapshotButton.reset([[TabSwitcherButton alloc] initWithFrame:CGRectZero]);
+ _snapshotButton = [[TabSwitcherButton alloc] initWithFrame:CGRectZero];
[_snapshotButton setTranslatesAutoresizingMaskIntoConstraints:NO];
[_snapshotButton addTarget:self
action:@selector(snapshotPressed)
@@ -134,17 +137,17 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
[[self containerView] addSubview:_snapshotButton];
// Shadow view.
- _shadow.reset([[UIImageView alloc] initWithFrame:CGRectZero]);
+ _shadow = [[UIImageView alloc] initWithFrame:CGRectZero];
[_shadow setTranslatesAutoresizingMaskIntoConstraints:NO];
[_shadow setImage:NativeImage(IDR_IOS_TOOLBAR_SHADOW)];
[[self containerView] addSubview:_shadow];
// Constraints on the Top bar, snapshot view, and shadow view.
NSDictionary* viewsDictionary = @{
- @"bar" : _topBar.get(),
- @"shadow" : _shadow.get(),
- @"snapshot" : _snapshot.get(),
- @"snapshotButton" : _snapshotButton.get(),
+ @"bar" : _topBar,
+ @"shadow" : _shadow,
+ @"snapshot" : _snapshot,
+ @"snapshotButton" : _snapshotButton,
};
NSArray* constraints = @[
@"H:|-0-[bar]-0-|",
@@ -162,19 +165,19 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
// Create and add subviews to the cell bar.
// Title label.
- _titleLabel.reset([[UILabel alloc] initWithFrame:CGRectZero]);
+ _titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
[_titleLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
[_titleLabel setFont:[[MDFRobotoFontLoader sharedInstance]
regularFontOfSize:kFontSize]];
[_topBar addSubview:_titleLabel];
// Favicon.
- _favicon.reset([[UIImageView alloc] initWithFrame:CGRectZero]);
+ _favicon = [[UIImageView alloc] initWithFrame:CGRectZero];
[_favicon setTranslatesAutoresizingMaskIntoConstraints:NO];
[_topBar addSubview:_favicon];
// Close button.
- _closeButton.reset([[UIButton alloc] initWithFrame:CGRectZero]);
+ _closeButton = [[UIButton alloc] initWithFrame:CGRectZero];
[_closeButton
setImage:[[UIImage imageNamed:@"card_close_button"]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]
@@ -188,9 +191,9 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
// Constraints on the title label, favicon, and close button.
NSDictionary* barViewsDictionary = @{
- @"favicon" : _favicon.get(),
- @"title" : _titleLabel.get(),
- @"closeButton" : _closeButton.get()
+ @"favicon" : _favicon,
+ @"title" : _titleLabel,
+ @"closeButton" : _closeButton
};
NSArray* barConstraints = @[
@"H:|-16-[favicon(==24)]-8-[title]-0-[closeButton(==32)]-8-|",
@@ -206,7 +209,7 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
}
- (UIView*)topBar {
- return _topBar.get();
+ return _topBar;
}
- (UIImage*)screenshot {
@@ -229,7 +232,7 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
CGSize snapshotSize = cellSize;
snapshotSize.height -= tabSwitcherLocalSessionCellTopBarHeight();
- base::WeakNSObject<TabSwitcherLocalSessionCell> weakCell(self);
+ __weak TabSwitcherLocalSessionCell* weakCell = self;
DCHECK(self.delegate);
DCHECK([self cache]);
_currentPendingSnapshotRequest =
@@ -304,51 +307,50 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
#pragma mark - UIAccessibilityAction
- (NSArray*)accessibilityCustomActions {
- base::scoped_nsobject<NSMutableArray> customActions(
- [[NSMutableArray alloc] init]);
- base::scoped_nsobject<UIAccessibilityCustomAction> customAction(
+ NSMutableArray* customActions = [[NSMutableArray alloc] init];
+ UIAccessibilityCustomAction* customAction =
[[UIAccessibilityCustomAction alloc]
initWithName:l10n_util::GetNSString(IDS_IOS_TAB_SWITCHER_CLOSE_TAB)
target:self
- selector:@selector(closeButtonPressed)]);
- [customActions addObject:customAction.autorelease()];
- return customActions.autorelease();
+ selector:@selector(closeButtonPressed)];
+ [customActions addObject:customAction = nil];
+ return customActions = nil;
}
@end
@implementation TabSwitcherDistantSessionCell {
- base::scoped_nsobject<UILabel> _titleLabel;
- base::scoped_nsobject<UIImageView> _favicon;
- base::scoped_nsobject<UIImageView> _newTabIcon;
- base::scoped_nsobject<UIView> _verticallyCenteredView;
- base::scoped_nsobject<TabSwitcherButton> _raisedButton;
- base::scoped_nsobject<NSOperation> _faviconObtainer;
+ UILabel* _titleLabel;
+ UIImageView* _favicon;
+ UIImageView* _newTabIcon;
+ UIView* _verticallyCenteredView;
+ TabSwitcherButton* _raisedButton;
+ NSOperation* _faviconObtainer;
}
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
// Create and add the button that contains all other subviews.
- _raisedButton.reset([[TabSwitcherButton alloc] initWithFrame:CGRectZero]);
+ _raisedButton = [[TabSwitcherButton alloc] initWithFrame:CGRectZero];
[_raisedButton setTranslatesAutoresizingMaskIntoConstraints:NO];
[_raisedButton addTarget:self
action:@selector(cellPressed)
forControlEvents:UIControlEventTouchUpInside];
[[self containerView] addSubview:_raisedButton];
ApplyVisualConstraints(@[ @"H:|-0-[button]-0-|", @"V:|-0-[button]-0-|" ],
- @{ @"button" : _raisedButton.get() },
+ @{ @"button" : _raisedButton },
[self containerView]);
// Create and add view that will be vertically centered in the space over
// the favicon.
- _verticallyCenteredView.reset([[UIView alloc] initWithFrame:CGRectZero]);
+ _verticallyCenteredView = [[UIView alloc] initWithFrame:CGRectZero];
[_verticallyCenteredView setTranslatesAutoresizingMaskIntoConstraints:NO];
[_verticallyCenteredView setUserInteractionEnabled:NO];
[_raisedButton addSubview:_verticallyCenteredView];
// Create and add title label to |_verticallyCenteredContent|.
- _titleLabel.reset([[UILabel alloc] initWithFrame:CGRectZero]);
+ _titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
[_titleLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
[_titleLabel setNumberOfLines:5];
[_titleLabel setTextAlignment:NSTextAlignmentCenter];
@@ -359,22 +361,22 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
// Create and add new tab icon to |_verticallyCenteredContent|.
UIImage* newTabIcon = [[UIImage imageNamed:@"tabswitcher_new_tab"]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
- _newTabIcon.reset([[UIImageView alloc] initWithImage:newTabIcon]);
+ _newTabIcon = [[UIImageView alloc] initWithImage:newTabIcon];
[_newTabIcon setAlpha:0];
[_newTabIcon setTranslatesAutoresizingMaskIntoConstraints:NO];
[_verticallyCenteredView addSubview:_newTabIcon];
// Create and add favicon image container.
- _favicon.reset([[UIImageView alloc] initWithFrame:CGRectZero]);
+ _favicon = [[UIImageView alloc] initWithFrame:CGRectZero];
[_favicon setTranslatesAutoresizingMaskIntoConstraints:NO];
[_raisedButton addSubview:_favicon];
// Add constraints to the button's subviews.
NSDictionary* viewsDictionary = @{
- @"newTabIcon" : _newTabIcon.get(),
- @"title" : _titleLabel.get(),
- @"favicon" : _favicon.get(),
- @"centeredView" : _verticallyCenteredView.get(),
+ @"newTabIcon" : _newTabIcon,
+ @"title" : _titleLabel,
+ @"favicon" : _favicon,
+ @"centeredView" : _verticallyCenteredView,
};
NSArray* constraintsInButton = @[
@"H:|-0-[centeredView]-0-|",
@@ -382,16 +384,15 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
@"V:|-(>=16)-[centeredView]-(>=16)-[favicon(==16)]-16-|",
];
ApplyVisualConstraints(constraintsInButton, viewsDictionary, _raisedButton);
- AddSameCenterXConstraint(_raisedButton, _favicon.get());
- [_raisedButton
- addConstraint:[NSLayoutConstraint
- constraintWithItem:_verticallyCenteredView.get()
- attribute:NSLayoutAttributeCenterY
- relatedBy:NSLayoutRelationEqual
- toItem:_favicon.get()
- attribute:NSLayoutAttributeCenterY
- multiplier:0.5
- constant:0]];
+ AddSameCenterXConstraint(_raisedButton, _favicon);
+ [_raisedButton addConstraint:[NSLayoutConstraint
+ constraintWithItem:_verticallyCenteredView
+ attribute:NSLayoutAttributeCenterY
+ relatedBy:NSLayoutRelationEqual
+ toItem:_favicon
+ attribute:NSLayoutAttributeCenterY
+ multiplier:0.5
+ constant:0]];
// Add constraints to the subviews of the vertically centered view.
NSArray* constraintsInVerticallyCenteredView = @[
@@ -400,7 +401,7 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
];
ApplyVisualConstraints(constraintsInVerticallyCenteredView, viewsDictionary,
_verticallyCenteredView);
- AddSameCenterXConstraint(_verticallyCenteredView, _newTabIcon.get());
+ AddSameCenterXConstraint(_verticallyCenteredView, _newTabIcon);
}
return self;
}
@@ -437,9 +438,9 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
}];
};
GURL gurlCopy = gurl;
- _faviconObtainer.reset([[NSBlockOperation blockOperationWithBlock:^{
+ _faviconObtainer = [NSBlockOperation blockOperationWithBlock:^{
TabSwitcherGetFavicon(gurlCopy, browserState, block);
- }] retain]);
+ }];
NSOperationQueue* operationQueue = [NSOperationQueue mainQueue];
[operationQueue addOperation:_faviconObtainer];
}
@@ -451,7 +452,7 @@ CGFloat tabSwitcherLocalSessionCellTopBarHeight() {
- (void)prepareForReuse {
[_newTabIcon setAlpha:0];
[_faviconObtainer cancel];
- _faviconObtainer.reset();
+ _faviconObtainer = nil;
[_raisedButton setAlpha:0];
[_raisedButton resetState];
[super prepareForReuse];

Powered by Google App Engine
This is Rietveld 408576698