Index: ios/chrome/browser/ui/settings/autofill_collection_view_controller.mm |
diff --git a/ios/chrome/browser/ui/settings/autofill_collection_view_controller.mm b/ios/chrome/browser/ui/settings/autofill_collection_view_controller.mm |
index 13c22d51c03624439ae4595cfd87c3884d958811..9f901101cf70c322bfbe2cf1271973fdddb3374f 100644 |
--- a/ios/chrome/browser/ui/settings/autofill_collection_view_controller.mm |
+++ b/ios/chrome/browser/ui/settings/autofill_collection_view_controller.mm |
@@ -4,10 +4,7 @@ |
#import "ios/chrome/browser/ui/settings/autofill_collection_view_controller.h" |
-#import "base/ios/weak_nsobject.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/autofill/core/browser/personal_data_manager.h" |
#include "components/autofill/core/common/autofill_pref_names.h" |
@@ -28,6 +25,10 @@ |
#import "ios/third_party/material_components_ios/src/components/Palettes/src/MaterialPalettes.h" |
#include "ui/base/l10n/l10n_util.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
namespace { |
typedef NS_ENUM(NSInteger, SectionIdentifier) { |
@@ -52,8 +53,7 @@ typedef NS_ENUM(NSInteger, ItemType) { |
PersonalDataManagerObserverBridgeDelegate> { |
std::string _locale; // User locale. |
autofill::PersonalDataManager* _personalDataManager; |
- base::mac::ObjCPropertyReleaser |
- _propertyReleaser_AutofillCollectionViewController; |
+ |
ios::ChromeBrowserState* _browserState; |
std::unique_ptr<autofill::PersonalDataManagerObserverBridge> _observer; |
BOOL _deletionInProgress; |
@@ -86,16 +86,12 @@ typedef NS_ENUM(NSInteger, ItemType) { |
[self updateEditButton]; |
[self loadModel]; |
- |
- _propertyReleaser_AutofillCollectionViewController.Init( |
- self, [AutofillCollectionViewController class]); |
} |
return self; |
} |
- (void)dealloc { |
_personalDataManager->RemoveObserver(_observer.get()); |
- [super dealloc]; |
} |
#pragma mark - CollectionViewController |
@@ -154,16 +150,16 @@ typedef NS_ENUM(NSInteger, ItemType) { |
} |
- (CollectionViewItem*)autofillSwitchItem { |
- CollectionViewSwitchItem* switchItem = [[[CollectionViewSwitchItem alloc] |
- initWithType:ItemTypeAutofillSwitch] autorelease]; |
+ CollectionViewSwitchItem* switchItem = |
+ [[CollectionViewSwitchItem alloc] initWithType:ItemTypeAutofillSwitch]; |
switchItem.text = l10n_util::GetNSString(IDS_IOS_AUTOFILL); |
switchItem.on = [self isAutofillEnabled]; |
return switchItem; |
} |
- (CollectionViewItem*)walletSwitchItem { |
- CollectionViewSwitchItem* switchItem = [[[CollectionViewSwitchItem alloc] |
- initWithType:ItemTypeWalletSwitch] autorelease]; |
+ CollectionViewSwitchItem* switchItem = |
+ [[CollectionViewSwitchItem alloc] initWithType:ItemTypeWalletSwitch]; |
switchItem.text = l10n_util::GetNSString(IDS_IOS_AUTOFILL_USE_WALLET_DATA); |
switchItem.on = [self isWalletEnabled]; |
return switchItem; |
@@ -182,8 +178,8 @@ typedef NS_ENUM(NSInteger, ItemType) { |
} |
- (CollectionViewTextItem*)genericHeader { |
- CollectionViewTextItem* header = [ |
- [[CollectionViewTextItem alloc] initWithType:ItemTypeHeader] autorelease]; |
+ CollectionViewTextItem* header = |
+ [[CollectionViewTextItem alloc] initWithType:ItemTypeHeader]; |
header.textColor = [[MDCPalette greyPalette] tint500]; |
return header; |
} |
@@ -199,7 +195,7 @@ typedef NS_ENUM(NSInteger, ItemType) { |
autofill::AutofillProfile::SERVER_PROFILE; |
AutofillDataItem* item = |
- [[[AutofillDataItem alloc] initWithType:ItemTypeAddress] autorelease]; |
+ [[AutofillDataItem alloc] initWithType:ItemTypeAddress]; |
item.text = title; |
item.leadingDetailText = subTitle; |
item.accessoryType = MDCCollectionViewCellAccessoryDisclosureIndicator; |
@@ -218,8 +214,7 @@ typedef NS_ENUM(NSInteger, ItemType) { |
std::string guid(creditCard.guid()); |
NSString* creditCardName = autofill::GetCreditCardName(creditCard, _locale); |
- AutofillDataItem* item = |
- [[[AutofillDataItem alloc] initWithType:ItemTypeCard] autorelease]; |
+ AutofillDataItem* item = [[AutofillDataItem alloc] initWithType:ItemTypeCard]; |
item.text = creditCardName; |
item.leadingDetailText = autofill::GetCreditCardObfuscatedNumber(creditCard); |
item.accessoryType = MDCCollectionViewCellAccessoryDisclosureIndicator; |
@@ -284,11 +279,10 @@ typedef NS_ENUM(NSInteger, ItemType) { |
[self updateEditButton]; |
// Avoid reference cycle in block. |
- base::WeakNSObject<AutofillCollectionViewController> weakSelf(self); |
+ __weak AutofillCollectionViewController* weakSelf = self; |
[self.collectionView performBatchUpdates:^{ |
// Obtain strong reference again. |
- base::scoped_nsobject<AutofillCollectionViewController> strongSelf( |
- [weakSelf retain]); |
+ AutofillCollectionViewController* strongSelf = weakSelf; |
if (!strongSelf) { |
return; |
} |
@@ -380,7 +374,7 @@ typedef NS_ENUM(NSInteger, ItemType) { |
} |
- (NSIndexSet*)indexSetForExistingProfileAndCardSections { |
- NSMutableIndexSet* sections = [[[NSMutableIndexSet alloc] init] autorelease]; |
+ NSMutableIndexSet* sections = [[NSMutableIndexSet alloc] init]; |
if ([self.collectionViewModel |
hasSectionForSectionIdentifier:SectionIdentifierProfiles]) { |
[sections |
@@ -457,29 +451,29 @@ typedef NS_ENUM(NSInteger, ItemType) { |
} |
CollectionViewModel* model = self.collectionViewModel; |
- base::scoped_nsobject<UIViewController> controller; |
+ UIViewController* controller; |
switch ([model itemTypeForIndexPath:indexPath]) { |
case ItemTypeAddress: { |
const std::vector<autofill::AutofillProfile*> autofillProfiles = |
_personalDataManager->GetProfiles(); |
- controller.reset([[AutofillProfileEditCollectionViewController |
+ controller = [AutofillProfileEditCollectionViewController |
controllerWithProfile:*autofillProfiles[indexPath.item] |
- personalDataManager:_personalDataManager] retain]); |
+ personalDataManager:_personalDataManager]; |
break; |
} |
case ItemTypeCard: { |
const std::vector<autofill::CreditCard*>& creditCards = |
_personalDataManager->GetCreditCards(); |
- controller.reset([[AutofillCreditCardEditCollectionViewController alloc] |
+ controller = [[AutofillCreditCardEditCollectionViewController alloc] |
initWithCreditCard:*creditCards[indexPath.item] |
- personalDataManager:_personalDataManager]); |
+ personalDataManager:_personalDataManager]; |
break; |
} |
default: |
break; |
} |
- if (controller.get()) { |
+ if (controller) { |
[self.navigationController pushViewController:controller animated:YES]; |
} |
} |
@@ -539,11 +533,10 @@ typedef NS_ENUM(NSInteger, ItemType) { |
[self.collectionViewModel sectionForSectionIdentifier:sectionIdentifier]; |
if ([self.collectionView numberOfItemsInSection:section] == 0) { |
// Avoid reference cycle in block. |
- base::WeakNSObject<AutofillCollectionViewController> weakSelf(self); |
+ __weak AutofillCollectionViewController* weakSelf = self; |
[self.collectionView performBatchUpdates:^{ |
// Obtain strong reference again. |
- base::scoped_nsobject<AutofillCollectionViewController> strongSelf( |
- [weakSelf retain]); |
+ AutofillCollectionViewController* strongSelf = weakSelf; |
if (!strongSelf) { |
return; |
} |
@@ -556,8 +549,7 @@ typedef NS_ENUM(NSInteger, ItemType) { |
} |
completion:^(BOOL finished) { |
// Obtain strong reference again. |
- base::scoped_nsobject<AutofillCollectionViewController> strongSelf( |
- [weakSelf retain]); |
+ AutofillCollectionViewController* strongSelf = weakSelf; |
if (!strongSelf) { |
return; |
} |
@@ -567,7 +559,7 @@ typedef NS_ENUM(NSInteger, ItemType) { |
[[strongSelf editor] setEditing:NO]; |
} |
[strongSelf updateEditButton]; |
- strongSelf.get()->_deletionInProgress = NO; |
+ strongSelf->_deletionInProgress = NO; |
}]; |
} |
} |