| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/mac/foundation_util.h" | 5 #include "base/mac/foundation_util.h" |
| 6 | 6 |
| 7 #include <stdlib.h> | 7 #include <stdlib.h> |
| 8 #include <string.h> | 8 #include <string.h> |
| 9 | 9 |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| 11 #include "base/logging.h" | 11 #include "base/logging.h" |
| 12 #include "base/mac/bundle_locations.h" | 12 #include "base/mac/bundle_locations.h" |
| 13 #include "base/mac/mac_logging.h" | 13 #include "base/mac/mac_logging.h" |
| 14 #include "base/numerics/safe_conversions.h" |
| 14 #include "base/strings/sys_string_conversions.h" | 15 #include "base/strings/sys_string_conversions.h" |
| 15 | 16 |
| 16 #if !defined(OS_IOS) | 17 #if !defined(OS_IOS) |
| 17 extern "C" { | 18 extern "C" { |
| 18 CFTypeID SecACLGetTypeID(); | 19 CFTypeID SecACLGetTypeID(); |
| 19 CFTypeID SecTrustedApplicationGetTypeID(); | 20 CFTypeID SecTrustedApplicationGetTypeID(); |
| 20 Boolean _CFIsObjC(CFTypeID typeID, CFTypeRef obj); | 21 Boolean _CFIsObjC(CFTypeID typeID, CFTypeRef obj); |
| 21 } // extern "C" | 22 } // extern "C" |
| 22 #endif | 23 #endif |
| 23 | 24 |
| (...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 423 return nil; | 424 return nil; |
| 424 return [NSString stringWithUTF8String:path.value().c_str()]; | 425 return [NSString stringWithUTF8String:path.value().c_str()]; |
| 425 } | 426 } |
| 426 | 427 |
| 427 FilePath NSStringToFilePath(NSString* str) { | 428 FilePath NSStringToFilePath(NSString* str) { |
| 428 if (![str length]) | 429 if (![str length]) |
| 429 return FilePath(); | 430 return FilePath(); |
| 430 return FilePath([str fileSystemRepresentation]); | 431 return FilePath([str fileSystemRepresentation]); |
| 431 } | 432 } |
| 432 | 433 |
| 434 bool CFRangeToNSRange(CFRange range, NSRange* range_out) { |
| 435 if (base::IsValueInRangeForNumericType<decltype(range_out->location)>( |
| 436 range.location) && |
| 437 base::IsValueInRangeForNumericType<decltype(range_out->length)>( |
| 438 range.length) && |
| 439 base::IsValueInRangeForNumericType<decltype(range_out->location)>( |
| 440 range.location + range.length)) { |
| 441 *range_out = NSMakeRange(range.location, range.length); |
| 442 return true; |
| 443 } |
| 444 return false; |
| 445 } |
| 446 |
| 433 } // namespace mac | 447 } // namespace mac |
| 434 } // namespace base | 448 } // namespace base |
| 435 | 449 |
| 436 std::ostream& operator<<(std::ostream& o, const CFStringRef string) { | 450 std::ostream& operator<<(std::ostream& o, const CFStringRef string) { |
| 437 return o << base::SysCFStringRefToUTF8(string); | 451 return o << base::SysCFStringRefToUTF8(string); |
| 438 } | 452 } |
| 439 | 453 |
| 440 std::ostream& operator<<(std::ostream& o, const CFErrorRef err) { | 454 std::ostream& operator<<(std::ostream& o, const CFErrorRef err) { |
| 441 base::ScopedCFTypeRef<CFStringRef> desc(CFErrorCopyDescription(err)); | 455 base::ScopedCFTypeRef<CFStringRef> desc(CFErrorCopyDescription(err)); |
| 442 base::ScopedCFTypeRef<CFDictionaryRef> user_info(CFErrorCopyUserInfo(err)); | 456 base::ScopedCFTypeRef<CFDictionaryRef> user_info(CFErrorCopyUserInfo(err)); |
| 443 CFStringRef errorDesc = NULL; | 457 CFStringRef errorDesc = NULL; |
| 444 if (user_info.get()) { | 458 if (user_info.get()) { |
| 445 errorDesc = reinterpret_cast<CFStringRef>( | 459 errorDesc = reinterpret_cast<CFStringRef>( |
| 446 CFDictionaryGetValue(user_info.get(), kCFErrorDescriptionKey)); | 460 CFDictionaryGetValue(user_info.get(), kCFErrorDescriptionKey)); |
| 447 } | 461 } |
| 448 o << "Code: " << CFErrorGetCode(err) | 462 o << "Code: " << CFErrorGetCode(err) |
| 449 << " Domain: " << CFErrorGetDomain(err) | 463 << " Domain: " << CFErrorGetDomain(err) |
| 450 << " Desc: " << desc.get(); | 464 << " Desc: " << desc.get(); |
| 451 if(errorDesc) { | 465 if(errorDesc) { |
| 452 o << "(" << errorDesc << ")"; | 466 o << "(" << errorDesc << ")"; |
| 453 } | 467 } |
| 454 return o; | 468 return o; |
| 455 } | 469 } |
| OLD | NEW |