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

Unified Diff: ios/chrome/browser/ui/ntp/whats_new_header_view.mm

Issue 2955363002: [ObjC ARC] Converts ios/chrome/browser/ui/ntp:ntp_internal to ARC. (Closed)
Patch Set: rebase Created 3 years, 5 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 | « ios/chrome/browser/ui/ntp/whats_new_header_view.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/chrome/browser/ui/ntp/whats_new_header_view.mm
diff --git a/ios/chrome/browser/ui/ntp/whats_new_header_view.mm b/ios/chrome/browser/ui/ntp/whats_new_header_view.mm
index 43c43f9eb203e3bb7b1fd27b03f14334525a89c1..0314b32c5f3a9072d68a36cd3f2492c371a30765 100644
--- a/ios/chrome/browser/ui/ntp/whats_new_header_view.mm
+++ b/ios/chrome/browser/ui/ntp/whats_new_header_view.mm
@@ -5,13 +5,16 @@
#import "ios/chrome/browser/ui/ntp/whats_new_header_view.h"
#include "base/logging.h"
-#include "base/mac/scoped_nsobject.h"
#import "ios/chrome/browser/ui/uikit_ui_util.h"
#include "ios/chrome/common/string_util.h"
#include "ios/public/provider/chrome/browser/chrome_browser_provider.h"
#include "ios/public/provider/chrome/browser/images/branded_image_provider.h"
#import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h"
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
namespace {
const CGFloat kLabelTopMargin = 16;
@@ -28,11 +31,11 @@ const int kLinkColorRgb = 0x5595FE;
} // namespace
@interface WhatsNewHeaderView () {
- base::scoped_nsobject<UIImageView> _infoIconImageView;
- base::scoped_nsobject<UILabel> _promoLabel;
- base::scoped_nsobject<NSLayoutConstraint> _edgeConstraint;
- base::scoped_nsobject<UIView> _leftSpacer;
- base::scoped_nsobject<UIView> _rightSpacer;
+ UIImageView* _infoIconImageView;
+ UILabel* _promoLabel;
+ NSLayoutConstraint* _edgeConstraint;
+ UIView* _leftSpacer;
+ UIView* _rightSpacer;
CGFloat _sideMargin;
}
@@ -49,16 +52,15 @@ const int kLinkColorRgb = 0x5595FE;
UIImage* infoIconImage = ios::GetChromeBrowserProvider()
->GetBrandedImageProvider()
->GetWhatsNewIconImage(WHATS_NEW_INFO);
- _infoIconImageView.reset([[UIImageView alloc] initWithImage:infoIconImage]);
- _promoLabel.reset([[[self class] promoLabel] retain]);
+ _infoIconImageView = [[UIImageView alloc] initWithImage:infoIconImage];
+ _promoLabel = [[self class] promoLabel];
[_promoLabel setUserInteractionEnabled:YES];
- base::scoped_nsobject<UITapGestureRecognizer> promoTapRecognizer(
- [[UITapGestureRecognizer alloc]
- initWithTarget:self
- action:@selector(promoButtonPressed)]);
+ UITapGestureRecognizer* promoTapRecognizer = [[UITapGestureRecognizer alloc]
+ initWithTarget:self
+ action:@selector(promoButtonPressed)];
[_promoLabel addGestureRecognizer:promoTapRecognizer];
- _leftSpacer.reset([[UIView alloc] initWithFrame:CGRectZero]);
- _rightSpacer.reset([[UIView alloc] initWithFrame:CGRectZero]);
+ _leftSpacer = [[UIView alloc] initWithFrame:CGRectZero];
+ _rightSpacer = [[UIView alloc] initWithFrame:CGRectZero];
[_leftSpacer setHidden:YES];
[_rightSpacer setHidden:YES];
@@ -105,14 +107,14 @@ const int kLinkColorRgb = 0x5595FE;
],
views, metrics, self);
- _edgeConstraint.reset([[NSLayoutConstraint
+ _edgeConstraint = [NSLayoutConstraint
constraintWithItem:_leftSpacer
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationGreaterThanOrEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1
- constant:_sideMargin] retain]);
+ constant:_sideMargin];
[self addConstraint:_edgeConstraint];
}
[_edgeConstraint setConstant:_sideMargin];
@@ -136,13 +138,13 @@ const int kLinkColorRgb = 0x5595FE;
[self setNeedsUpdateConstraints];
CGFloat maxLabelWidth =
width - 2 * sideMargin - kInfoIconSize - kLabelLeftMargin;
- [_promoLabel.get() setPreferredMaxLayoutWidth:maxLabelWidth];
+ [_promoLabel setPreferredMaxLayoutWidth:maxLabelWidth];
}
- (void)promoButtonPressed {
[_delegate onPromoLabelTapped];
[self removeConstraints:self.constraints];
- _edgeConstraint.reset();
+ _edgeConstraint = nil;
}
+ (void)setText:(NSString*)promoLabelText inPromoLabel:(UILabel*)promoLabel {
@@ -153,8 +155,7 @@ const int kLinkColorRgb = 0x5595FE;
DCHECK_NE(0u, linkRange.length);
NSMutableAttributedString* attributedText =
- [[[NSMutableAttributedString alloc] initWithString:strippedText]
- autorelease];
+ [[NSMutableAttributedString alloc] initWithString:strippedText];
// Sets the styling to mimic a link.
UIColor* linkColor = UIColorFromRGB(kLinkColorRgb, 1.0);
@@ -170,8 +171,7 @@ const int kLinkColorRgb = 0x5595FE;
// Sets the line spacing on the attributed string.
NSInteger strLength = [strippedText length];
- base::scoped_nsobject<NSMutableParagraphStyle> style(
- [[NSMutableParagraphStyle alloc] init]);
+ NSMutableParagraphStyle* style = [[NSMutableParagraphStyle alloc] init];
[style setLineSpacing:kLabelLineSpacing];
[attributedText addAttribute:NSParagraphStyleAttributeName
value:style
@@ -181,21 +181,20 @@ const int kLinkColorRgb = 0x5595FE;
}
+ (UILabel*)promoLabel {
- base::scoped_nsobject<UILabel> promoLabel(
- [[UILabel alloc] initWithFrame:CGRectZero]);
+ UILabel* promoLabel = [[UILabel alloc] initWithFrame:CGRectZero];
[promoLabel
setFont:[[MDCTypography fontLoader] regularFontOfSize:kLabelFontSize]];
[promoLabel setTextColor:UIColorFromRGB(kTextColorRgb, 1.0)];
[promoLabel setNumberOfLines:0];
[promoLabel setTextAlignment:NSTextAlignmentNatural];
[promoLabel setLineBreakMode:NSLineBreakByWordWrapping];
- return promoLabel.autorelease();
+ return promoLabel;
}
+ (int)heightToFitText:(NSString*)text inWidth:(CGFloat)width {
CGFloat maxWidthForLabel = width - kInfoIconSize - kLabelLeftMargin;
- base::scoped_nsobject<UILabel> promoLabel([[self promoLabel] retain]);
- [[self class] setText:text inPromoLabel:promoLabel.get()];
+ UILabel* promoLabel = [self promoLabel];
+ [[self class] setText:text inPromoLabel:promoLabel];
CGFloat promoLabelHeight =
[promoLabel sizeThatFits:CGSizeMake(maxWidthForLabel, CGFLOAT_MAX)]
.height;
« no previous file with comments | « ios/chrome/browser/ui/ntp/whats_new_header_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698