blob: 2c7f686a5f478f1d31c4c115791af5147a6e4b85 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/gfx/color_profile.h"
#include "base/mac/mac_util.h"
namespace gfx {
void ReadColorProfile(std::vector<char>* profile) {
CGColorSpaceRef monitor_color_space(base::mac::GetSystemColorSpace());
base::ScopedCFTypeRef<CFDataRef> icc_profile(
CGColorSpaceCopyICCProfile(monitor_color_space));
if (icc_profile) {
size_t length = CFDataGetLength(icc_profile);
if (length > gfx::kMaxProfileLength)
return;
if (length < gfx::kMinProfileLength)
return;
const unsigned char* sys_profile = CFDataGetBytePtr(icc_profile);
profile->assign(sys_profile, sys_profile + length);
}
}
} // namespace gfx