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

Unified Diff: ios/chrome/browser/ui/history/history_panel_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_panel_view_controller.mm
diff --git a/ios/chrome/browser/ui/history/history_panel_view_controller.mm b/ios/chrome/browser/ui/history/history_panel_view_controller.mm
index 70fb0a6c71e5232cc9b94b55fc8828bb4990d832..a39bfa4b5bb355f9085730c2e8e42a08e649afbb 100644
--- a/ios/chrome/browser/ui/history/history_panel_view_controller.mm
+++ b/ios/chrome/browser/ui/history/history_panel_view_controller.mm
@@ -6,8 +6,6 @@
#include "base/ios/block_types.h"
#include "base/ios/ios_util.h"
-#include "base/ios/weak_nsobject.h"
-#include "base/mac/scoped_nsobject.h"
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "components/strings/grit/components_strings.h"
@@ -26,6 +24,10 @@
#import "ios/third_party/material_components_ios/src/components/NavigationBar/src/MaterialNavigationBar.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 {
// Shadow opacity for the clear browsing button and the header when scrolling.
CGFloat kShadowOpacity = 0.2f;
@@ -35,24 +37,23 @@ CGFloat kShadowOpacity = 0.2f;
HistoryCollectionViewControllerDelegate,
HistorySearchViewControllerDelegate> {
// Controller for collection view that displays history entries.
- base::scoped_nsobject<HistoryCollectionViewController>
- _historyCollectionController;
+ HistoryCollectionViewController* _historyCollectionController;
// Bar at the bottom of the history panel the displays options for entry
// deletion, including "Clear Browsing Data..." which takes the user to
// Privacy settings, or "Edit" for entering a mode for deleting individual
// entries. When in edit mode, the bar displays options to Delete or Cancel.
- base::scoped_nsobject<ClearBrowsingBar> _clearBrowsingBar;
+ ClearBrowsingBar* _clearBrowsingBar;
// View controller for the search bar.
- base::scoped_nsobject<HistorySearchViewController> _searchViewController;
+ HistorySearchViewController* _searchViewController;
// Container view for history collection and clear browsing button to enable
// use of autolayout in conjuction with Material App Bar.
- base::scoped_nsobject<UIView> _containerView;
+ UIView* _containerView;
// The header view.
- base::scoped_nsobject<MDCAppBar> _appBar;
+ MDCAppBar* _appBar;
// Left bar button item for Search.
- base::scoped_nsobject<UIBarButtonItem> _leftBarButtonItem;
+ UIBarButtonItem* _leftBarButtonItem;
// Right bar button item for Dismiss history action.
- base::scoped_nsobject<UIBarButtonItem> _rightBarButtonItem;
+ UIBarButtonItem* _rightBarButtonItem;
}
// Closes history.
- (void)closeHistory;
@@ -83,18 +84,18 @@ CGFloat kShadowOpacity = 0.2f;
browserState:(ios::ChromeBrowserState*)browserState {
self = [super initWithNibName:nil bundle:nil];
if (self) {
- _historyCollectionController.reset([[HistoryCollectionViewController alloc]
- initWithLoader:loader
- browserState:browserState
- delegate:self]);
+ _historyCollectionController =
+ [[HistoryCollectionViewController alloc] initWithLoader:loader
+ browserState:browserState
+ delegate:self];
// Configure modal presentation.
[self setModalPresentationStyle:UIModalPresentationFormSheet];
[self setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
// Add and configure header.
- _appBar.reset([[MDCAppBar alloc] init]);
- [self addChildViewController:_appBar.get().headerViewController];
+ _appBar = [[MDCAppBar alloc] init];
+ [self addChildViewController:_appBar.headerViewController];
}
return self;
}
@@ -114,9 +115,8 @@ CGFloat kShadowOpacity = 0.2f;
(ios::ChromeBrowserState*)browserState
loader:(id<UrlLoader>)loader {
HistoryPanelViewController* historyPanelController =
- [[[HistoryPanelViewController alloc] initWithLoader:loader
- browserState:browserState]
- autorelease];
+ [[HistoryPanelViewController alloc] initWithLoader:loader
+ browserState:browserState];
return historyPanelController;
}
@@ -124,7 +124,7 @@ CGFloat kShadowOpacity = 0.2f;
[super viewDidLoad];
[self setTitle:l10n_util::GetNSString(IDS_HISTORY_TITLE)];
- _containerView.reset([[UIView alloc] initWithFrame:self.view.frame]);
+ _containerView = [[UIView alloc] initWithFrame:self.view.frame];
[_containerView setAutoresizingMask:UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight];
[self.view addSubview:_containerView];
@@ -136,7 +136,7 @@ CGFloat kShadowOpacity = 0.2f;
[self addChildViewController:_historyCollectionController];
[_historyCollectionController didMoveToParentViewController:self];
- _clearBrowsingBar.reset([[ClearBrowsingBar alloc] initWithFrame:CGRectZero]);
+ _clearBrowsingBar = [[ClearBrowsingBar alloc] initWithFrame:CGRectZero];
[_clearBrowsingBar setClearBrowsingDataTarget:self
action:@selector(openPrivacySettings)];
[_clearBrowsingBar setEditTarget:self action:@selector(enterEditingMode)];
@@ -153,16 +153,16 @@ CGFloat kShadowOpacity = 0.2f;
[_appBar addSubviewsToParent];
// Add navigation bar buttons.
- _leftBarButtonItem.reset([[ChromeIcon
- templateBarButtonItemWithImage:[ChromeIcon searchIcon]
- target:self
- action:@selector(enterSearchMode)] retain]);
+ _leftBarButtonItem =
+ [ChromeIcon templateBarButtonItemWithImage:[ChromeIcon searchIcon]
+ target:self
+ action:@selector(enterSearchMode)];
self.navigationItem.leftBarButtonItem = _leftBarButtonItem;
- _rightBarButtonItem.reset([[UIBarButtonItem alloc]
+ _rightBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:l10n_util::GetNSString(IDS_IOS_NAVIGATION_BAR_DONE_BUTTON)
style:UIBarButtonItemStylePlain
target:self
- action:@selector(closeHistory)]);
+ action:@selector(closeHistory)];
self.navigationItem.rightBarButtonItem = _rightBarButtonItem;
[self configureNavigationBar];
}
@@ -211,7 +211,7 @@ CGFloat kShadowOpacity = 0.2f;
// dropped.
return nil;
} else {
- return _appBar.get().headerViewController;
+ return _appBar.headerViewController;
}
}
@@ -231,7 +231,7 @@ CGFloat kShadowOpacity = 0.2f;
// dropped.
return nil;
} else {
- return _appBar.get().headerViewController;
+ return _appBar.headerViewController;
}
}
@@ -261,8 +261,7 @@ CGFloat kShadowOpacity = 0.2f;
(HistoryCollectionViewController*)controller
didScrollToOffset:(CGPoint)offset {
// Display a shadow on the header when the collection is scrolled.
- MDCFlexibleHeaderView* headerView =
- _appBar.get().headerViewController.headerView;
+ MDCFlexibleHeaderView* headerView = _appBar.headerViewController.headerView;
headerView.visibleShadowOpacity =
offset.y > -CGRectGetHeight(headerView.frame) ? kShadowOpacity : 0.0f;
}
@@ -317,7 +316,7 @@ CGFloat kShadowOpacity = 0.2f;
- (void)enterEditingMode {
[_historyCollectionController setEditing:YES];
[_clearBrowsingBar setEditing:YES];
- if (_historyCollectionController.get().searching) {
+ if (_historyCollectionController.searching) {
[_searchViewController setEnabled:NO];
}
DCHECK([_historyCollectionController isEditing]);
@@ -327,7 +326,7 @@ CGFloat kShadowOpacity = 0.2f;
- (void)exitEditingMode {
[_historyCollectionController setEditing:NO];
[_clearBrowsingBar setEditing:NO];
- if (_historyCollectionController.get().searching) {
+ if (_historyCollectionController.searching) {
[_searchViewController setEnabled:YES];
}
DCHECK(![_historyCollectionController isEditing]);
@@ -341,21 +340,20 @@ CGFloat kShadowOpacity = 0.2f;
}
- (void)enterSearchMode {
if (!_searchViewController) {
- _searchViewController.reset([[HistorySearchViewController alloc] init]);
+ _searchViewController = [[HistorySearchViewController alloc] init];
[_searchViewController setDelegate:self];
}
UIView* searchBarView = [_searchViewController view];
[_searchViewController willMoveToParentViewController:self];
[self.view addSubview:searchBarView];
- _historyCollectionController.get().searching = YES;
+ _historyCollectionController.searching = YES;
[_searchViewController didMoveToParentViewController:self];
base::RecordAction(base::UserMetricsAction("HistoryPage_Search"));
// Constraints to make search bar cover header.
[searchBarView setTranslatesAutoresizingMaskIntoConstraints:NO];
- MDCFlexibleHeaderView* headerView =
- _appBar.get().headerViewController.headerView;
+ MDCFlexibleHeaderView* headerView = _appBar.headerViewController.headerView;
NSArray* constraints = @[
[[searchBarView topAnchor] constraintEqualToAnchor:headerView.topAnchor],
[[searchBarView leadingAnchor]
@@ -373,7 +371,7 @@ CGFloat kShadowOpacity = 0.2f;
}
- (void)exitSearchMode {
- if (_historyCollectionController.get().searching) {
+ if (_historyCollectionController.searching) {
// Resets the navigation items to their initial state.
self.navigationItem.leftBarButtonItem = _leftBarButtonItem;
self.navigationItem.rightBarButtonItem = _rightBarButtonItem;
@@ -381,7 +379,7 @@ CGFloat kShadowOpacity = 0.2f;
[[_searchViewController view] removeFromSuperview];
[_searchViewController removeFromParentViewController];
- _historyCollectionController.get().searching = NO;
+ _historyCollectionController.searching = NO;
[_historyCollectionController showHistoryMatchingQuery:nil];
}
}
@@ -395,17 +393,17 @@ CGFloat kShadowOpacity = 0.2f;
}
- (void)configureClearBrowsingBar {
- _clearBrowsingBar.get().editing = _historyCollectionController.get().editing;
- _clearBrowsingBar.get().deleteButtonEnabled =
+ _clearBrowsingBar.editing = _historyCollectionController.editing;
+ _clearBrowsingBar.deleteButtonEnabled =
[_historyCollectionController hasSelectedEntries];
- _clearBrowsingBar.get().editButtonEnabled =
+ _clearBrowsingBar.editButtonEnabled =
[_historyCollectionController hasHistoryEntries];
}
#pragma mark - UIResponder
- (NSArray*)keyCommands {
- base::WeakNSObject<HistoryPanelViewController> weakSelf(self);
+ __weak HistoryPanelViewController* weakSelf = self;
return @[ [UIKeyCommand cr_keyCommandWithInput:UIKeyInputEscape
modifierFlags:Cr_UIKeyModifierNone
title:nil
« no previous file with comments | « ios/chrome/browser/ui/history/history_entry_item.mm ('k') | ios/chrome/browser/ui/history/history_search_view.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698