| 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 "ui/gfx/color_profile.h" | 5 #include "ui/gfx/color_profile.h" |
| 6 | 6 |
| 7 #include "base/mac/mac_util.h" | 7 #include "base/mac/mac_util.h" |
| 8 | 8 |
| 9 namespace gfx { | 9 namespace gfx { |
| 10 | 10 |
| 11 void ReadColorProfile(std::vector<char>* profile) { | 11 void ReadColorProfile(std::vector<char>* profile) { |
| 12 CGColorSpaceRef monitor_color_space(base::mac::GetSystemColorSpace()); | 12 CGColorSpaceRef monitor_color_space(base::mac::GetSystemColorSpace()); |
| 13 CFDataRef icc_profile(CGColorSpaceCopyICCProfile(monitor_color_space)); | 13 base::mac::ScopedCFTypeRef<CFDataRef> icc_profile( |
| 14 CGColorSpaceCopyICCProfile(monitor_color_space)); |
| 14 if (icc_profile) { | 15 if (icc_profile) { |
| 15 size_t length = CFDataGetLength(icc_profile); | 16 size_t length = CFDataGetLength(icc_profile); |
| 16 if (length > gfx::kMaxProfileLength) | 17 if (length > gfx::kMaxProfileLength) |
| 17 return; | 18 return; |
| 18 if (length < gfx::kMinProfileLength) | 19 if (length < gfx::kMinProfileLength) |
| 19 return; | 20 return; |
| 20 const unsigned char* sys_profile = CFDataGetBytePtr(icc_profile); | 21 const unsigned char* sys_profile = CFDataGetBytePtr(icc_profile); |
| 21 profile->assign(sys_profile, sys_profile + length); | 22 profile->assign(sys_profile, sys_profile + length); |
| 22 } | 23 } |
| 23 } | 24 } |
| 24 | 25 |
| 25 } // namespace gfx | 26 } // namespace gfx |
| 26 | 27 |
| OLD | NEW |