Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(244)

Side by Side Diff: third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp

Issue 1523243002: [qcms] Apply qcms color matching api to Blink images (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update TestExpectations: account for crbug.com/569600 Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006 Apple Computer, Inc. 2 * Copyright (C) 2006 Apple Computer, Inc.
3 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. 3 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved.
4 * 4 *
5 * Portions are Copyright (C) 2001 mozilla.org 5 * Portions are Copyright (C) 2001 mozilla.org
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Stuart Parmenter <stuart@mozilla.com> 8 * Stuart Parmenter <stuart@mozilla.com>
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 qcms_profile* deviceProfile = ImageDecoder::qcmsOutputDeviceProfile(); 167 qcms_profile* deviceProfile = ImageDecoder::qcmsOutputDeviceProfile();
168 if (!deviceProfile) 168 if (!deviceProfile)
169 return; 169 return;
170 qcms_profile* inputProfile = 0; 170 qcms_profile* inputProfile = 0;
171 if (!colorProfile.isEmpty()) 171 if (!colorProfile.isEmpty())
172 inputProfile = qcms_profile_from_memory(colorProfile.data(), colorPr ofile.size()); 172 inputProfile = qcms_profile_from_memory(colorProfile.data(), colorPr ofile.size());
173 else 173 else
174 inputProfile = qcms_profile_sRGB(); 174 inputProfile = qcms_profile_sRGB();
175 if (!inputProfile) 175 if (!inputProfile)
176 return; 176 return;
177
177 // We currently only support color profiles for RGB and RGBA images. 178 // We currently only support color profiles for RGB and RGBA images.
178 ASSERT(rgbData == qcms_profile_get_color_space(inputProfile)); 179 ASSERT(rgbData == qcms_profile_get_color_space(inputProfile));
180
181 if (qcms_profile_match(inputProfile, deviceProfile)) {
182 qcms_profile_release(inputProfile);
183 return;
184 }
185
186 // FIXME: Don't force perceptual intent if the image profile contains an intent.
179 qcms_data_type dataFormat = hasAlpha ? QCMS_DATA_RGBA_8 : QCMS_DATA_RGB_ 8; 187 qcms_data_type dataFormat = hasAlpha ? QCMS_DATA_RGBA_8 : QCMS_DATA_RGB_ 8;
180 // FIXME: Don't force perceptual intent if the image profile contains an intent.
181 m_transform = qcms_transform_create(inputProfile, dataFormat, deviceProf ile, dataFormat, QCMS_INTENT_PERCEPTUAL); 188 m_transform = qcms_transform_create(inputProfile, dataFormat, deviceProf ile, dataFormat, QCMS_INTENT_PERCEPTUAL);
189
182 qcms_profile_release(inputProfile); 190 qcms_profile_release(inputProfile);
183 } 191 }
184 #endif 192 #endif
185 193
186 private: 194 private:
187 png_structp m_png; 195 png_structp m_png;
188 png_infop m_info; 196 png_infop m_info;
189 PNGImageDecoder* m_decoder; 197 PNGImageDecoder* m_decoder;
190 unsigned m_readOffset; 198 unsigned m_readOffset;
191 unsigned m_currentBufferSize; 199 unsigned m_currentBufferSize;
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 // has failed. 504 // has failed.
497 if (!m_reader->decode(*m_data, onlySize) && isAllDataReceived()) 505 if (!m_reader->decode(*m_data, onlySize) && isAllDataReceived())
498 setFailed(); 506 setFailed();
499 507
500 // If decoding is done or failed, we don't need the PNGImageReader anymore. 508 // If decoding is done or failed, we don't need the PNGImageReader anymore.
501 if (isComplete(this) || failed()) 509 if (isComplete(this) || failed())
502 m_reader.clear(); 510 m_reader.clear();
503 } 511 }
504 512
505 } // namespace blink 513 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698