Index: ios/chrome/browser/ui/authentication/signin_confirmation_view_controller.mm |
diff --git a/ios/chrome/browser/ui/authentication/signin_confirmation_view_controller.mm b/ios/chrome/browser/ui/authentication/signin_confirmation_view_controller.mm |
index 6d583b69d3cf9b66a9d738dce5e0846e227d8e9c..d516567db746045e3e07936fa8791020e70f29f6 100644 |
--- a/ios/chrome/browser/ui/authentication/signin_confirmation_view_controller.mm |
+++ b/ios/chrome/browser/ui/authentication/signin_confirmation_view_controller.mm |
@@ -4,9 +4,7 @@ |
#include "ios/chrome/browser/ui/authentication/signin_confirmation_view_controller.h" |
-#import "base/ios/weak_nsobject.h" |
#import "base/mac/foundation_util.h" |
-#import "base/mac/scoped_nsobject.h" |
#include "base/metrics/user_metrics.h" |
#import "base/strings/sys_string_conversions.h" |
#include "components/google/core/browser/google_util.h" |
@@ -31,6 +29,10 @@ |
#import "ui/base/l10n/l10n_util.h" |
#include "url/gurl.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
namespace { |
const CGFloat kAccountImageDimension = 64.; |
const CGFloat kHeaderViewMinHeight = 170.; |
@@ -75,12 +77,12 @@ typedef NS_ENUM(NSInteger, ItemType) { |
@interface SigninConfirmationViewController ()< |
ChromeIdentityServiceObserver, |
CollectionViewFooterLinkDelegate> { |
- base::scoped_nsobject<ChromeIdentity> _identity; |
+ ChromeIdentity* _identity; |
std::unique_ptr<ChromeIdentityServiceObserverBridge> _identityServiceObserver; |
- base::WeakNSObject<UIImage> _oldImage; |
- base::scoped_nsobject<UIImageView> _imageView; |
- base::scoped_nsobject<UILabel> _titleLabel; |
- base::scoped_nsobject<UILabel> _emailLabel; |
+ __weak UIImage* _oldImage; |
+ UIImageView* _imageView; |
+ UILabel* _titleLabel; |
+ UILabel* _emailLabel; |
} |
@end |
@@ -91,7 +93,7 @@ typedef NS_ENUM(NSInteger, ItemType) { |
- (instancetype)initWithIdentity:(ChromeIdentity*)identity { |
self = [super initWithStyle:CollectionViewControllerStyleAppBar]; |
if (self) { |
- _identity.reset([identity retain]); |
+ _identity = identity; |
_identityServiceObserver.reset( |
new ChromeIdentityServiceObserverBridge(self)); |
} |
@@ -145,35 +147,31 @@ typedef NS_ENUM(NSInteger, ItemType) { |
} |
- (UIView*)contentViewWithFrame:(CGRect)frame { |
- base::scoped_nsobject<UIView> contentView( |
- [[UIView alloc] initWithFrame:frame]); |
- contentView.get().autoresizingMask = |
+ UIView* contentView = [[UIView alloc] initWithFrame:frame]; |
+ contentView.autoresizingMask = |
(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight); |
- contentView.get().clipsToBounds = YES; |
- _imageView.reset([[UIImageView alloc] init]); |
- _imageView.get().translatesAutoresizingMaskIntoConstraints = NO; |
+ contentView.clipsToBounds = YES; |
+ _imageView = [[UIImageView alloc] init]; |
+ _imageView.translatesAutoresizingMaskIntoConstraints = NO; |
- _titleLabel.reset([[UILabel alloc] initWithFrame:CGRectZero]); |
- _titleLabel.get().textColor = [[MDCPalette greyPalette] tint900]; |
- _titleLabel.get().font = [MDCTypography headlineFont]; |
- _titleLabel.get().translatesAutoresizingMaskIntoConstraints = NO; |
+ _titleLabel = [[UILabel alloc] initWithFrame:CGRectZero]; |
+ _titleLabel.textColor = [[MDCPalette greyPalette] tint900]; |
+ _titleLabel.font = [MDCTypography headlineFont]; |
+ _titleLabel.translatesAutoresizingMaskIntoConstraints = NO; |
- _emailLabel.reset([[UILabel alloc] initWithFrame:CGRectZero]); |
- _emailLabel.get().textColor = [[MDCPalette greyPalette] tint700]; |
- _emailLabel.get().font = [MDCTypography body1Font]; |
- _emailLabel.get().translatesAutoresizingMaskIntoConstraints = NO; |
+ _emailLabel = [[UILabel alloc] initWithFrame:CGRectZero]; |
+ _emailLabel.textColor = [[MDCPalette greyPalette] tint700]; |
+ _emailLabel.font = [MDCTypography body1Font]; |
+ _emailLabel.translatesAutoresizingMaskIntoConstraints = NO; |
[self updateViewWithIdentity:_identity]; |
- base::scoped_nsobject<UIView> divider( |
- [[UIView alloc] initWithFrame:CGRectZero]); |
- divider.get().backgroundColor = [[MDCPalette greyPalette] tint300]; |
- divider.get().translatesAutoresizingMaskIntoConstraints = NO; |
+ UIView* divider = [[UIView alloc] initWithFrame:CGRectZero]; |
+ divider.backgroundColor = [[MDCPalette greyPalette] tint300]; |
+ divider.translatesAutoresizingMaskIntoConstraints = NO; |
- base::scoped_nsobject<UILayoutGuide> layoutGuide1( |
- [[UILayoutGuide alloc] init]); |
- base::scoped_nsobject<UILayoutGuide> layoutGuide2( |
- [[UILayoutGuide alloc] init]); |
+ UILayoutGuide* layoutGuide1 = [[UILayoutGuide alloc] init]; |
+ UILayoutGuide* layoutGuide2 = [[UILayoutGuide alloc] init]; |
[contentView addSubview:_imageView]; |
[contentView addSubview:_titleLabel]; |
@@ -198,7 +196,7 @@ typedef NS_ENUM(NSInteger, ItemType) { |
@"H:|[divider]|", |
]; |
ApplyVisualConstraints(constraints, views); |
- return contentView.autorelease(); |
+ return contentView; |
} |
- (void)viewWillLayoutSubviews { |
@@ -211,22 +209,22 @@ typedef NS_ENUM(NSInteger, ItemType) { |
- (void)updateViewWithIdentity:(ChromeIdentity*)identity { |
UIImage* identityImage = GetImageForIdentity(identity); |
- if (_oldImage.get() != identityImage) { |
- _oldImage.reset(identityImage); |
+ if (_oldImage != identityImage) { |
+ _oldImage = identityImage; |
identityImage = |
ResizeImage(identityImage, |
CGSizeMake(kAccountImageDimension, kAccountImageDimension), |
ProjectionMode::kAspectFit); |
identityImage = |
CircularImageFromImage(identityImage, kAccountImageDimension); |
- _imageView.get().image = identityImage; |
+ _imageView.image = identityImage; |
} |
- _titleLabel.get().text = l10n_util::GetNSStringF( |
+ _titleLabel.text = l10n_util::GetNSStringF( |
IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_TITLE, |
base::SysNSStringToUTF16([identity userFullName])); |
- _emailLabel.get().text = [identity userEmail]; |
+ _emailLabel.text = [identity userEmail]; |
} |
#pragma mark - Model |
@@ -247,7 +245,7 @@ typedef NS_ENUM(NSInteger, ItemType) { |
- (CollectionViewItem*)syncItem { |
AccountControlItem* item = |
- [[[AccountControlItem alloc] initWithType:ItemTypeSync] autorelease]; |
+ [[AccountControlItem alloc] initWithType:ItemTypeSync]; |
item.text = l10n_util::GetNSString( |
IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_SYNC_TITLE); |
item.detailText = l10n_util::GetNSString( |
@@ -259,8 +257,8 @@ typedef NS_ENUM(NSInteger, ItemType) { |
} |
- (CollectionViewItem*)googleServicesItem { |
- AccountControlItem* item = [[[AccountControlItem alloc] |
- initWithType:ItemTypeGoogleServices] autorelease]; |
+ AccountControlItem* item = |
+ [[AccountControlItem alloc] initWithType:ItemTypeGoogleServices]; |
item.text = l10n_util::GetNSString( |
IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_SERVICES_TITLE); |
item.detailText = l10n_util::GetNSString( |
@@ -272,8 +270,8 @@ typedef NS_ENUM(NSInteger, ItemType) { |
} |
- (CollectionViewItem*)openSettingsItem { |
- CollectionViewFooterItem* item = [[[CollectionViewFooterItem alloc] |
- initWithType:ItemTypeFooter] autorelease]; |
+ CollectionViewFooterItem* item = |
+ [[CollectionViewFooterItem alloc] initWithType:ItemTypeFooter]; |
item.text = l10n_util::GetNSString( |
IDS_IOS_ACCOUNT_CONSISTENCY_CONFIRMATION_OPEN_SETTINGS); |
item.linkURL = google_util::AppendGoogleLocaleParam( |
@@ -343,13 +341,13 @@ typedef NS_ENUM(NSInteger, ItemType) { |
base::mac::ObjCCastStrict<CollectionViewFooterCell>(cell); |
// TODO(crbug.com/664648): Must use atomic text formatting operation due |
// to LabelLinkController bug. |
- footerCell.textLabel.attributedText = [[[NSAttributedString alloc] |
+ footerCell.textLabel.attributedText = [[NSAttributedString alloc] |
initWithString:footerCell.textLabel.text |
attributes:@{ |
NSFontAttributeName : [MDCTypography body1Font], |
NSForegroundColorAttributeName : |
[[MDCPalette greyPalette] tint700] |
- }] autorelease]; |
+ }]; |
footerCell.horizontalPadding = 16; |
break; |
} |