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

Unified Diff: ios/chrome/browser/ui/history/history_collection_view_controller.mm

Issue 2624963003: [ObjC ARC] Converts ios/chrome/browser/ui/history:history to ARC. (Closed)
Patch Set: Removes the rest of weak and scoped nsobjects. Created 3 years, 11 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/history/history_collection_view_controller.mm
diff --git a/ios/chrome/browser/ui/history/history_collection_view_controller.mm b/ios/chrome/browser/ui/history/history_collection_view_controller.mm
index 0bc1bfea868c09cf546df8df1743fee2bcffc923..253fc7a6effb259d7f240e727e7626d43cb7ec90 100644
--- a/ios/chrome/browser/ui/history/history_collection_view_controller.mm
+++ b/ios/chrome/browser/ui/history/history_collection_view_controller.mm
@@ -8,10 +8,7 @@
#include <memory>
-#import "base/ios/weak_nsobject.h"
#include "base/mac/foundation_util.h"
-#import "base/mac/objc_property_releaser.h"
-#include "base/mac/scoped_nsobject.h"
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "base/strings/sys_string_conversions.h"
@@ -40,6 +37,7 @@
#include "ios/chrome/browser/ui/history/history_util.h"
#import "ios/chrome/browser/ui/url_loader.h"
#include "ios/chrome/grit/ios_strings.h"
+#import "ios/third_party/material_components_ios/src/components/ActivityIndicator/src/MDCActivityIndicator.h"
#import "ios/third_party/material_components_ios/src/components/Collections/src/MaterialCollections.h"
#import "ios/third_party/material_components_ios/src/components/Palettes/src/MaterialPalettes.h"
#import "ios/web/public/referrer.h"
@@ -48,6 +46,10 @@
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/l10n/l10n_util_mac.h"
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
namespace {
typedef NS_ENUM(NSInteger, ItemType) {
ItemTypeHistoryEntry = kItemTypeEnumZero,
@@ -66,30 +68,27 @@ const CGFloat kSeparatorInset = 10;
HistoryEntryInserterDelegate,
HistoryEntryItemDelegate,
HistoryServiceFacadeDelegate> {
- base::mac::ObjCPropertyReleaser
- _propertyReleaser_HistoryCollectionViewController;
// Facade for communicating with HistoryService and WebHistoryService.
std::unique_ptr<HistoryServiceFacade> _historyServiceFacade;
// The main browser state. Not owned by HistoryCollectionViewController.
ios::ChromeBrowserState* _browserState;
// Backing ivar for delegate property.
- base::WeakNSProtocol<id<HistoryCollectionViewControllerDelegate>> _delegate;
+ __weak id<HistoryCollectionViewControllerDelegate> _delegate;
// Backing ivar for URLLoader property.
- base::WeakNSProtocol<id<UrlLoader>> _URLLoader;
+ __weak id<UrlLoader> _URLLoader;
}
// Object to manage insertion of history entries into the collection view model.
-@property(nonatomic, retain) HistoryEntryInserter* entryInserter;
+@property(nonatomic, strong) HistoryEntryInserter* entryInserter;
// Delegate for the history collection view.
-@property(nonatomic, assign, readonly)
- id<HistoryCollectionViewControllerDelegate>
- delegate;
+@property(nonatomic, weak, readonly) id<HistoryCollectionViewControllerDelegate>
+ delegate;
// UrlLoader for navigating to history entries.
-@property(nonatomic, assign, readonly) id<UrlLoader> URLLoader;
+@property(nonatomic, weak, readonly) id<UrlLoader> URLLoader;
// The current query for visible history entries.
@property(nonatomic, copy) NSString* currentQuery;
// Coordinator for displaying context menus for history entries.
-@property(nonatomic, assign) ContextMenuCoordinator* contextMenuCoordinator;
+@property(nonatomic, strong) ContextMenuCoordinator* contextMenuCoordinator;
// Type of displayed history entries. Entries can be synced or local, or there
// may be no history entries.
@property(nonatomic, assign) HistoryEntriesStatus entriesType;
@@ -151,12 +150,10 @@ const CGFloat kSeparatorInset = 10;
delegate {
self = [super initWithStyle:CollectionViewControllerStyleDefault];
if (self) {
- _propertyReleaser_HistoryCollectionViewController.Init(
- self, [HistoryCollectionViewController class]);
_historyServiceFacade.reset(new HistoryServiceFacade(browserState, self));
_browserState = browserState;
- _delegate.reset(delegate);
- _URLLoader.reset(loader);
+ _delegate = delegate;
+ _URLLoader = loader;
[self loadModel];
// Add initial info section as header.
[self.collectionViewModel
@@ -181,10 +178,10 @@ const CGFloat kSeparatorInset = 10;
self.collectionView.keyboardDismissMode =
UIScrollViewKeyboardDismissModeOnDrag;
- base::scoped_nsobject<UILongPressGestureRecognizer> longPressRecognizer([
+ UILongPressGestureRecognizer* longPressRecognizer = [
[UILongPressGestureRecognizer alloc]
initWithTarget:self
- action:@selector(displayContextMenuInvokedByGestureRecognizer:)]);
+ action:@selector(displayContextMenuInvokedByGestureRecognizer:)];
[self.collectionView addGestureRecognizer:longPressRecognizer];
}
@@ -357,19 +354,17 @@ const CGFloat kSeparatorInset = 10;
// loading indicator removal will not be observed.
[self updateEntriesStatusMessage];
- __block base::scoped_nsobject<NSMutableArray> filterResults(
- [[NSMutableArray array] retain]);
- __block base::scoped_nsobject<NSString> searchQuery(
- [base::SysUTF16ToNSString(result.query) copy]);
+ __block NSMutableArray* filterResults = [NSMutableArray array];
+ __block NSString* searchQuery = [base::SysUTF16ToNSString(result.query) copy];
[self.collectionView performBatchUpdates:^{
// There should always be at least a header section present.
DCHECK([[self collectionViewModel] numberOfSections]);
for (const history::HistoryEntry& entry : entries) {
HistoryEntryItem* item =
- [[[HistoryEntryItem alloc] initWithType:ItemTypeHistoryEntry
- historyEntry:entry
- browserState:_browserState
- delegate:self] autorelease];
+ [[HistoryEntryItem alloc] initWithType:ItemTypeHistoryEntry
+ historyEntry:entry
+ browserState:_browserState
+ delegate:self];
[self.entryInserter insertHistoryEntryItem:item];
if ([self isSearching] || self.filterQueryResult) {
[filterResults addObject:item];
@@ -573,16 +568,15 @@ const CGFloat kSeparatorInset = 10;
- (void)updateEntriesStatusMessage {
CollectionViewItem* entriesStatusItem = nil;
if (!self.hasHistoryEntries) {
- CollectionViewTextItem* noResultsItem = [[[CollectionViewTextItem alloc]
- initWithType:ItemTypeEntriesStatus] autorelease];
+ CollectionViewTextItem* noResultsItem =
+ [[CollectionViewTextItem alloc] initWithType:ItemTypeEntriesStatus];
noResultsItem.text =
self.isSearching ? l10n_util::GetNSString(IDS_HISTORY_NO_SEARCH_RESULTS)
: l10n_util::GetNSString(IDS_HISTORY_NO_RESULTS);
entriesStatusItem = noResultsItem;
} else {
HistoryEntriesStatusItem* historyEntriesStatusItem =
- [[[HistoryEntriesStatusItem alloc] initWithType:ItemTypeEntriesStatus]
- autorelease];
+ [[HistoryEntriesStatusItem alloc] initWithType:ItemTypeEntriesStatus];
historyEntriesStatusItem.delegate = self;
AuthenticationService* authService =
AuthenticationServiceFactory::GetForBrowserState(_browserState);
@@ -691,8 +685,8 @@ const CGFloat kSeparatorInset = 10;
fromSectionWithIdentifier:kSectionIdentifierEnumZero];
[self.collectionView deleteItemsAtIndexPaths:@[ indexPath ]];
}
- CollectionViewItem* loadingIndicatorItem = [[[CollectionViewItem alloc]
- initWithType:ItemTypeActivityIndicator] autorelease];
+ CollectionViewItem* loadingIndicatorItem =
+ [[CollectionViewItem alloc] initWithType:ItemTypeActivityIndicator];
loadingIndicatorItem.cellClass = [ActivityIndicatorCell class];
[self.collectionViewModel addItem:loadingIndicatorItem
toSectionWithIdentifier:kEntriesStatusSectionIdentifier];
@@ -724,10 +718,10 @@ const CGFloat kSeparatorInset = 10;
HistoryEntryItem* entry = base::mac::ObjCCastStrict<HistoryEntryItem>(
[self.collectionViewModel itemAtIndexPath:touchedItemIndexPath]);
- base::WeakNSObject<HistoryCollectionViewController> weakSelf(self);
+ __weak HistoryCollectionViewController* weakSelf = self;
web::ContextMenuParams params;
params.location = touchLocation;
- params.view.reset([self.collectionView retain]);
+ params.view.reset(self.collectionView);
NSString* menuTitle =
base::SysUTF16ToNSString(url_formatter::FormatUrl(entry.URL));
params.menu_title.reset([menuTitle copy]);

Powered by Google App Engine
This is Rietveld 408576698