Chromium Code Reviews| Index: ios/chrome/browser/ui/util/text_frame.mm | 
| diff --git a/ios/chrome/browser/ui/util/text_frame.mm b/ios/chrome/browser/ui/util/text_frame.mm | 
| index 893a656c2350b4d0c8343471fd29f184a6b881bb..c48edb169dff44f2e316cda68bca4a7d7319e61f 100644 | 
| --- a/ios/chrome/browser/ui/util/text_frame.mm | 
| +++ b/ios/chrome/browser/ui/util/text_frame.mm | 
| @@ -6,13 +6,16 @@ | 
| #include "base/logging.h" | 
| #include "base/mac/foundation_util.h" | 
| -#import "base/mac/scoped_nsobject.h" | 
| + | 
| +#if !defined(__has_feature) || !__has_feature(objc_arc) | 
| +#error "This file requires ARC support." | 
| +#endif | 
| #pragma mark - FramedLine | 
| @implementation FramedLine { | 
| // Backing object for property of the same name. | 
| - base::scoped_nsprotocol<id> _line; | 
| + id _line; | 
| } | 
| @synthesize stringRange = _stringRange; | 
| @@ -27,11 +30,10 @@ | 
| // locations, but its length should be equal to |stringRange|. | 
| NSRange lineRange; | 
| if (!base::mac::CFRangeToNSRange(CTLineGetStringRange(line), &lineRange)) { | 
| - [self release]; | 
| return nil; | 
| } | 
| DCHECK_EQ(lineRange.length, stringRange.length); | 
| - _line.reset([static_cast<id>(line) retain]); | 
| + _line = (__bridge id)(line); | 
| 
 
marq (ping after 24h)
2017/04/21 16:25:04
static cast
 
 | 
| _stringRange = stringRange; | 
| _origin = origin; | 
| } | 
| @@ -40,7 +42,7 @@ | 
| - (NSString*)description { | 
| return [NSString stringWithFormat:@"%@ line:%@, stringRange:%@, origin:%@", | 
| - [super description], _line.get(), | 
| + [super description], _line, | 
| NSStringFromRange(_stringRange), | 
| NSStringFromCGPoint(_origin)]; | 
| } | 
| @@ -59,7 +61,7 @@ | 
| #pragma mark Accessors | 
| - (CTLineRef)line { | 
| - return static_cast<CTLineRef>(_line.get()); | 
| + return (__bridge CTLineRef)(_line); | 
| } | 
| @end | 
| @@ -68,9 +70,9 @@ | 
| @interface CoreTextTextFrame () { | 
| // Backing object for property of the same name. | 
| - base::scoped_nsobject<NSAttributedString> _string; | 
| - base::scoped_nsprotocol<id> _frame; | 
| - base::scoped_nsobject<NSMutableArray> _lines; | 
| + NSAttributedString* _string; | 
| + id _frame; | 
| + NSMutableArray* _lines; | 
| } | 
| // The CTFrameRef passed on initializaton. | 
| @@ -90,10 +92,10 @@ | 
| frame:(CTFrameRef)frame { | 
| if ((self = [super self])) { | 
| DCHECK(string.string.length); | 
| - _string.reset([string retain]); | 
| + _string = string; | 
| _bounds = bounds; | 
| DCHECK(frame); | 
| - _frame.reset([static_cast<id>(frame) retain]); | 
| + _frame = (__bridge id)(frame); | 
| } | 
| return self; | 
| } | 
| @@ -101,7 +103,7 @@ | 
| #pragma mark Accessors | 
| - (NSAttributedString*)string { | 
| - return _string.get(); | 
| + return _string; | 
| } | 
| - (NSRange)framedRange { | 
| @@ -115,11 +117,11 @@ | 
| - (NSArray*)lines { | 
| if (!_lines) | 
| [self createFramedLines]; | 
| - return _lines.get(); | 
| + return _lines; | 
| } | 
| - (CTFrameRef)frame { | 
| - return static_cast<CTFrameRef>(_frame.get()); | 
| + return (__bridge CTFrameRef)(_frame); | 
| } | 
| #pragma mark Private | 
| @@ -128,17 +130,17 @@ | 
| NSArray* lines = base::mac::CFToNSCast(CTFrameGetLines(self.frame)); | 
| CGPoint origins[lines.count]; | 
| CTFrameGetLineOrigins(self.frame, CFRangeMake(0, 0), origins); | 
| - _lines.reset([[NSMutableArray alloc] initWithCapacity:lines.count]); | 
| + _lines = [[NSMutableArray alloc] initWithCapacity:lines.count]; | 
| for (NSUInteger line_idx = 0; line_idx < lines.count; ++line_idx) { | 
| - CTLineRef line = static_cast<CTLineRef>(lines[line_idx]); | 
| + CTLineRef line = (__bridge CTLineRef)(lines[line_idx]); | 
| NSRange stringRange; | 
| CFRange cfStringRange = CTLineGetStringRange(line); | 
| if (!base::mac::CFRangeToNSRange(cfStringRange, &stringRange)) | 
| break; | 
| - base::scoped_nsobject<FramedLine> framedLine([[FramedLine alloc] | 
| - initWithLine:line | 
| - stringRange:stringRange | 
| - origin:origins[line_idx]]); | 
| + FramedLine* framedLine = | 
| + [[FramedLine alloc] initWithLine:line | 
| + stringRange:stringRange | 
| + origin:origins[line_idx]]; | 
| [_lines addObject:framedLine]; | 
| } | 
| } |