Index: ios/chrome/browser/ui/settings/sync_encryption_passphrase_collection_view_controller.mm |
diff --git a/ios/chrome/browser/ui/settings/sync_encryption_passphrase_collection_view_controller.mm b/ios/chrome/browser/ui/settings/sync_encryption_passphrase_collection_view_controller.mm |
index 2ccd5b3a866962d4e5e446f532475be2280286a9..71b7c411bac8037ed164bd7f0b2f34dc53ebce22 100644 |
--- a/ios/chrome/browser/ui/settings/sync_encryption_passphrase_collection_view_controller.mm |
+++ b/ios/chrome/browser/ui/settings/sync_encryption_passphrase_collection_view_controller.mm |
@@ -8,8 +8,7 @@ |
#include "base/i18n/time_formatting.h" |
#include "base/mac/foundation_util.h" |
-#import "base/mac/objc_property_releaser.h" |
-#import "base/mac/scoped_nsobject.h" |
+ |
#include "base/strings/sys_string_conversions.h" |
#include "components/browser_sync/profile_sync_service.h" |
#include "components/google/core/browser/google_util.h" |
@@ -45,6 +44,10 @@ |
#include "ui/base/l10n/l10n_util_mac.h" |
#include "url/gurl.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
using namespace ios_internal::sync_encryption_passphrase; |
namespace { |
@@ -60,13 +63,11 @@ const CGFloat kSpinnerButtonPadding = 18; |
ios::ChromeBrowserState* browserState_; |
// Whether the decryption progress is currently being shown. |
BOOL isDecryptionProgressShown_; |
- base::scoped_nsobject<NSString> savedTitle_; |
- base::scoped_nsobject<UIBarButtonItem> savedLeftButton_; |
+ NSString* savedTitle_; |
+ UIBarButtonItem* savedLeftButton_; |
std::unique_ptr<SyncObserverBridge> syncObserver_; |
std::unique_ptr<OAuth2TokenServiceObserverBridge> tokenServiceObserver_; |
- base::scoped_nsobject<UITextField> passphrase_; |
- base::mac::ObjCPropertyReleaser |
- propertyReleaser_SyncEncryptionPassphraseCollectionViewController_; |
+ UITextField* passphrase_; |
} |
// Sets up the navigation bar's right button. The button will be enabled iff |
@@ -136,15 +137,11 @@ const CGFloat kSpinnerButtonPadding = 18; |
l10n_util::GetNSString(IDS_SYNC_ENTER_GOOGLE_PASSPHRASE_BODY); |
} |
self.processingMessage = l10n_util::GetNSString(IDS_SYNC_LOGIN_SETTING_UP); |
- footerMessage_ = |
- [l10n_util::GetNSString(IDS_IOS_SYNC_PASSPHRASE_RECOVER) retain]; |
+ footerMessage_ = l10n_util::GetNSString(IDS_IOS_SYNC_PASSPHRASE_RECOVER); |
tokenServiceObserver_.reset(new OAuth2TokenServiceObserverBridge( |
OAuth2TokenServiceFactory::GetForBrowserState(browserState_), self)); |
- propertyReleaser_SyncEncryptionPassphraseCollectionViewController_.Init( |
- self, [SyncEncryptionPassphraseCollectionViewController class]); |
- |
[self loadModel]; |
} |
return self; |
@@ -180,7 +177,7 @@ const CGFloat kSpinnerButtonPadding = 18; |
- (void)didReceiveMemoryWarning { |
[super didReceiveMemoryWarning]; |
if (![self isViewLoaded]) { |
- passphrase_.reset(); |
+ passphrase_ = nil; |
} |
} |
@@ -226,7 +223,7 @@ const CGFloat kSpinnerButtonPadding = 18; |
- (CollectionViewItem*)passphraseMessageItem { |
CardMultilineItem* item = |
- [[[CardMultilineItem alloc] initWithType:ItemTypeMessage] autorelease]; |
+ [[CardMultilineItem alloc] initWithType:ItemTypeMessage]; |
item.text = headerMessage_; |
return item; |
} |
@@ -235,7 +232,7 @@ const CGFloat kSpinnerButtonPadding = 18; |
if (passphrase_) { |
[self unregisterTextField:passphrase_]; |
} |
- passphrase_.reset([[UITextField alloc] init]); |
+ passphrase_ = [[UITextField alloc] init]; |
[passphrase_ setFont:[MDCTypography body1Font]]; |
[passphrase_ setSecureTextEntry:YES]; |
[passphrase_ setBackgroundColor:[UIColor clearColor]]; |
@@ -245,22 +242,22 @@ const CGFloat kSpinnerButtonPadding = 18; |
setPlaceholder:l10n_util::GetNSString(IDS_SYNC_PASSPHRASE_LABEL)]; |
[self registerTextField:passphrase_]; |
- BYOTextFieldItem* item = [[[BYOTextFieldItem alloc] |
- initWithType:ItemTypeEnterPassphrase] autorelease]; |
+ BYOTextFieldItem* item = |
+ [[BYOTextFieldItem alloc] initWithType:ItemTypeEnterPassphrase]; |
item.textField = passphrase_; |
return item; |
} |
- (CollectionViewItem*)passphraseErrorItemWithMessage:(NSString*)errorMessage { |
PassphraseErrorItem* item = |
- [[[PassphraseErrorItem alloc] initWithType:ItemTypeError] autorelease]; |
+ [[PassphraseErrorItem alloc] initWithType:ItemTypeError]; |
item.text = errorMessage; |
return item; |
} |
- (CollectionViewItem*)footerItem { |
- CollectionViewFooterItem* footerItem = [[[CollectionViewFooterItem alloc] |
- initWithType:ItemTypeFooter] autorelease]; |
+ CollectionViewFooterItem* footerItem = |
+ [[CollectionViewFooterItem alloc] initWithType:ItemTypeFooter]; |
footerItem.text = self.footerMessage; |
footerItem.linkURL = google_util::AppendGoogleLocaleParam( |
GURL(kSyncGoogleDashboardURL), |
@@ -390,11 +387,11 @@ const CGFloat kSpinnerButtonPadding = 18; |
- (void)setRightNavBarItem { |
UIBarButtonItem* submitButtonItem = self.navigationItem.rightBarButtonItem; |
if (!submitButtonItem) { |
- submitButtonItem = [[[UIBarButtonItem alloc] |
+ submitButtonItem = [[UIBarButtonItem alloc] |
initWithTitle:l10n_util::GetNSString(IDS_IOS_SYNC_DECRYPT_BUTTON) |
style:UIBarButtonItemStylePlain |
target:self |
- action:@selector(signInPressed)] autorelease]; |
+ action:@selector(signInPressed)]; |
} |
submitButtonItem.enabled = [self areAllFieldsFilled]; |
@@ -423,9 +420,9 @@ const CGFloat kSpinnerButtonPadding = 18; |
// Custom title view with spinner. |
DCHECK(!savedTitle_); |
DCHECK(!savedLeftButton_); |
- savedLeftButton_.reset([self.navigationItem.leftBarButtonItem retain]); |
+ savedLeftButton_ = self.navigationItem.leftBarButtonItem; |
self.navigationItem.leftBarButtonItem = [self spinnerButton]; |
- savedTitle_.reset([self.title copy]); |
+ savedTitle_ = [self.title copy]; |
self.title = processingMessage_; |
} |
@@ -434,8 +431,8 @@ const CGFloat kSpinnerButtonPadding = 18; |
return; |
isDecryptionProgressShown_ = NO; |
- self.navigationItem.leftBarButtonItem = savedLeftButton_.autorelease(); |
- self.title = savedTitle_.autorelease(); |
+ self.navigationItem.leftBarButtonItem = savedLeftButton_ = nil; |
lpromero
2017/06/15 08:31:49
Wow. That's a bad one (idem below). We should make
|
+ self.title = savedTitle_ = nil; |
[self setRightNavBarItem]; |
} |
@@ -466,12 +463,10 @@ const CGFloat kSpinnerButtonPadding = 18; |
- (UIBarButtonItem*)spinnerButton { |
CGRect customViewFrame = CGRectMake(0, 0, kSpinnerButtonCustomViewSize, |
kSpinnerButtonCustomViewSize); |
- base::scoped_nsobject<UIView> customView( |
- [[UIView alloc] initWithFrame:customViewFrame]); |
+ UIView* customView = [[UIView alloc] initWithFrame:customViewFrame]; |
- base::scoped_nsobject<UIActivityIndicatorView> spinner( |
- [[UIActivityIndicatorView alloc] |
- initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]); |
+ UIActivityIndicatorView* spinner = [[UIActivityIndicatorView alloc] |
+ initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; |
CGRect spinnerFrame = [spinner bounds]; |
spinnerFrame.origin.x = kSpinnerButtonPadding; |
@@ -479,13 +474,13 @@ const CGFloat kSpinnerButtonPadding = 18; |
[spinner setFrame:spinnerFrame]; |
[customView addSubview:spinner]; |
- base::scoped_nsobject<UIBarButtonItem> leftBarButtonItem( |
- [[UIBarButtonItem alloc] initWithCustomView:customView]); |
+ UIBarButtonItem* leftBarButtonItem = |
+ [[UIBarButtonItem alloc] initWithCustomView:customView]; |
[spinner setHidesWhenStopped:NO]; |
[spinner startAnimating]; |
- return leftBarButtonItem.autorelease(); |
+ return leftBarButtonItem = nil; |
} |
- (void)stopObserving { |