From 49f414b439d56941cba1b13d2083e9e0ff95ff52 Mon Sep 17 00:00:00 2001 From: deepak1556 Date: Thu, 21 Feb 2019 22:43:43 +0530 Subject: [PATCH] [Mac] Remove GC calls from Chromium. https://chromium-review.googlesource.com/c/chromium/src/+/1471382 --- atom/browser/browser_mac.mm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/atom/browser/browser_mac.mm b/atom/browser/browser_mac.mm index 6112a89200ce..a3dbb9940417 100644 --- a/atom/browser/browser_mac.mm +++ b/atom/browser/browser_mac.mm @@ -15,6 +15,7 @@ #include "base/mac/bundle_locations.h" #include "base/mac/foundation_util.h" #include "base/mac/mac_util.h" +#include "base/mac/scoped_cftyperef.h" #include "base/strings/string_number_conversions.h" #include "base/strings/sys_string_conversions.h" #include "net/base/mac/url_conversions.h" @@ -114,16 +115,16 @@ bool Browser::IsDefaultProtocolClient(const std::string& protocol, NSString* protocol_ns = [NSString stringWithUTF8String:protocol.c_str()]; - CFStringRef bundle = - LSCopyDefaultHandlerForURLScheme(base::mac::NSToCFCast(protocol_ns)); - NSString* bundleId = - static_cast(base::mac::CFTypeRefToNSObjectAutorelease(bundle)); + base::ScopedCFTypeRef bundleId( + LSCopyDefaultHandlerForURLScheme(base::mac::NSToCFCast(protocol_ns))); + if (!bundleId) return false; // Ensure the comparison is case-insensitive // as LS does not persist the case of the bundle id. - NSComparisonResult result = [bundleId caseInsensitiveCompare:identifier]; + NSComparisonResult result = + [base::mac::CFToNSCast(bundleId) caseInsensitiveCompare:identifier]; return result == NSOrderedSame; }