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

Unified Diff: ios/chrome/browser/ui/util/manual_text_framer.mm

Issue 2819283004: [ObjC ARC] Converts ios/chrome/browser/ui/util:util to ARC. (Closed)
Patch Set: Fix copy for block 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/util/manual_text_framer.mm
diff --git a/ios/chrome/browser/ui/util/manual_text_framer.mm b/ios/chrome/browser/ui/util/manual_text_framer.mm
index 74cdb7b12d2e57a2935d6c4dd1915e1328c65443..f5b4296ed02f290da041220567ac7cf42d10682a 100644
--- a/ios/chrome/browser/ui/util/manual_text_framer.mm
+++ b/ios/chrome/browser/ui/util/manual_text_framer.mm
@@ -9,11 +9,14 @@
#include "base/i18n/rtl.h"
#include "base/logging.h"
#include "base/mac/foundation_util.h"
-#include "base/mac/scoped_nsobject.h"
#import "ios/chrome/browser/ui/util/core_text_util.h"
#import "ios/chrome/browser/ui/util/text_frame.h"
#import "ios/chrome/browser/ui/util/unicode_util.h"
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
// NOTE: When RTL text is laid out into glyph runs, the glyphs appear in the
// visual order in which they appear on screen. In other words, the glyphs are
// arranged in the reverse order of their corresponding characters in the
@@ -70,8 +73,8 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
// A TextFrame implementation that is manually created by ManualTextFramer.
@interface ManualTextFrame : NSObject<TextFrame> {
// Backing objects for properties of the same name.
- base::scoped_nsobject<NSAttributedString> _string;
- base::scoped_nsobject<NSMutableArray> _lines;
+ NSAttributedString* _string;
+ NSMutableArray* _lines;
}
// Designated initializer.
@@ -99,9 +102,9 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
inBounds:(CGRect)bounds {
if ((self = [super init])) {
DCHECK(string.string.length);
- _string.reset([string retain]);
+ _string = string;
_bounds = bounds;
- _lines.reset([[NSMutableArray alloc] init]);
+ _lines = [[NSMutableArray alloc] init];
}
return self;
}
@@ -109,11 +112,11 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
#pragma mark Accessors
- (NSAttributedString*)string {
- return _string.get();
+ return _string;
}
- (NSArray*)lines {
- return _lines.get();
+ return _lines;
}
#pragma mark Private
@@ -121,10 +124,9 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
- (void)addFramedLineWithLine:(CTLineRef)line
stringRange:(NSRange)stringRange
origin:(CGPoint)origin {
- base::scoped_nsobject<FramedLine> framedLine([[FramedLine alloc]
- initWithLine:line
- stringRange:stringRange
- origin:origin]);
+ FramedLine* framedLine = [[FramedLine alloc] initWithLine:line
+ stringRange:stringRange
+ origin:origin];
[_lines addObject:framedLine];
}
@@ -132,14 +134,10 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
#pragma mark - ManualTextFramer Private Interface
-@interface ManualTextFramer () {
- // Backing objects for properties of the same name.
- base::scoped_nsobject<NSAttributedString> _string;
- base::scoped_nsobject<ManualTextFrame> _manualTextFrame;
-}
+@interface ManualTextFramer ()
// The string passed upon initialization.
-@property(nonatomic, readonly) NSAttributedString* string;
+@property(strong, nonatomic, readonly) NSAttributedString* string;
// The bounds passed upon initialization.
@property(nonatomic, readonly) CGRect bounds;
@@ -151,7 +149,7 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
@property(nonatomic, assign) CGFloat remainingHeight;
// The text frame constructed by |-frameText|.
-@property(nonatomic, readonly) ManualTextFrame* manualTextFrame;
+@property(strong, nonatomic, readonly) ManualTextFrame* manualTextFrame;
// Creates a ManualTextFrame and assigns it to |_manualTextFrame|. Returns YES
// if a new text frame was successfully created.
@@ -167,7 +165,6 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
@interface ParagraphFramer : ManualTextFramer {
// Backing objects for properties of the same name.
base::ScopedCFTypeRef<CTLineRef> _line;
- base::scoped_nsobject<NSCharacterSet> _lineEndSet;
}
// The CTLine created from |string|.
@@ -179,7 +176,7 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
// Character set containing characters that are appropriate for line endings.
// These characters include whitespaces and newlines (denoting a word boundary),
// in addition to line-ending characters like hyphens, em dashes, and en dashes.
-@property(nonatomic, readonly) NSCharacterSet* lineEndSet;
+@property(strong, nonatomic, readonly) NSCharacterSet* lineEndSet;
// The index of the current run that is being framed. Setting |runIdx| also
// updates |currentRun| and |currentGlyphCount|.
@@ -271,6 +268,7 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
@synthesize currentLineWidth = _currentLineWidth;
@synthesize currentWhitespaceWidth = _currentWhitespaceWidth;
@synthesize isRTL = _isRTL;
+@synthesize lineEndSet = _lineEndSet;
- (instancetype)initWithString:(NSAttributedString*)string
inBounds:(CGRect)bounds {
@@ -343,7 +341,7 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
NSMutableCharacterSet* lineEndSet =
[NSMutableCharacterSet whitespaceAndNewlineCharacterSet];
[lineEndSet addCharactersInString:@"-\u2013\u2014"];
- _lineEndSet.reset([lineEndSet retain]);
+ _lineEndSet = lineEndSet;
}
return _lineEndSet;
}
@@ -353,7 +351,7 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
self.framedGlyphCount = 0;
if ([self runIdxIsValid:runIdx]) {
NSArray* runs = base::mac::CFToNSCast(CTLineGetGlyphRuns(self.line));
- _currentRun = static_cast<CTRunRef>(runs[_runIdx]);
+ _currentRun = (__bridge CTRunRef)(runs[_runIdx]);
_currentGlyphCount = CTRunGetGlyphCount(self.currentRun);
} else {
_currentRun = nullptr;
@@ -562,12 +560,14 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
@synthesize bounds = _bounds;
@synthesize boundingWidth = _boundingWidth;
@synthesize remainingHeight = _remainingHeight;
+@synthesize string = _string;
+@synthesize manualTextFrame = _manualTextFrame;
- (instancetype)initWithString:(NSAttributedString*)string
inBounds:(CGRect)bounds {
if ((self = [super init])) {
DCHECK(string.string.length);
- _string.reset([string retain]);
+ _string = string;
_bounds = bounds;
_boundingWidth = CGRectGetWidth(bounds);
_remainingHeight = CGRectGetHeight(bounds);
@@ -586,9 +586,9 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
// variables for the top-level ManualTextFramer.
CGRect remainingBounds =
CGRectMake(0, 0, self.boundingWidth, self.remainingHeight);
- base::scoped_nsobject<ParagraphFramer> framer([[ParagraphFramer alloc]
- initWithString:paragraph
- inBounds:remainingBounds]);
+ ParagraphFramer* framer =
+ [[ParagraphFramer alloc] initWithString:paragraph
+ inBounds:remainingBounds];
[framer frameText];
id<TextFrame> frame = [framer textFrame];
DCHECK(frame);
@@ -611,16 +611,8 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
#pragma mark Accessors
-- (NSAttributedString*)string {
- return _string.get();
-}
-
-- (ManualTextFrame*)manualTextFrame {
- return _manualTextFrame.get();
-}
-
- (id<TextFrame>)textFrame {
- return _manualTextFrame.get();
+ return _manualTextFrame;
}
#pragma mark Private
@@ -628,8 +620,8 @@ NSArray* GetParagraphStringsForString(NSAttributedString* string) {
- (BOOL)setupManualTextFrame {
if (_manualTextFrame)
return NO;
- _manualTextFrame.reset([[ManualTextFrame alloc] initWithString:self.string
- inBounds:self.bounds]);
+ _manualTextFrame =
+ [[ManualTextFrame alloc] initWithString:self.string inBounds:self.bounds];
return YES;
}

Powered by Google App Engine
This is Rietveld 408576698