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

Unified Diff: ios/chrome/browser/ui/settings/native_apps_collection_view_controller.mm

Issue 2814813003: [ObjC ARC] Converts ios/chrome/browser/ui/settings:settings_arc_transition to ARC. (Closed)
Patch Set: rebase 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/settings/native_apps_collection_view_controller.mm
diff --git a/ios/chrome/browser/ui/settings/native_apps_collection_view_controller.mm b/ios/chrome/browser/ui/settings/native_apps_collection_view_controller.mm
index 2ec5fb3b81f8d997a2f67a08c783563ff86c2f18..68602f5d12ed963218e85afbbdeed9b2cd38bc6d 100644
--- a/ios/chrome/browser/ui/settings/native_apps_collection_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/native_apps_collection_view_controller.mm
@@ -7,10 +7,8 @@
#import <StoreKit/StoreKit.h>
-#import "base/ios/weak_nsobject.h"
#include "base/logging.h"
#import "base/mac/foundation_util.h"
-#import "base/mac/scoped_nsobject.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_macros.h"
#include "base/metrics/user_metrics.h"
@@ -35,6 +33,10 @@
#include "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
+
const NSInteger kTagShift = 1000;
namespace {
@@ -54,7 +56,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
@interface NativeAppsCollectionViewController ()<
SKStoreProductViewControllerDelegate> {
std::unique_ptr<image_fetcher::IOSImageDataFetcherWrapper> _imageFetcher;
- base::scoped_nsobject<NSArray> _nativeAppsInSettings;
+ NSArray* _nativeAppsInSettings;
BOOL _userDidSomething;
}
@@ -62,7 +64,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
@property(nonatomic, copy) NSArray* appsInSettings;
// Delegate for App-Store-related operations.
-@property(nonatomic, assign) id<StoreKitLauncher> storeKitLauncher;
+@property(nonatomic, weak) id<StoreKitLauncher> storeKitLauncher;
// Sets up the list of visible apps based on |nativeAppWhitelistManager|, which
// serves as datasource for this controller. Apps from
@@ -117,7 +119,6 @@ typedef NS_ENUM(NSInteger, ItemType) {
[[InstallationNotifier sharedInstance] unregisterForNotifications:self];
if (!_userDidSomething)
[self recordUserAction:settings::kNativeAppsActionDidNothing];
- [super dealloc];
}
#pragma mark - View lifecycle
@@ -213,17 +214,17 @@ typedef NS_ENUM(NSInteger, ItemType) {
NativeAppItem* appItem = base::mac::ObjCCastStrict<NativeAppItem>(item);
if (!appItem.icon) {
// Fetch the real icon.
- base::WeakNSObject<NativeAppsCollectionViewController> weakSelf(self);
+ __weak NativeAppsCollectionViewController* weakSelf = self;
id<NativeAppMetadata> metadata = [self nativeAppAtIndex:indexPath.item];
[metadata fetchSmallIconWithImageFetcher:_imageFetcher.get()
completionBlock:^(UIImage* image) {
- base::scoped_nsobject<
- NativeAppsCollectionViewController>
- strongSelf([weakSelf retain]);
+
+ NativeAppsCollectionViewController* strongSelf =
+ weakSelf;
if (!image || !strongSelf)
return;
appItem.icon = image;
- [strongSelf.get().collectionView
+ [strongSelf.collectionView
reloadItemsAtIndexPaths:@[ indexPath ]];
}];
}
@@ -232,8 +233,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
- (CollectionViewItem*)learnMoreItem {
NSString* learnMoreText =
l10n_util::GetNSString(IDS_IOS_GOOGLE_APPS_SM_SECTION_HEADER);
- CollectionViewFooterItem* learnMoreItem = [[[CollectionViewFooterItem alloc]
- initWithType:ItemTypeLearnMore] autorelease];
+ CollectionViewFooterItem* learnMoreItem =
+ [[CollectionViewFooterItem alloc] initWithType:ItemTypeLearnMore];
learnMoreItem.text = learnMoreText;
return learnMoreItem;
}
@@ -255,8 +256,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
return;
NSDictionary* product =
@{SKStoreProductParameterITunesItemIdentifier : appId};
- base::scoped_nsobject<SKStoreProductViewController> storeViewController(
- [[SKStoreProductViewController alloc] init]);
+ SKStoreProductViewController* storeViewController =
+ [[SKStoreProductViewController alloc] init];
[storeViewController setDelegate:self];
[storeViewController loadProductWithParameters:product completionBlock:nil];
[self presentViewController:storeViewController animated:YES completion:nil];
@@ -372,19 +373,18 @@ typedef NS_ENUM(NSInteger, ItemType) {
} else {
state = NativeAppItemInstall;
}
- NativeAppItem* appItem =
- [[[NativeAppItem alloc] initWithType:ItemTypeApp] autorelease];
+ NativeAppItem* appItem = [[NativeAppItem alloc] initWithType:ItemTypeApp];
appItem.name = [metadata appName];
appItem.state = state;
return appItem;
}
- (NSArray*)appsInSettings {
- return _nativeAppsInSettings.get();
+ return _nativeAppsInSettings;
}
- (void)setAppsInSettings:(NSArray*)apps {
- _nativeAppsInSettings.reset([apps copy]);
+ _nativeAppsInSettings = [apps copy];
}
- (NSInteger)tagForIndexPath:(NSIndexPath*)indexPath {

Powered by Google App Engine
This is Rietveld 408576698