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 |