Index: ios/chrome/browser/ui/ntp/new_tab_page_bar.mm |
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_bar.mm b/ios/chrome/browser/ui/ntp/new_tab_page_bar.mm |
index 760902a83eec023a970b8b6a8d630b6b56e181e6..e64cc7e417bca6abb74624f4e3e70c6264805d85 100644 |
--- a/ios/chrome/browser/ui/ntp/new_tab_page_bar.mm |
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_bar.mm |
@@ -8,8 +8,7 @@ |
#include <cmath> |
#include "base/logging.h" |
-#include "base/mac/objc_property_releaser.h" |
-#include "base/mac/scoped_nsobject.h" |
+ |
#import "ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.h" |
#import "ios/chrome/browser/ui/ntp/new_tab_page_bar_button.h" |
#import "ios/chrome/browser/ui/ntp/new_tab_page_bar_item.h" |
@@ -19,6 +18,10 @@ |
#import "ui/gfx/ios/NSString+CrStringDrawing.h" |
#include "ui/gfx/scoped_ui_graphics_push_context_ios.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
namespace { |
const CGFloat kBarHeight = 48.0f; |
@@ -32,11 +35,11 @@ const int kNumberOfTabsIncognito = 2; |
} // anonymous namespace |
@interface NewTabPageBar () { |
- base::scoped_nsobject<UIImageView> shadow_; |
+ UIImageView* shadow_; |
} |
-@property(nonatomic, readwrite, retain) NSArray* buttons; |
-@property(nonatomic, readwrite, retain) UIButton* popupButton; |
+@property(nonatomic, readwrite, strong) NSArray* buttons; |
+@property(nonatomic, readwrite, strong) UIButton* popupButton; |
- (void)setup; |
- (void)calculateButtonWidth; |
@@ -46,28 +49,21 @@ const int kNumberOfTabsIncognito = 2; |
@end |
@implementation NewTabPageBar { |
- // Tabbar buttons. |
- NSArray* buttons_; // UIButton |
- NSArray* items_; // NewTabPageBarItem |
// Which button is currently selected. |
NSUInteger selectedIndex_; |
- // Popup button helper, for iPhone labels. |
- UIButton* popupButton_; |
// Don't allow tabbar animations on startup, only after first tap. |
BOOL canAnimate_; |
- id<NewTabPageBarDelegate> delegate_; // weak |
+ __weak id<NewTabPageBarDelegate> delegate_; |
// Logo view, used to center the tab buttons. |
- base::scoped_nsobject<UIImageView> logoView_; |
+ UIImageView* logoView_; |
// Overlay view, used to highlight the selected button. |
- base::scoped_nsobject<UIImageView> overlayView_; |
+ UIImageView* overlayView_; |
// Overlay view, used to highlight the selected button. |
- base::scoped_nsobject<UIView> overlayColorView_; |
+ UIView* overlayColorView_; |
// Width of a button. |
CGFloat buttonWidth_; |
// Percentage overlay sits over tab bar buttons. |
CGFloat overlayPercentage_; |
- |
- base::mac::ObjCPropertyReleaser propertyReleaser_NewTabPageBar_; |
} |
@synthesize items = items_; |
@@ -94,7 +90,6 @@ const int kNumberOfTabsIncognito = 2; |
} |
- (void)setup { |
- propertyReleaser_NewTabPageBar_.Init(self, [NewTabPageBar class]); |
self.selectedIndex = NSNotFound; |
canAnimate_ = NO; |
self.autoresizingMask = |
@@ -103,13 +98,13 @@ const int kNumberOfTabsIncognito = 2; |
self.backgroundColor = [UIColor clearColor]; |
if ([self showOverlay]) { |
- overlayView_.reset( |
- [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, buttonWidth_, 2)]); |
+ overlayView_ = |
+ [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, buttonWidth_, 2)]; |
// Center |overlayColorView_| inside |overlayView_|. |
CGFloat colorX = AlignValueToPixel((buttonWidth_ - kOverlayColorWidth) / 2); |
- overlayColorView_.reset([[UIView alloc] |
- initWithFrame:CGRectMake(colorX, 0, kOverlayColorWidth, 2)]); |
+ overlayColorView_ = [[UIView alloc] |
+ initWithFrame:CGRectMake(colorX, 0, kOverlayColorWidth, 2)]; |
[overlayColorView_ |
setBackgroundColor:UIColorFromRGB(kOverlayViewColor, 1.0)]; |
[overlayColorView_ layer].cornerRadius = 1.0; |
@@ -122,7 +117,7 @@ const int kNumberOfTabsIncognito = 2; |
// Make the drop shadow. |
UIImage* shadowImage = [UIImage imageNamed:@"ntp_bottom_bar_shadow"]; |
- shadow_.reset([[UIImageView alloc] initWithImage:shadowImage]); |
+ shadow_ = [[UIImageView alloc] initWithImage:shadowImage]; |
// Shadow is positioned directly above the new tab page bar. |
[shadow_ |
setFrame:CGRectMake(0, -shadowImage.size.height, self.bounds.size.width, |
@@ -140,7 +135,7 @@ const int kNumberOfTabsIncognito = 2; |
// is enabled. |
[self calculateButtonWidth]; |
- CGFloat logoWidth = logoView_.get().image.size.width; |
+ CGFloat logoWidth = logoView_.image.size.width; |
CGFloat padding = [self useIconsInButtons] ? logoWidth : 0; |
CGFloat buttonPadding = floor((CGRectGetWidth(self.bounds) - padding - |
buttonWidth_ * self.buttons.count) / |
@@ -193,8 +188,7 @@ const int kNumberOfTabsIncognito = 2; |
if (newItems == items_) |
return; |
- [items_ autorelease]; |
- items_ = [newItems retain]; |
+ items_ = newItems; |
// Remove all the existing buttons from the view. |
for (UIButton* button in self.buttons) { |
[button removeFromSuperview]; |