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

Unified Diff: ios/chrome/browser/ui/toolbar/toolbar_controller.mm

Issue 2808873002: [ObjC ARC] Converts ios/chrome/browser/ui/toolbar:toolbar to ARC. (Closed)
Patch Set: feedback 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/toolbar/toolbar_controller.mm
diff --git a/ios/chrome/browser/ui/toolbar/toolbar_controller.mm b/ios/chrome/browser/ui/toolbar/toolbar_controller.mm
index 3eb51c61eca69a187f4aed516de3ddd5dea89ae4..7dd27ef31e01929f573355fa5d96ff80b22d4021 100644
--- a/ios/chrome/browser/ui/toolbar/toolbar_controller.mm
+++ b/ios/chrome/browser/ui/toolbar/toolbar_controller.mm
@@ -76,6 +76,10 @@ NSString* const kToolbarShareButtonIdentifier =
// Makes a two-element C array of CGRects as described above, one for each
// device idiom.
#define FRAME_PAIR(H) { IPHONE_FRAME(H), IPAD_FRAME(H) }
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
sdefresne 2017/04/28 08:02:50 This should move just below the "#include/#import"
+#error "This file requires ARC support."
+#endif
// clang-format on
const CGRect kToolbarFrame[INTERFACE_IDIOM_COUNT] = FRAME_PAIR(56);
@@ -200,26 +204,21 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
@end
@interface ToolbarController () {
- // The top-level toolbar view.
- base::scoped_nsobject<ToolbarView> view_;
- // The view for the toolbar background image.
- base::scoped_nsobject<UIImageView> backgroundView_;
- base::scoped_nsobject<UIImageView> shadowView_;
- base::scoped_nsobject<UIImageView> fullBleedShadowView_;
+ // The shadow view. Only used on iPhone.
+ UIImageView* fullBleedShadowView_;
// The backing object for |self.transitionLayers|.
- base::scoped_nsobject<NSMutableArray> transitionLayers_;
-
- base::scoped_nsobject<ToolbarToolsMenuButton> toolsMenuButton_;
- base::scoped_nsobject<UIButton> stackButton_;
- base::scoped_nsobject<UIButton> shareButton_;
- base::scoped_nsobject<NSArray> standardButtons_;
- base::scoped_nsobject<ToolsMenuButtonObserverBridge>
- toolsMenuButtonObserverBridge_;
+ NSMutableArray* transitionLayers_;
+
+ ToolbarToolsMenuButton* toolsMenuButton_;
+ UIButton* stackButton_;
+ UIButton* shareButton_;
+ NSArray* standardButtons_;
+ ToolsMenuButtonObserverBridge* toolsMenuButtonObserverBridge_;
ToolbarControllerStyle style_;
// The following is nil if not visible.
- base::scoped_nsobject<ToolsPopupController> toolsPopupController_;
+ ToolsPopupController* toolsPopupController_;
}
// Returns the background image that should be used for |style|.
@@ -245,15 +244,18 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
@implementation ToolbarController
@synthesize readingListModel = readingListModel_;
-
+@synthesize view = view_;
+@synthesize backgroundView = backgroundView_;
+@synthesize shadowView = shadowView_;
+@synthesize toolsPopupController = toolsPopupController_;
@synthesize style = style_;
- (void)setReadingListModel:(ReadingListModel*)readingListModel {
readingListModel_ = readingListModel;
if (readingListModel_) {
- toolsMenuButtonObserverBridge_.reset([[ToolsMenuButtonObserverBridge alloc]
- initWithModel:readingListModel_
- toolbarButton:toolsMenuButton_]);
+ toolsMenuButtonObserverBridge_ =
+ [[ToolsMenuButtonObserverBridge alloc] initWithModel:readingListModel_
+ toolbarButton:toolsMenuButton_];
}
}
@@ -278,11 +280,11 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
toolsMenuButtonFrame.origin.y += statusBarOffset;
}
- view_.reset([[ToolbarView alloc] initWithFrame:viewFrame]);
- backgroundView_.reset([[UIImageView alloc] initWithFrame:backgroundFrame]);
- toolsMenuButton_.reset([[ToolbarToolsMenuButton alloc]
- initWithFrame:toolsMenuButtonFrame
- style:style_]);
+ view_ = [[ToolbarView alloc] initWithFrame:viewFrame];
+ backgroundView_ = [[UIImageView alloc] initWithFrame:backgroundFrame];
+ toolsMenuButton_ =
+ [[ToolbarToolsMenuButton alloc] initWithFrame:toolsMenuButtonFrame
+ style:style_];
[toolsMenuButton_ setTag:IDC_SHOW_TOOLS_MENU];
[toolsMenuButton_
setAutoresizingMask:UIViewAutoresizingFlexibleLeadingMargin() |
@@ -296,7 +298,7 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
if (idiom == IPAD_IDIOM) {
CGRect shareButtonFrame = LayoutRectGetRect(kShareMenuButtonFrame);
- shareButton_.reset([[UIButton alloc] initWithFrame:shareButtonFrame]);
+ shareButton_ = [[UIButton alloc] initWithFrame:shareButtonFrame];
[shareButton_ setTag:IDC_SHARE_PAGE];
[shareButton_
setAutoresizingMask:UIViewAutoresizingFlexibleLeadingMargin() |
@@ -313,7 +315,7 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
CGRect shadowFrame = kShadowViewFrame[idiom];
shadowFrame.origin.y = CGRectGetMaxY(backgroundFrame);
- shadowView_.reset([[UIImageView alloc] initWithFrame:shadowFrame]);
+ shadowView_ = [[UIImageView alloc] initWithFrame:shadowFrame];
[shadowView_ setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[shadowView_ setUserInteractionEnabled:NO];
[view_ addSubview:shadowView_];
@@ -323,8 +325,8 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
// iPad omnibox does not expand to full bleed.
CGRect fullBleedShadowFrame = kFullBleedShadowViewFrame;
fullBleedShadowFrame.origin.y = shadowFrame.origin.y;
- fullBleedShadowView_.reset(
- [[UIImageView alloc] initWithFrame:fullBleedShadowFrame]);
+ fullBleedShadowView_ =
+ [[UIImageView alloc] initWithFrame:fullBleedShadowFrame];
[fullBleedShadowView_
setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[fullBleedShadowView_ setUserInteractionEnabled:NO];
@@ -334,8 +336,8 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
setImage:NativeImage(IDR_IOS_TOOLBAR_SHADOW_FULL_BLEED)];
}
- transitionLayers_.reset(
- [[NSMutableArray alloc] initWithCapacity:kTransitionLayerCapacity]);
+ transitionLayers_ =
+ [[NSMutableArray alloc] initWithCapacity:kTransitionLayerCapacity];
// UIImageViews do not default to userInteractionEnabled:YES.
[view_ setUserInteractionEnabled:YES];
@@ -346,8 +348,8 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
setImage:StretchableImageFromUIImage(tile, 0.0, 3.0)];
if (idiom == IPHONE_IDIOM) {
- stackButton_.reset(
- [[ToolbarCenteredButton alloc] initWithFrame:stackButtonFrame]);
+ stackButton_ =
+ [[ToolbarCenteredButton alloc] initWithFrame:stackButtonFrame];
[stackButton_ setTag:IDC_TOGGLE_TAB_SWITCHER];
[[stackButton_ titleLabel]
setFont:[self fontForSize:kFontSizeFewerThanTenTabs]];
@@ -407,27 +409,14 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
[toolsPopupController_ setDelegate:nil];
- [super dealloc];
-}
-
-- (UIImageView*)view {
- return view_.get();
-}
-
-- (UIImageView*)backgroundView {
- return backgroundView_.get();
}
- (CGFloat)statusBarOffset {
return StatusBarHeight();
}
-- (UIImageView*)shadowView {
- return shadowView_.get();
-}
-
- (NSMutableArray*)transitionLayers {
- return transitionLayers_.get();
+ return transitionLayers_;
}
- (BOOL)imageShouldFlipForRightToLeftLayoutDirection:(int)imageEnum {
@@ -444,22 +433,18 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
[standardButtons addObject:stackButton_];
if (shareButtonShouldBeVisible)
[standardButtons addObject:shareButton_];
- standardButtons_.reset([standardButtons retain]);
+ standardButtons_ = standardButtons;
}
- (void)traitCollectionDidChange:(UITraitCollection*)previousTraitCollection {
[self updateStandardButtons];
}
-- (ToolsPopupController*)toolsPopupController {
- return toolsPopupController_.get();
-}
-
- (void)applicationDidEnterBackground:(NSNotification*)notify {
- if (toolsPopupController_.get()) {
+ if (toolsPopupController_) {
// Dismiss the tools popup menu without animation.
[toolsMenuButton_ setToolsMenuIsVisible:NO];
- toolsPopupController_.reset(nil);
+ toolsPopupController_ = nil;
[[NSNotificationCenter defaultCenter]
postNotificationName:kMenuWillHideNotification
object:nil];
@@ -490,7 +475,7 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
}
- (int)imageEnumForButton:(UIButton*)button {
- if (button == stackButton_.get())
+ if (button == stackButton_)
return ToolbarButtonNameStack;
return NumberOfToolbarButtonNames;
}
@@ -563,7 +548,7 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
}
- (void)registerEventsForButton:(UIButton*)button {
- if (button != toolsMenuButton_.get()) {
+ if (button != toolsMenuButton_) {
// |target| must be |self| (as opposed to |nil|) because |self| isn't in the
// responder chain.
[button addTarget:self
@@ -585,7 +570,7 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
}
- (UIView*)shareButtonView {
- return shareButton_.get();
+ return shareButton_;
}
- (void)showToolsMenuPopupWithConfiguration:
@@ -602,8 +587,8 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
[toolsMenuButton_ setToolsMenuIsVisible:YES];
[configuration setToolsMenuButton:toolsMenuButton_];
- toolsPopupController_.reset(
- [[ToolsPopupController alloc] initWithConfiguration:configuration]);
+ toolsPopupController_ =
+ [[ToolsPopupController alloc] initWithConfiguration:configuration];
[toolsPopupController_ setDelegate:self];
@@ -613,9 +598,9 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
}
- (void)dismissToolsMenuPopup {
- if (!toolsPopupController_.get())
+ if (!toolsPopupController_)
return;
- ToolsPopupController* tempTPC = toolsPopupController_.get();
+ ToolsPopupController* tempTPC = toolsPopupController_;
[tempTPC containerView].userInteractionEnabled = NO;
[tempTPC dismissAnimatedWithCompletion:^{
// Unpress the tools menu button by restoring the normal and
@@ -626,7 +611,7 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
}];
// reset tabHistoryPopupController_ to prevent -applicationDidEnterBackground
// from posting another kMenuWillHideNotification.
- toolsPopupController_.reset();
+ toolsPopupController_ = nil;
[[NSNotificationCenter defaultCenter]
postNotificationName:kMenuWillHideNotification
@@ -685,7 +670,7 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
fadeButtons.fromValue = @1;
fadeButtons.toValue = @0;
- for (UIButton* button in standardButtons_.get()) {
+ for (UIButton* button in standardButtons_) {
if (![button isHidden]) {
[button layer].opacity = 0;
[[button layer] addAnimation:fadeButtons forKey:@"fade"];
@@ -699,7 +684,7 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
[CATransaction
setAnimationTimingFunction:TimingFunction(ios::material::CurveEaseIn)];
- for (UIButton* button in standardButtons_.get()) {
+ for (UIButton* button in standardButtons_) {
CABasicAnimation* shiftButton =
[CABasicAnimation animationWithKeyPath:@"position"];
CGPoint startPosition = [button layer].position;
@@ -721,7 +706,7 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
}
- (void)fadeInStandardControls {
- for (UIButton* button in standardButtons_.get()) {
+ for (UIButton* button in standardButtons_) {
[self fadeInView:button
fromLeadingOffset:10
withDuration:ios::material::kDuration2
@@ -739,7 +724,7 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
- (void)animationDidStart:(CAAnimation*)anim {
// Once the buttons start fading in, set their opacity to 1 so there's no
// flicker at the end of the animation.
- for (UIButton* button in standardButtons_.get()) {
+ for (UIButton* button in standardButtons_) {
if (anim == [[button layer] animationForKey:@"fadeIn"]) {
[button layer].opacity = 1;
return;
@@ -933,18 +918,18 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
- (void)setStandardControlsVisible:(BOOL)visible {
if (visible) {
- for (UIButton* button in standardButtons_.get()) {
+ for (UIButton* button in standardButtons_) {
[button setAlpha:1.0];
}
} else {
- for (UIButton* button in standardButtons_.get()) {
+ for (UIButton* button in standardButtons_) {
[button setAlpha:0.0];
}
}
}
- (void)setStandardControlsAlpha:(CGFloat)alpha {
- for (UIButton* button in standardButtons_.get()) {
+ for (UIButton* button in standardButtons_) {
if (![button isHidden])
[button setAlpha:alpha];
}
@@ -956,7 +941,7 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
}
- (void)setStandardControlsTransform:(CGAffineTransform)transform {
- for (UIButton* button in standardButtons_.get()) {
+ for (UIButton* button in standardButtons_) {
[button setTransform:transform];
}
}
@@ -1014,11 +999,11 @@ const LayoutOffset kButtonFadeOutXOffset = 10;
}
- (IBAction)recordUserMetrics:(id)sender {
- if (sender == toolsMenuButton_.get())
+ if (sender == toolsMenuButton_)
base::RecordAction(UserMetricsAction("MobileToolbarShowMenu"));
- else if (sender == stackButton_.get())
+ else if (sender == stackButton_)
base::RecordAction(UserMetricsAction("MobileToolbarShowStackView"));
- else if (sender == shareButton_.get())
+ else if (sender == shareButton_)
base::RecordAction(UserMetricsAction("MobileToolbarShareMenu"));
else
NOTREACHED();

Powered by Google App Engine
This is Rietveld 408576698