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

Unified Diff: ios/chrome/browser/ui/bookmarks/bookmark_folder_editor_view_controller.mm

Issue 2738053008: Revert of [ObjC ARC] Converts ios/chrome/browser/ui/bookmarks:bookmarks_arc_2 to ARC. (Closed)
Patch Set: Created 3 years, 9 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/bookmarks/bookmark_folder_editor_view_controller.mm
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_folder_editor_view_controller.mm b/ios/chrome/browser/ui/bookmarks/bookmark_folder_editor_view_controller.mm
index 3a959b0a37f9a5141a71c83a93be13e659a10734..6f6de34a3300c6db95cfe840e7e2d698805452df 100644
--- a/ios/chrome/browser/ui/bookmarks/bookmark_folder_editor_view_controller.mm
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_folder_editor_view_controller.mm
@@ -8,9 +8,11 @@
#include "base/auto_reset.h"
#include "base/i18n/rtl.h"
+#import "base/ios/weak_nsobject.h"
#include "base/logging.h"
#include "base/mac/foundation_util.h"
-
+#include "base/mac/objc_property_releaser.h"
+#include "base/mac/scoped_nsobject.h"
#include "base/strings/sys_string_conversions.h"
#include "components/bookmarks/browser/bookmark_model.h"
#include "components/bookmarks/browser/bookmark_node.h"
@@ -33,10 +35,6 @@
#import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h"
#include "ui/base/l10n/l10n_util.h"
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
using bookmarks::BookmarkNode;
namespace {
@@ -57,7 +55,8 @@
BookmarkModelBridgeObserver,
BookmarkTextFieldItemDelegate> {
std::unique_ptr<bookmarks::BookmarkModelBridge> _modelBridge;
-
+ base::mac::ObjCPropertyReleaser
+ _propertyReleaser_BookmarkFolderEditorViewController;
// Flag to ignore bookmark model Move notifications when the move is performed
// by this class.
BOOL _ignoresOwnMove;
@@ -66,14 +65,14 @@
@property(nonatomic, assign) bookmarks::BookmarkModel* bookmarkModel;
@property(nonatomic, assign) ios::ChromeBrowserState* browserState;
@property(nonatomic, assign) const BookmarkNode* folder;
-@property(nonatomic, strong) BookmarkFolderViewController* folderViewController;
+@property(nonatomic, retain) BookmarkFolderViewController* folderViewController;
@property(nonatomic, assign) const BookmarkNode* parentFolder;
-@property(nonatomic, weak) UIBarButtonItem* doneItem;
-@property(nonatomic, strong) BookmarkTextFieldItem* titleItem;
-@property(nonatomic, strong) BookmarkParentFolderItem* parentFolderItem;
+@property(nonatomic, assign) UIBarButtonItem* doneItem;
+@property(nonatomic, retain) BookmarkTextFieldItem* titleItem;
+@property(nonatomic, retain) BookmarkParentFolderItem* parentFolderItem;
// Bottom toolbar with DELETE button that only appears when the edited folder
// allows deletion.
-@property(nonatomic, weak) BookmarksElevatedToolbar* toolbar;
+@property(nonatomic, assign) BookmarksElevatedToolbar* toolbar;
// |bookmarkModel| must not be NULL and must be loaded.
- (instancetype)initWithBookmarkModel:(bookmarks::BookmarkModel*)bookmarkModel
@@ -114,12 +113,12 @@
+ (instancetype)
folderCreatorWithBookmarkModel:(bookmarks::BookmarkModel*)bookmarkModel
parentFolder:(const BookmarkNode*)parentFolder {
- BookmarkFolderEditorViewController* folderCreator =
- [[self alloc] initWithBookmarkModel:bookmarkModel];
- folderCreator.parentFolder = parentFolder;
- folderCreator.folder = NULL;
- folderCreator.editingExistingFolder = NO;
- return folderCreator = nil;
+ base::scoped_nsobject<BookmarkFolderEditorViewController> folderCreator(
+ [[self alloc] initWithBookmarkModel:bookmarkModel]);
+ folderCreator.get().parentFolder = parentFolder;
+ folderCreator.get().folder = NULL;
+ folderCreator.get().editingExistingFolder = NO;
+ return folderCreator.autorelease();
}
+ (instancetype)
@@ -129,13 +128,13 @@
DCHECK(folder);
DCHECK(!bookmarkModel->is_permanent_node(folder));
DCHECK(browserState);
- BookmarkFolderEditorViewController* folderEditor =
- [[self alloc] initWithBookmarkModel:bookmarkModel];
- folderEditor.parentFolder = folder->parent();
- folderEditor.folder = folder;
- folderEditor.browserState = browserState;
- folderEditor.editingExistingFolder = YES;
- return folderEditor = nil;
+ base::scoped_nsobject<BookmarkFolderEditorViewController> folderEditor(
+ [[self alloc] initWithBookmarkModel:bookmarkModel]);
+ folderEditor.get().parentFolder = folder->parent();
+ folderEditor.get().folder = folder;
+ folderEditor.get().browserState = browserState;
+ folderEditor.get().editingExistingFolder = YES;
+ return folderEditor.autorelease();
}
#pragma mark - Initialization
@@ -145,6 +144,8 @@
DCHECK(bookmarkModel->loaded());
self = [super initWithStyle:CollectionViewControllerStyleAppBar];
if (self) {
+ _propertyReleaser_BookmarkFolderEditorViewController.Init(
+ self, [BookmarkFolderEditorViewController class]);
_bookmarkModel = bookmarkModel;
// Set up the bookmark model oberver.
@@ -162,6 +163,7 @@
- (void)dealloc {
_titleItem.delegate = nil;
_folderViewController.delegate = nil;
+ [super dealloc];
}
#pragma mark - UIViewController
@@ -171,13 +173,13 @@
self.collectionView.backgroundColor = [UIColor whiteColor];
// Add Done button.
- UIBarButtonItem* doneItem = [[UIBarButtonItem alloc]
+ base::scoped_nsobject<UIBarButtonItem> doneItem([[UIBarButtonItem alloc]
initWithTitle:l10n_util::GetNSString(
IDS_IOS_BOOKMARK_EDIT_MODE_EXIT_MOBILE)
style:UIBarButtonItemStylePlain
target:self
- action:@selector(saveFolder)];
- doneItem.accessibilityIdentifier = @"Save";
+ action:@selector(saveFolder)]);
+ doneItem.get().accessibilityIdentifier = @"Save";
self.navigationItem.rightBarButtonItem = doneItem;
self.doneItem = doneItem;
@@ -271,14 +273,14 @@
std::set<const BookmarkNode*> editedNodes;
if (self.folder)
editedNodes.insert(self.folder);
- BookmarkFolderViewController* folderViewController =
+ base::scoped_nsobject<BookmarkFolderViewController> folderViewController(
[[BookmarkFolderViewController alloc]
initWithBookmarkModel:self.bookmarkModel
allowsNewFolders:NO
editedNodes:editedNodes
allowsCancel:NO
- selectedFolder:self.parentFolder];
- folderViewController.delegate = self;
+ selectedFolder:self.parentFolder]);
+ folderViewController.get().delegate = self;
self.folderViewController = folderViewController;
[self.navigationController pushViewController:folderViewController
@@ -440,23 +442,23 @@
[self.collectionViewModel addSectionWithIdentifier:SectionIdentifierInfo];
- BookmarkTextFieldItem* titleItem =
- [[BookmarkTextFieldItem alloc] initWithType:ItemTypeFolderTitle];
- titleItem.text =
+ base::scoped_nsobject<BookmarkTextFieldItem> titleItem(
+ [[BookmarkTextFieldItem alloc] initWithType:ItemTypeFolderTitle]);
+ titleItem.get().text =
(self.folder)
? bookmark_utils_ios::TitleForBookmarkNode(self.folder)
: l10n_util::GetNSString(IDS_IOS_BOOKMARK_NEW_GROUP_DEFAULT_NAME);
- titleItem.placeholder =
+ titleItem.get().placeholder =
l10n_util::GetNSString(IDS_IOS_BOOKMARK_NEW_EDITOR_NAME_LABEL);
- titleItem.accessibilityIdentifier = @"Title";
+ titleItem.get().accessibilityIdentifier = @"Title";
[self.collectionViewModel addItem:titleItem
toSectionWithIdentifier:SectionIdentifierInfo];
- titleItem.delegate = self;
+ titleItem.get().delegate = self;
self.titleItem = titleItem;
- BookmarkParentFolderItem* parentFolderItem =
- [[BookmarkParentFolderItem alloc] initWithType:ItemTypeParentFolder];
- parentFolderItem.title =
+ base::scoped_nsobject<BookmarkParentFolderItem> parentFolderItem(
+ [[BookmarkParentFolderItem alloc] initWithType:ItemTypeParentFolder]);
+ parentFolderItem.get().title =
bookmark_utils_ios::TitleForBookmarkNode(self.parentFolder);
[self.collectionViewModel addItem:parentFolderItem
toSectionWithIdentifier:SectionIdentifierInfo];
@@ -465,24 +467,26 @@
- (void)addToolbar {
// Add bottom toolbar with Delete button.
- BookmarksElevatedToolbar* buttonBar = [[BookmarksElevatedToolbar alloc] init];
- UIBarButtonItem* deleteItem = [[UIBarButtonItem alloc]
+ base::scoped_nsobject<BookmarksElevatedToolbar> buttonBar(
+ [[BookmarksElevatedToolbar alloc] init]);
+ base::scoped_nsobject<UIBarButtonItem> deleteItem([[UIBarButtonItem alloc]
initWithTitle:l10n_util::GetNSString(IDS_IOS_BOOKMARK_GROUP_DELETE)
style:UIBarButtonItemStylePlain
target:self
- action:@selector(deleteFolder)];
- deleteItem.accessibilityIdentifier = @"Delete Folder";
+ action:@selector(deleteFolder)]);
+ deleteItem.get().accessibilityIdentifier = @"Delete Folder";
[deleteItem setTitleTextAttributes:@{
NSForegroundColorAttributeName : [UIColor blackColor]
}
forState:UIControlStateNormal];
- [buttonBar.layer addSublayer:[[MDCShadowLayer alloc] init]];
- buttonBar.shadowElevation = MDCShadowElevationSearchBarResting;
- buttonBar.items = @[ deleteItem ];
+ [buttonBar.get().layer
+ addSublayer:[[[MDCShadowLayer alloc] init] autorelease]];
+ buttonBar.get().shadowElevation = MDCShadowElevationSearchBarResting;
+ buttonBar.get().items = @[ deleteItem ];
[self.view addSubview:buttonBar];
// Constraint |buttonBar| to be in bottom.
- buttonBar.translatesAutoresizingMaskIntoConstraints = NO;
+ buttonBar.get().translatesAutoresizingMaskIntoConstraints = NO;
[self.view addConstraints:
[NSLayoutConstraint
constraintsWithVisualFormat:@"H:|[buttonBar]|"

Powered by Google App Engine
This is Rietveld 408576698