Index: ios/chrome/browser/ui/util/core_text_util.mm |
diff --git a/ios/chrome/browser/ui/util/core_text_util.mm b/ios/chrome/browser/ui/util/core_text_util.mm |
index 7dec519b065d4acf46d45c901060b58b5b089562..6d5a849c3c9b38acc33333b9485fa97787e00c80 100644 |
--- a/ios/chrome/browser/ui/util/core_text_util.mm |
+++ b/ios/chrome/browser/ui/util/core_text_util.mm |
@@ -8,11 +8,14 @@ |
#include "base/i18n/rtl.h" |
#include "base/mac/foundation_util.h" |
-#include "base/mac/scoped_nsobject.h" |
#import "ios/chrome/browser/ui/util/manual_text_framer.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 |
+ |
namespace core_text_util { |
namespace { |
@@ -26,11 +29,11 @@ CFRange GetValidRangeForTextFrame(CTFrameRef text_frame, |
bool is_rtl = |
GetEffectiveWritingDirection(string) == NSWritingDirectionRightToLeft; |
for (id line_id in base::mac::CFToNSCast(CTFrameGetLines(text_frame))) { |
- CTLineRef line = static_cast<CTLineRef>(line_id); |
+ CTLineRef line = (__bridge CTLineRef)(line_id); |
marq (ping after 24h)
2017/04/21 16:25:04
We should still use static_cast<>() even if we're
sdefresne
2017/04/24 11:30:02
Sadly "bridge" and "static_cast" don't mix. This i
|
NSArray* runs = base::mac::CFToNSCast(CTLineGetGlyphRuns(line)); |
NSInteger run_idx = is_rtl ? runs.count - 1 : 0; |
while (run_idx >= 0 && run_idx < static_cast<NSInteger>(runs.count)) { |
- CTRunRef run = static_cast<CTRunRef>(runs[run_idx]); |
+ CTRunRef run = (__bridge CTRunRef)(runs[run_idx]); |
CFRange run_range = CTRunGetStringRange(run); |
if (run_range.location == range.location + range.length) |
range.length += run_range.length; |