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

Unified Diff: ios/chrome/browser/ui/browser_view_controller.mm

Issue 2806483002: [ObjC ARC] Clean up BVC from scoped_nsobject and weak_nsobject. (Closed)
Patch Set: 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/chrome/browser/ui/browser_view_controller.mm
diff --git a/ios/chrome/browser/ui/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view_controller.mm
index 52e1410614c46b3eb4c34dd099ba50d1d860a109..1b6047bb25644130a23ded2d713519b3e2dabaa0 100644
--- a/ios/chrome/browser/ui/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view_controller.mm
@@ -21,13 +21,10 @@
#include "base/i18n/rtl.h"
#include "base/ios/block_types.h"
#include "base/ios/ios_util.h"
-#include "base/ios/weak_nsobject.h"
#include "base/logging.h"
#include "base/mac/bind_objc_block.h"
#include "base/mac/bundle_locations.h"
#include "base/mac/foundation_util.h"
-
-#import "base/mac/scoped_block.h"
#import "base/mac/scoped_nsobject.h"
marq (ping after 24h) 2017/04/06 14:54:55 Presumably this is still needed to access public s
stkhapugin 2017/04/06 14:58:29 No, it's for HeaderDefinition struct that I remove
#include "base/macros.h"
#include "base/memory/ptr_util.h"
@@ -328,11 +325,10 @@ NSString* const kNativeControllerTemporaryKey = @"NativeControllerTemporaryKey";
VoiceSearchBarOwner> {
// The dependency factory passed on initialization. Used to vend objects used
// by the BVC.
- base::scoped_nsobject<BrowserViewControllerDependencyFactory>
- _dependencyFactory;
+ BrowserViewControllerDependencyFactory* _dependencyFactory;
// The browser's tab model.
- base::scoped_nsobject<TabModel> _model;
+ TabModel* _model;
// Facade objects used by |_toolbarController|.
// Must outlive |_toolbarController|.
@@ -340,26 +336,26 @@ NSString* const kNativeControllerTemporaryKey = @"NativeControllerTemporaryKey";
std::unique_ptr<ToolbarModelIOS> _toolbarModelIOS;
// Preload controller. Must outlive |_toolbarController|.
- base::scoped_nsobject<PreloadController> _preloadController;
+ PreloadController* _preloadController;
// The WebToolbarController used to display the omnibox.
- base::scoped_nsobject<WebToolbarController> _toolbarController;
+ WebToolbarController* _toolbarController;
// Controller for edge swipe gestures for page and tab navigation.
- base::scoped_nsobject<SideSwipeController> _sideSwipeController;
+ SideSwipeController* _sideSwipeController;
// Handles displaying the context menu for all form factors.
- base::scoped_nsobject<ContextMenuCoordinator> _contextMenuCoordinator;
+ ContextMenuCoordinator* _contextMenuCoordinator;
// Backing object for property of the same name.
- base::scoped_nsobject<DialogPresenter> _dialogPresenter;
+ DialogPresenter* _dialogPresenter;
// Handles presentation of JavaScript dialogs.
std::unique_ptr<JavaScriptDialogPresenterImpl> _javaScriptDialogPresenter;
// Keyboard commands provider. It offloads most of the keyboard commands
// management off of the BVC.
- base::scoped_nsobject<KeyCommandsProvider> _keyCommandsProvider;
+ KeyCommandsProvider* _keyCommandsProvider;
// Calls to |-relinquishedToolbarController| will set this to yes, and calls
// to |-reparentToolbarController| will reset it to NO.
@@ -369,13 +365,13 @@ NSString* const kNativeControllerTemporaryKey = @"NativeControllerTemporaryKey";
// The reference is weak because it's possible for the toolbar owner to be
// deallocated mid-animation due to memory pressure or a tab being closed
// before the animation is finished.
- base::WeakNSObject<id> _relinquishedToolbarOwner;
+ __weak id _relinquishedToolbarOwner;
// Always present on tablet; always nil on phone.
- base::scoped_nsobject<TabStripController> _tabStripController;
+ TabStripController* _tabStripController;
// The contextual search controller.
- base::scoped_nsobject<ContextualSearchController> _contextualSearchController;
+ ContextualSearchController* _contextualSearchController;
// The contextual search panel (always a subview of |self.view| if it exists).
ContextualSearchPanelView* _contextualSearchPanel;
@@ -385,33 +381,32 @@ NSString* const kNativeControllerTemporaryKey = @"NativeControllerTemporaryKey";
// Used to inject Javascript implementing the PaymentRequest API and to
// display the UI.
- base::scoped_nsobject<PaymentRequestManager> _paymentRequestManager;
+ PaymentRequestManager* _paymentRequestManager;
// Used to display the Page Info UI. Nil if not visible.
- base::scoped_nsobject<PageInfoViewController> _pageInfoController;
+ PageInfoViewController* _pageInfoController;
// Used to display the Voice Search UI. Nil if not visible.
scoped_refptr<VoiceSearchController> _voiceSearchController;
// Used to display the QR Scanner UI. Nil if not visible.
- base::scoped_nsobject<QRScannerViewController> _qrScannerViewController;
+ QRScannerViewController* _qrScannerViewController;
// Used to display the Reading List.
- base::scoped_nsobject<ReadingListCoordinator> _readingListCoordinator;
+ ReadingListCoordinator* _readingListCoordinator;
// Used to display the Suggestions.
- base::scoped_nsobject<ContentSuggestionsCoordinator>
- _contentSuggestionsCoordinator;
+ ContentSuggestionsCoordinator* _contentSuggestionsCoordinator;
// Used to display the Find In Page UI. Nil if not visible.
- base::scoped_nsobject<FindBarControllerIOS> _findBarController;
+ FindBarControllerIOS* _findBarController;
// Used to display the Print UI. Nil if not visible.
- base::scoped_nsobject<PrintController> _printController;
+ PrintController* _printController;
// Records the set of domains for which full screen alert has already been
// shown.
- base::scoped_nsobject<NSMutableSet> _fullScreenAlertShown;
+ NSMutableSet* _fullScreenAlertShown;
// Adapter to let BVC be the delegate for WebState.
std::unique_ptr<web::WebStateDelegateBridge> _webStateDelegate;
@@ -452,16 +447,16 @@ NSString* const kNativeControllerTemporaryKey = @"NativeControllerTemporaryKey";
// Voice search bar at the bottom of the view overlayed on |_contentArea|
// when displaying voice search results.
- base::scoped_nsprotocol<UIView<VoiceSearchBar>*> _voiceSearchBar;
+ UIView<VoiceSearchBar>* _voiceSearchBar;
// The image fetcher used to save images and perform image-based searches.
std::unique_ptr<image_fetcher::IOSImageDataFetcherWrapper> _imageFetcher;
// Card side swipe view.
- base::scoped_nsobject<CardSideSwipeView> _sideSwipeView;
+ CardSideSwipeView* _sideSwipeView;
// Dominant color cache. Key: (NSString*)url, val: (UIColor*)dominantColor.
- base::scoped_nsobject<NSMutableDictionary> _dominantColorCache;
+ NSMutableDictionary* _dominantColorCache;
// Bridge to register for bookmark changes.
std::unique_ptr<BrowserBookmarkModelBridge> _bookmarkModelBridge;
@@ -471,29 +466,26 @@ NSString* const kNativeControllerTemporaryKey = @"NativeControllerTemporaryKey";
// The controller that shows the bookmarking UI after the user taps the star
// button.
- base::scoped_nsobject<BookmarkInteractionController>
- _bookmarkInteractionController;
+ BookmarkInteractionController* _bookmarkInteractionController;
// Used to remove unreferenced external files.
std::unique_ptr<ExternalFileRemover> _externalFileRemover;
// The currently displayed "Rate This App" dialog, if one exists.
- base::scoped_nsprotocol<id<AppRatingPrompt>> _rateThisAppDialog;
+ id<AppRatingPrompt> _rateThisAppDialog;
// Maps tab IDs to the most recent native content controller vended to that
// tab's web controller.
- base::scoped_nsobject<NSMapTable> _nativeControllersForTabIDs;
+ NSMapTable* _nativeControllersForTabIDs;
// Notifies the toolbar menu of reading list changes.
- base::scoped_nsobject<ReadingListMenuNotifier> _readingListMenuNotifier;
+ ReadingListMenuNotifier* _readingListMenuNotifier;
// The sender for the last received IDC_VOICE_SEARCH command.
- base::WeakNSObject<UIView> _voiceSearchButton;
+ __weak UIView* _voiceSearchButton;
// Coordinator for displaying alerts.
- base::scoped_nsobject<AlertCoordinator> _alertCoordinator;
-
- // Releaser for properties that aren't backed by scoped_nsobjects.
+ AlertCoordinator* _alertCoordinator;
}
// The browser's side swipe controller. Lazily instantiated on the first call.
@@ -828,7 +820,7 @@ class InfoBarContainerDelegateIOS
bool DrawInfoBarArrows(int* x) const override { return false; }
- BrowserViewController* controller_; // weak
+ __weak BrowserViewController* controller_; // weak
};
// Called from the BrowserBookmarkModelBridge from C++ -> ObjC.
@@ -887,7 +879,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
}
private:
- BrowserViewController* owner_; // Weak.
+ __weak BrowserViewController* owner_;
};
@implementation BrowserViewController
@@ -912,10 +904,10 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
if (self) {
DCHECK(factory);
- _dependencyFactory.reset(factory);
- _nativeControllersForTabIDs.reset([NSMapTable strongToWeakObjectsMapTable]);
- _dialogPresenter.reset([[DialogPresenter alloc] initWithDelegate:self
- presentingViewController:self]);
+ _dependencyFactory = factory;
+ _nativeControllersForTabIDs = [NSMapTable strongToWeakObjectsMapTable];
+ _dialogPresenter = [[DialogPresenter alloc] initWithDelegate:self
+ presentingViewController:self];
_javaScriptDialogPresenter.reset(
new JavaScriptDialogPresenterImpl(_dialogPresenter));
_webStateDelegate.reset(new web::WebStateDelegateBridge(self));
@@ -926,7 +918,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
[self updateWithTabModel:model browserState:browserState];
if ([[NSUserDefaults standardUserDefaults]
boolForKey:@"fullScreenShowAlert"]) {
- _fullScreenAlertShown.reset([[NSMutableSet alloc] init]);
+ _fullScreenAlertShown = [[NSMutableSet alloc] init];
}
}
return self;
@@ -944,16 +936,16 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
}
- (void)dealloc {
- _tabStripController.reset();
- _infoBarContainer.reset();
- _readingListMenuNotifier.reset();
+ _tabStripController = nil;
+ _infoBarContainer = nil;
+ _readingListMenuNotifier = nil;
if (_bookmarkModel)
_bookmarkModel->RemoveObserver(_bookmarkModelBridge.get());
[_model removeObserver:self];
[[UpgradeCenter sharedInstance] unregisterClient:self];
[[NSNotificationCenter defaultCenter] removeObserver:self];
[_toolbarController setDelegate:nil];
- if (_voiceSearchController.get())
+ if (_voiceSearchController)
_voiceSearchController->SetDelegate(nil);
[_rateThisAppDialog setDelegate:nil];
[_model closeAllTabs];
@@ -1033,14 +1025,14 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
}
- (TabModel*)tabModel {
- return _model.get();
+ return _model;
}
- (SideSwipeController*)sideSwipeController {
if (!_sideSwipeController) {
- _sideSwipeController.reset([[SideSwipeController alloc]
- initWithTabModel:_model
- browserState:_browserState]);
+ _sideSwipeController =
+ [[SideSwipeController alloc] initWithTabModel:_model
+ browserState:_browserState];
[_sideSwipeController setSnapshotDelegate:self];
[_sideSwipeController setSwipeDelegate:self];
}
@@ -1048,7 +1040,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
}
- (PreloadController*)preloadController {
- return _preloadController.get();
+ return _preloadController;
}
- (DialogPresenter*)dialogPresenter {
@@ -1196,10 +1188,9 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
// Add a tap gesture recognizer to save the last tap location for the source
// location of the new tab animation.
- base::scoped_nsobject<UITapGestureRecognizer> tapRecognizer(
- [[UITapGestureRecognizer alloc]
- initWithTarget:self
- action:@selector(saveContentAreaTapLocation:)]);
+ UITapGestureRecognizer* tapRecognizer = [[UITapGestureRecognizer alloc]
+ initWithTarget:self
+ action:@selector(saveContentAreaTapLocation:)];
[tapRecognizer setDelegate:self];
[tapRecognizer setCancelsTouchesInView:NO];
[_contentArea addGestureRecognizer:tapRecognizer];
@@ -1290,16 +1281,16 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
// as the BrowserViewController.
self.contentArea = nil;
self.typingShield = nil;
- if (_voiceSearchController.get())
+ if (_voiceSearchController)
_voiceSearchController->SetDelegate(nil);
- _contentSuggestionsCoordinator.reset();
- _qrScannerViewController.reset();
- _readingListCoordinator.reset();
- _toolbarController.reset();
- _toolbarModelDelegate.reset();
- _toolbarModelIOS.reset();
- _tabStripController.reset();
- _sideSwipeController.reset();
+ _contentSuggestionsCoordinator = nil;
+ _qrScannerViewController = nil;
+ _readingListCoordinator = nil;
+ _toolbarController = nil;
+ _toolbarModelDelegate = nil;
+ _toolbarModelIOS = nil;
+ _tabStripController = nil;
+ _sideSwipeController = nil;
}
}
@@ -1334,10 +1325,10 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
[self hideFindBarWithAnimation:NO];
- base::WeakNSObject<BrowserViewController> weakSelf(self);
+ __weak BrowserViewController* weakSelf = self;
void (^completion)(id<UIViewControllerTransitionCoordinatorContext>) = ^(
id<UIViewControllerTransitionCoordinatorContext> context) {
- base::scoped_nsobject<BrowserViewController> strongSelf(weakSelf);
+ BrowserViewController* strongSelf = weakSelf;
if (strongSelf)
[strongSelf showFindBarWithAnimation:NO
selectText:NO
@@ -1354,11 +1345,10 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (void)dismissViewControllerAnimated:(BOOL)flag
completion:(void (^)())completion {
self.dismissingModal = YES;
- base::WeakNSObject<BrowserViewController> weakSelf(self);
+ __weak BrowserViewController* weakSelf = self;
[super dismissViewControllerAnimated:flag
completion:^{
- base::scoped_nsobject<BrowserViewController>
- strongSelf(weakSelf);
+ BrowserViewController* strongSelf = weakSelf;
[strongSelf setDismissingModal:NO];
[strongSelf setPresenting:NO];
if (completion)
@@ -1370,8 +1360,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (void)presentViewController:(UIViewController*)viewControllerToPresent
animated:(BOOL)flag
completion:(void (^)())completion {
- base::mac::ScopedBlock<ProceduralBlock> finalCompletionHandler(
- [completion copy]);
+ ProceduralBlock finalCompletionHandler = [completion copy];
// TODO(crbug.com/580098) This is an interim fix for the flicker between the
// launch screen and the FRE Animation. The fix is, if the FRE is about to be
// presented, to show a temporary view of the launch screen and then remove it
@@ -1407,13 +1396,13 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
// Replace the completion handler sent to the superclass with one which
// removes |launchScreenView| and resets the status bar. If |completion|
// exists, it is called from within the new completion handler.
- base::WeakNSObject<BrowserViewController> weakSelf(self);
- finalCompletionHandler.reset([^{
+ __weak BrowserViewController* weakSelf = self;
+ finalCompletionHandler = ^{
[launchScreenView removeFromSuperview];
- weakSelf.get().hideStatusBar = NO;
+ weakSelf.hideStatusBar = NO;
if (completion)
completion();
- } copy]);
+ };
}
}
@@ -1589,8 +1578,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
visibleFrameOnly:self.isToolbarOnScreen];
// Add three layers in order on top of the contentArea for the animation:
// 1. The black "background" screen.
- base::scoped_nsobject<UIView> background(
- [[UIView alloc] initWithFrame:[_contentArea bounds]]);
+ UIView* background = [[UIView alloc] initWithFrame:[_contentArea bounds]];
InstallBackgroundInView(background);
[_contentArea addSubview:background];
@@ -1631,7 +1619,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
DCHECK(!_browserState);
_browserState = browserState;
_isOffTheRecord = browserState->IsOffTheRecord() ? YES : NO;
- _model.reset(model);
+ _model = model;
[_model addObserver:self];
if (!_isOffTheRecord) {
@@ -1646,7 +1634,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
_imageFetcher = base::MakeUnique<image_fetcher::IOSImageDataFetcherWrapper>(
_browserState->GetRequestContext(), web::WebThread::GetBlockingPool());
- _dominantColorCache.reset([[NSMutableDictionary alloc] init]);
+ _dominantColorCache = [[NSMutableDictionary alloc] init];
// Register for bookmark changed notification (BookmarkModel may be null
// during testing, so explicitly support this).
@@ -1667,17 +1655,17 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
[self updateToolbarControlsAlpha:1.0];
[self updateToolbarBackgroundAlpha:1.0];
[_contextualSearchController close];
- _contextualSearchController.reset();
+ _contextualSearchController = nil;
[_contextualSearchPanel removeFromSuperview];
[_contextualSearchMask removeFromSuperview];
[_paymentRequestManager close];
- _paymentRequestManager.reset();
+ _paymentRequestManager = nil;
[_toolbarController browserStateDestroyed];
[_model browserStateDestroyed];
[_preloadController browserStateDestroyed];
- _preloadController.reset();
+ _preloadController = nil;
// The file remover needs the browser state, so needs to be destroyed now.
- _externalFileRemover.reset();
+ _externalFileRemover = nil;
_browserState = nullptr;
}
@@ -1686,8 +1674,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
CGFloat statusBarHeight = StatusBarHeight();
CGRect statusBarFrame =
CGRectMake(0, 0, [[self view] frame].size.width, statusBarHeight);
- base::scoped_nsobject<UIView> statusBarView(
- [[UIView alloc] initWithFrame:statusBarFrame]);
+ UIView* statusBarView = [[UIView alloc] initWithFrame:statusBarFrame];
[statusBarView setBackgroundColor:TabStrip::BackgroundColor()];
[statusBarView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[statusBarView layer].zPosition = 99;
@@ -1699,8 +1686,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
CGFloat statusBarHeight = StatusBarHeight();
CGRect statusBarFrame =
CGRectMake(0, 0, [[self view] frame].size.width, statusBarHeight);
- base::scoped_nsobject<UIView> statusBarView(
- [[UIView alloc] initWithFrame:statusBarFrame]);
+ UIView* statusBarView = [[UIView alloc] initWithFrame:statusBarFrame];
[statusBarView setBackgroundColor:[UIColor whiteColor]];
[statusBarView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[self.view insertSubview:statusBarView atIndex:0];
@@ -1714,7 +1700,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
// Create the preload controller before the toolbar controller.
if (!_preloadController) {
- _preloadController.reset([_dependencyFactory newPreloadController]);
+ _preloadController = [_dependencyFactory newPreloadController];
[_preloadController setDelegate:self];
}
@@ -1723,19 +1709,19 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
new ToolbarModelDelegateIOS([_model webStateList]));
_toolbarModelIOS.reset([_dependencyFactory
newToolbarModelIOSWithDelegate:_toolbarModelDelegate.get()]);
- _toolbarController.reset([_dependencyFactory
+ _toolbarController = [_dependencyFactory
newWebToolbarControllerWithDelegate:self
urlLoader:self
- preloadProvider:_preloadController.get()]);
+ preloadProvider:_preloadController];
[_toolbarController setTabCount:[_model count]];
- if (_voiceSearchController.get())
+ if (_voiceSearchController)
_voiceSearchController->SetDelegate(_toolbarController);
// If needed, create the tabstrip.
if (IsIPadIdiom()) {
- _tabStripController.reset(
- [_dependencyFactory newTabStripControllerWithTabModel:_model]);
- _tabStripController.get().fullscreenDelegate = self;
+ _tabStripController =
+ [_dependencyFactory newTabStripControllerWithTabModel:_model];
+ _tabStripController.fullscreenDelegate = self;
}
// Create infobar container.
@@ -1768,17 +1754,17 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
_contextualSearchPanel = [self createPanelView];
[self.view insertSubview:_contextualSearchPanel
aboveSubview:[_toolbarController view]];
- _contextualSearchController.reset([[ContextualSearchController alloc]
- initWithBrowserState:_browserState
- delegate:self]);
+ _contextualSearchController =
+ [[ContextualSearchController alloc] initWithBrowserState:_browserState
+ delegate:self];
[_contextualSearchController setPanel:_contextualSearchPanel];
[_contextualSearchController setTab:[_model currentTab]];
}
if (experimental_flags::IsPaymentRequestEnabled()) {
- _paymentRequestManager.reset([[PaymentRequestManager alloc]
+ _paymentRequestManager = [[PaymentRequestManager alloc]
initWithBaseViewController:self
- browserState:_browserState]);
+ browserState:_browserState];
[_paymentRequestManager setWebState:[_model currentTab].webState];
}
}
@@ -1883,10 +1869,10 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (void)initializeBookmarkInteractionController {
if (_bookmarkInteractionController)
return;
- _bookmarkInteractionController.reset([[BookmarkInteractionController alloc]
- initWithBrowserState:_browserState
- loader:self
- parentController:self]);
+ _bookmarkInteractionController =
+ [[BookmarkInteractionController alloc] initWithBrowserState:_browserState
+ loader:self
+ parentController:self];
}
// Update the state of back and forward buttons, hiding the forward button if
@@ -2148,7 +2134,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
// keep a reference to the previous tab, just turn off preview mode for all
// tabs (since doing so is a no-op for the tabs that don't have it set).
_expectingForegroundTab = NO;
- for (Tab* tab in _model.get()) {
+ for (Tab* tab in _model) {
[tab.webController setOverlayPreviewMode:NO];
}
}
@@ -2202,17 +2188,17 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
UIView* voiceSearchView = [self voiceSearchOverlayViewForTab:tab];
if (voiceSearchView) {
CGFloat voiceSearchYOffset = [self voiceSearchOverlayYOffsetForTab:tab];
- base::scoped_nsobject<SnapshotOverlay> voiceSearchOverlay(
+ SnapshotOverlay* voiceSearchOverlay =
[[SnapshotOverlay alloc] initWithView:voiceSearchView
- yOffset:voiceSearchYOffset]);
+ yOffset:voiceSearchYOffset];
[overlays addObject:voiceSearchOverlay];
}
UIView* infoBarView = [self infoBarOverlayViewForTab:tab];
if (infoBarView) {
CGFloat infoBarYOffset = [self infoBarOverlayYOffsetForTab:tab];
- base::scoped_nsobject<SnapshotOverlay> infoBarOverlay(
+ SnapshotOverlay* infoBarOverlay =
[[SnapshotOverlay alloc] initWithView:infoBarView
- yOffset:infoBarYOffset]);
+ yOffset:infoBarYOffset];
[overlays addObject:infoBarOverlay];
}
return overlays;
@@ -2239,7 +2225,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
}
- (CGFloat)infoBarOverlayYOffsetForTab:(Tab*)tab {
- if (tab != [_model currentTab] || !_infoBarContainer.get()) {
+ if (tab != [_model currentTab] || !_infoBarContainer) {
// There is no UI representation for non-current tabs or there is
// no _infoBarContainer instantiated yet.
// Return offset outside of tab.
@@ -2277,7 +2263,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
}
- (void)ensureVoiceSearchControllerCreated {
- if (!_voiceSearchController.get()) {
+ if (!_voiceSearchController) {
VoiceSearchProvider* provider =
ios::GetChromeBrowserProvider()->GetVoiceSearchProvider();
if (provider) {
@@ -2295,9 +2281,9 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
CGFloat width = CGRectGetWidth([[self view] bounds]);
CGFloat y = CGRectGetHeight([[self view] bounds]) - kVoiceSearchBarHeight;
CGRect frame = CGRectMake(0.0, y, width, kVoiceSearchBarHeight);
- _voiceSearchBar.reset(ios::GetChromeBrowserProvider()
- ->GetVoiceSearchProvider()
- ->BuildVoiceSearchBar(frame));
+ _voiceSearchBar = ios::GetChromeBrowserProvider()
+ ->GetVoiceSearchProvider()
+ ->BuildVoiceSearchBar(frame);
[_voiceSearchBar setVoiceSearchBarDelegate:self];
[_voiceSearchBar setHidden:YES];
[_voiceSearchBar setAutoresizingMask:UIViewAutoresizingFlexibleTopMargin |
@@ -2309,7 +2295,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (void)updateVoiceSearchBarVisibilityAnimated:(BOOL)animated {
// Voice search bar exists and is shown/hidden.
BOOL show = self.shouldShowVoiceSearchBar;
- if (_voiceSearchBar && _voiceSearchBar.get().hidden != show)
+ if (_voiceSearchBar && _voiceSearchBar.hidden != show)
return;
// Voice search bar doesn't exist and thus is not visible.
@@ -2317,9 +2303,9 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
return;
if (animated)
- [_voiceSearchBar.get() animateToBecomeVisible:show];
+ [_voiceSearchBar animateToBecomeVisible:show];
else
- _voiceSearchBar.get().hidden = !show;
+ _voiceSearchBar.hidden = !show;
}
- (id<LogoAnimationControllerOwner>)currentLogoAnimationControllerOwner {
@@ -2328,7 +2314,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
self.shouldShowVoiceSearchBar) {
// Use |_voiceSearchBar| for VoiceSearch results tab and dismissal
// animations.
- return static_cast<id<LogoAnimationControllerOwner>>(_voiceSearchBar.get());
+ return static_cast<id<LogoAnimationControllerOwner>>(_voiceSearchBar);
}
id currentNativeController =
[self nativeControllerForTab:self.tabModel.currentTab];
@@ -2347,9 +2333,9 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (void)presentPassKitDialog:(NSData*)data {
NSError* error = nil;
- base::scoped_nsobject<PKPass> pass;
+ PKPass* pass = nil;
if (data)
- pass.reset([[PKPass alloc] initWithData:data error:&error]);
+ pass = [[PKPass alloc] initWithData:data error:&error];
if (error || !data) {
if ([_model currentTab]) {
infobars::InfoBarManager* infoBarManager =
@@ -2482,14 +2468,14 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
DCHECK(_browserState);
DCHECK([_model currentTab]);
- _contextMenuCoordinator.reset([[ContextMenuCoordinator alloc]
- initWithBaseViewController:self
- params:params]);
+ _contextMenuCoordinator =
+ [[ContextMenuCoordinator alloc] initWithBaseViewController:self
+ params:params];
NSString* title = nil;
ProceduralBlock action = nil;
- base::WeakNSObject<BrowserViewController> weakSelf(self);
+ __weak BrowserViewController* weakSelf = self;
GURL link = params.link_url;
bool isLink = link.is_valid();
GURL imageUrl = params.src_url;
@@ -3114,7 +3100,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (void)searchByImageAtURL:(const GURL&)url
referrer:(const web::Referrer)referrer {
DCHECK(url.is_valid());
- base::WeakNSObject<BrowserViewController> weakSelf(self);
+ __weak BrowserViewController* weakSelf = self;
const GURL image_source_url = url;
image_fetcher::IOSImageDataFetcherCallback callback = ^(
NSData* data, const image_fetcher::RequestMetadata& metadata) {
@@ -3293,10 +3279,10 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
NSString* message = l10n_util::GetNSString(
IDS_IOS_SAVE_IMAGE_PRIVACY_ALERT_MESSAGE_GO_TO_SETTINGS);
- _alertCoordinator.reset([[AlertCoordinator alloc]
- initWithBaseViewController:self
- title:title
- message:message]);
+ _alertCoordinator =
+ [[AlertCoordinator alloc] initWithBaseViewController:self
+ title:title
+ message:message];
[_alertCoordinator addItemWithTitle:l10n_util::GetNSString(IDS_CANCEL)
action:nil
@@ -3355,8 +3341,8 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
// Dismiss Find in Page focus.
[self updateFindBar:NO shouldFocus:NO];
- base::scoped_nsobject<ToolsMenuConfiguration> configuration(
- [[ToolsMenuConfiguration alloc] initWithDisplayView:[self view]]);
+ ToolsMenuConfiguration* configuration =
+ [[ToolsMenuConfiguration alloc] initWithDisplayView:[self view]];
if ([_model count] == 0)
[configuration setNoOpenedTabs:YES];
@@ -3364,9 +3350,9 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
[configuration setInIncognito:YES];
if (!_readingListMenuNotifier) {
- _readingListMenuNotifier.reset([[ReadingListMenuNotifier alloc]
+ _readingListMenuNotifier = [[ReadingListMenuNotifier alloc]
initWithReadingList:ReadingListModelFactory::GetForBrowserState(
- _browserState)]);
+ _browserState)];
}
[configuration setReadingListMenuNotifier:_readingListMenuNotifier];
@@ -3428,17 +3414,17 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
_browserState, navItem->GetURL(), navItem->GetSSL(), bridge);
UIView* view = [self view];
- _pageInfoController.reset([[PageInfoViewController alloc]
+ _pageInfoController = [[PageInfoViewController alloc]
initWithModel:pageInfoModel
bridge:bridge
sourceFrame:[sourceView convertRect:[sourceView bounds] toView:view]
- parentView:view]);
- bridge->set_controller(_pageInfoController.get());
+ parentView:view];
+ bridge->set_controller(_pageInfoController);
}
- (void)hidePageInfoPopupForView:(UIView*)sourceView {
[_pageInfoController dismiss];
- _pageInfoController.reset();
+ _pageInfoController = nil;
}
- (void)showSecurityHelpPage {
@@ -3499,9 +3485,9 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
return;
}
DCHECK(_browserState);
- if (!_printController.get()) {
- _printController.reset([[PrintController alloc]
- initWithContextGetter:_browserState->GetRequestContext()]);
+ if (!_printController) {
+ _printController = [[PrintController alloc]
+ initWithContextGetter:_browserState->GetRequestContext()];
}
[_printController printView:[currentTab viewForPrinting]
withTitle:[currentTab title]
@@ -3533,7 +3519,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
// If there is no first responder, try to make the webview the first
// responder.
if (!GetFirstResponder()) {
- [_model.get().currentTab.webController.webViewProxy becomeFirstResponder];
+ [_model.currentTab.webController.webViewProxy becomeFirstResponder];
}
return YES;
@@ -3541,9 +3527,9 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (KeyCommandsProvider*)keyCommandsProvider {
if (!_keyCommandsProvider) {
- _keyCommandsProvider.reset([_dependencyFactory newKeyCommandsProvider]);
+ _keyCommandsProvider = [_dependencyFactory newKeyCommandsProvider];
}
- return _keyCommandsProvider.get();
+ return _keyCommandsProvider;
}
#pragma mark - KeyCommandsPlumbing
@@ -3777,12 +3763,12 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
// ends up appended to the end of the model, not just next to what is
// currently selected in the other mode. This is done with the |append|
// parameter.
- base::scoped_nsobject<OpenUrlCommand> command([[OpenUrlCommand alloc]
+ OpenUrlCommand* command = [[OpenUrlCommand alloc]
initWithURL:url
referrer:web::Referrer() // Strip referrer when switching modes.
inIncognito:inIncognito
inBackground:inBackground
- appendTo:kLastTab]);
+ appendTo:kLastTab];
[self chromeExecuteCommand:command];
}
@@ -3863,8 +3849,8 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (IBAction)locationBarBeganEdit:(id)sender {
// On handsets, if a page is currently loading it should be stopped.
if (!IsIPadIdiom() && _toolbarModelIOS->IsLoading()) {
- base::scoped_nsobject<GenericChromeCommand> command(
- [[GenericChromeCommand alloc] initWithTag:IDC_STOP]);
+ GenericChromeCommand* command =
+ [[GenericChromeCommand alloc] initWithTag:IDC_STOP];
[self chromeExecuteCommand:command];
_locationBarEditCancelledLoad = YES;
}
@@ -4096,7 +4082,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
// If the voice search command is coming from a UIView sender, store it
// before sending the command up the responder chain.
if ([sender isKindOfClass:[UIView class]])
- _voiceSearchButton.reset(sender);
+ _voiceSearchButton = sender;
[super chromeExecuteCommand:sender];
break;
case IDC_SHOW_QR_SCANNER:
@@ -4184,7 +4170,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
[_contextualSearchController movePanelOffscreen];
[_paymentRequestManager cancelRequest];
[_printController dismissAnimated:YES];
- _printController.reset();
+ _printController = nil;
[_toolbarController dismissToolsMenuPopup];
[_contextMenuCoordinator stop];
[self dismissRateThisAppDialog];
@@ -4279,8 +4265,8 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
return;
if (!_findBarController)
- _findBarController.reset(
- [[FindBarControllerIOS alloc] initWithIncognito:_isOffTheRecord]);
+ _findBarController =
+ [[FindBarControllerIOS alloc] initWithIncognito:_isOffTheRecord];
Tab* tab = [_model currentTab];
DCHECK(tab);
@@ -4293,18 +4279,22 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (void)searchFindInPage {
DCHECK([_model currentTab]);
auto* helper = FindTabHelper::FromWebState([_model currentTab].webState);
- base::WeakNSObject<BrowserViewController> weakSelf(self);
- helper->StartFinding([_findBarController searchTerm],
- ^(FindInPageModel* model) {
- [_findBarController updateResultsCount:model];
- });
+ __weak BrowserViewController* weakSelf = self;
+ helper->StartFinding(
+ [_findBarController searchTerm], ^(FindInPageModel* model) {
+ BrowserViewController* strongSelf = weakSelf;
+ if (!strongSelf) {
+ return;
+ }
+ [strongSelf->_findBarController updateResultsCount:model];
+ });
if (!_isOffTheRecord)
helper->PersistSearchTerm();
}
- (void)closeFindInPage {
- base::WeakNSObject<BrowserViewController> weakSelf(self);
+ __weak BrowserViewController* weakSelf = self;
Tab* currentTab = [_model currentTab];
if (currentTab) {
FindTabHelper::FromWebState(currentTab.webState)->StopFinding(^{
@@ -4341,17 +4331,17 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
}
- (void)showReadingList {
- _readingListCoordinator.reset([[ReadingListCoordinator alloc]
+ _readingListCoordinator = [[ReadingListCoordinator alloc]
initWithBaseViewController:self
browserState:self.browserState
- loader:self]);
+ loader:self];
[_readingListCoordinator start];
}
- (void)showQRScanner {
- _qrScannerViewController.reset(
- [[QRScannerViewController alloc] initWithDelegate:_toolbarController]);
+ _qrScannerViewController =
+ [[QRScannerViewController alloc] initWithDelegate:_toolbarController];
[self presentViewController:[_qrScannerViewController
getViewControllerToPresent]
animated:YES
@@ -4360,8 +4350,8 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (void)showSuggestionsUI {
if (!_contentSuggestionsCoordinator) {
- _contentSuggestionsCoordinator.reset([[ContentSuggestionsCoordinator alloc]
- initWithBaseViewController:self]);
+ _contentSuggestionsCoordinator =
+ [[ContentSuggestionsCoordinator alloc] initWithBaseViewController:self];
[_contentSuggestionsCoordinator setURLLoader:self];
}
[_contentSuggestionsCoordinator setBrowserState:_browserState];
@@ -4384,7 +4374,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
}
- (void)showRateThisAppDialog {
- DCHECK(!_rateThisAppDialog.get());
+ DCHECK(!_rateThisAppDialog);
// Store the current timestamp whenever this dialog is shown.
_browserState->GetPrefs()->SetInt64(prefs::kRateThisAppDialogLastShownTime,
@@ -4402,19 +4392,18 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
base::RecordAction(base::UserMetricsAction("IOSRateThisAppDialogShown"));
[self clearPresentedStateWithCompletion:nil];
- _rateThisAppDialog.reset(
- ios::GetChromeBrowserProvider()->CreateAppRatingPrompt());
+ _rateThisAppDialog = ios::GetChromeBrowserProvider()->CreateAppRatingPrompt();
[_rateThisAppDialog setAppStoreURL:storeURL];
[_rateThisAppDialog setDelegate:self];
[_rateThisAppDialog show];
}
- (void)dismissRateThisAppDialog {
- if (_rateThisAppDialog.get()) {
+ if (_rateThisAppDialog) {
base::RecordAction(base::UserMetricsAction(
"IOSRateThisAppDialogDismissedProgramatically"));
[_rateThisAppDialog dismiss];
- _rateThisAppDialog.reset();
+ _rateThisAppDialog = nil;
}
}
@@ -4424,10 +4413,10 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
DCHECK(tab);
CRWWebController* webController = tab.webController;
NSString* script = @"document.documentElement.outerHTML;";
- base::WeakNSObject<Tab> weakTab(tab);
- base::WeakNSObject<BrowserViewController> weakSelf(self);
+ __weak Tab* weakTab = tab;
+ __weak BrowserViewController* weakSelf = self;
web::JavaScriptResultBlock completionHandlerBlock = ^(id result, NSError*) {
- base::scoped_nsobject<Tab> strongTab(weakTab);
+ Tab* strongTab = weakTab;
if (!strongTab)
return;
if (![result isKindOfClass:[NSString class]])
@@ -4488,11 +4477,11 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
if ([nativeController conformsToProtocol:@protocol(ToolbarOwner)]) {
relinquishedToolbarController =
[nativeController relinquishedToolbarController];
- _relinquishedToolbarOwner.reset(nativeController);
+ _relinquishedToolbarOwner = nativeController;
}
}
} else {
- relinquishedToolbarController = _toolbarController.get();
+ relinquishedToolbarController = _toolbarController;
}
_isToolbarControllerRelinquished = (relinquishedToolbarController != nil);
return relinquishedToolbarController;
@@ -4503,7 +4492,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
if ([[_toolbarController view] isDescendantOfView:self.view]) {
// A native content controller's toolbar has been relinquished.
[_relinquishedToolbarOwner reparentToolbarController];
- _relinquishedToolbarOwner.reset();
+ _relinquishedToolbarOwner = nil;
} else if ([_findBarController isFindInPageShown]) {
[self.view insertSubview:[_toolbarController view]
belowSubview:[_findBarController view]];
@@ -4544,7 +4533,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
// Currently this observer method is always called with a non-nil |newTab|,
// but that may change in the future. Remove this DCHECK when it does.
DCHECK(newTab);
- if (_infoBarContainer.get()) {
+ if (_infoBarContainer) {
infobars::InfoBarManager* infoBarManager = [newTab infoBarManager];
_infoBarContainer->ChangeInfoBarManager(infoBarManager);
}
@@ -4623,7 +4612,7 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (void)showUpgrade:(UpgradeCenter*)center {
// Add an infobar on all the open tabs.
- for (Tab* tab in _model.get()) {
+ for (Tab* tab in _model) {
NSString* tabId = tab.tabId;
DCHECK([tab infoBarManager]);
[center addInfoBarToManager:[tab infoBarManager] forTabId:tabId];
@@ -5019,9 +5008,9 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
// Dismiss current alert.
[_alertCoordinator stop];
- _alertCoordinator.reset([_dependencyFactory alertCoordinatorWithTitle:title
- message:message
- viewController:self]);
+ _alertCoordinator = [_dependencyFactory alertCoordinatorWithTitle:title
+ message:message
+ viewController:self];
[_alertCoordinator start];
}
@@ -5041,8 +5030,8 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
[self showErrorAlertWithStringTitle:alertTitle message:alertMessage];
return;
}
- base::scoped_nsobject<MFMailComposeViewController> mailViewController(
- [[MFMailComposeViewController alloc] init]);
+ MFMailComposeViewController* mailViewController =
+ [[MFMailComposeViewController alloc] init];
[mailViewController setModalPresentationStyle:UIModalPresentationFormSheet];
[mailViewController setToRecipients:[command toRecipients]];
[mailViewController setSubject:[command subject]];
@@ -5085,8 +5074,8 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
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];
@@ -5102,33 +5091,33 @@ class BrowserBookmarkModelBridge : public bookmarks::BookmarkModelObserver {
- (void)userTappedRateApp:(UIView*)view {
base::RecordAction(base::UserMetricsAction("IOSRateThisAppRateChosen"));
- _rateThisAppDialog.reset();
+ _rateThisAppDialog = nil;
}
- (void)userTappedSendFeedback:(UIView*)view {
base::RecordAction(base::UserMetricsAction("IOSRateThisAppFeedbackChosen"));
- _rateThisAppDialog.reset();
- base::scoped_nsobject<GenericChromeCommand> command(
- [[GenericChromeCommand alloc] initWithTag:IDC_REPORT_AN_ISSUE]);
+ _rateThisAppDialog = nil;
+ GenericChromeCommand* command =
+ [[GenericChromeCommand alloc] initWithTag:IDC_REPORT_AN_ISSUE];
[self chromeExecuteCommand:command];
}
- (void)userTappedDismiss:(UIView*)view {
base::RecordAction(base::UserMetricsAction("IOSRateThisAppDismissChosen"));
- _rateThisAppDialog.reset();
+ _rateThisAppDialog = nil;
}
#pragma mark - VoiceSearchBarDelegate
- (BOOL)isTTSEnabledForVoiceSearchBar:(id<VoiceSearchBar>)voiceSearchBar {
- DCHECK_EQ(_voiceSearchBar.get(), voiceSearchBar);
+ DCHECK_EQ(_voiceSearchBar, voiceSearchBar);
[self ensureVoiceSearchControllerCreated];
return _voiceSearchController->IsTextToSpeechEnabled() &&
_voiceSearchController->IsTextToSpeechSupported();
}
- (void)voiceSearchBarDidUpdateButtonState:(id<VoiceSearchBar>)voiceSearchBar {
- DCHECK_EQ(_voiceSearchBar.get(), voiceSearchBar);
+ DCHECK_EQ(_voiceSearchBar, voiceSearchBar);
[self.tabModel.currentTab updateSnapshotWithOverlay:YES visibleFrameOnly:YES];
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698