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

Side by Side Diff: third_party/WebKit/Source/core/frame/ImageBitmapTest.cpp

Issue 2595833003: Correct the behavior of createImageBitmap's "default" color space conversion (Closed)
Patch Set: Replacing SRGB with display color profile Created 4 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) 2013, Google Inc. All rights reserved. 2 * Copyright (c) 2013, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 SkImage* convertedImage = 290 SkImage* convertedImage =
291 imageBitmap->bitmapImage() 291 imageBitmap->bitmapImage()
292 ->imageForCurrentFrame(ColorBehavior::ignore()) 292 ->imageForCurrentFrame(ColorBehavior::ignore())
293 .get(); 293 .get();
294 294
295 switch (colorSpaceConversion) { 295 switch (colorSpaceConversion) {
296 case ColorSpaceConversion::NONE: 296 case ColorSpaceConversion::NONE:
297 NOTREACHED(); 297 NOTREACHED();
298 break; 298 break;
299 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED: 299 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED:
300 // TODO(zakerinasab): Replace sRGB with a call to 300 colorSpace = ColorBehavior::globalTargetColorSpace();
301 // ImageDecoder::globalTargetColorSpace() when the crash problem on Mac
302 // is fixed. crbug.com/668546.
303 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named);
304 colorFormat = colorFormat32; 301 colorFormat = colorFormat32;
305 break; 302 break;
306 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED: 303 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED:
307 case ColorSpaceConversion::SRGB: 304 case ColorSpaceConversion::SRGB:
308 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named); 305 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named);
309 colorFormat = colorFormat32; 306 colorFormat = colorFormat32;
310 break; 307 break;
311 case ColorSpaceConversion::LINEAR_RGB: 308 case ColorSpaceConversion::LINEAR_RGB:
312 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named); 309 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named);
313 colorType = SkColorType::kRGBA_F16_SkColorType; 310 colorType = SkColorType::kRGBA_F16_SkColorType;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 SkImage* convertedImage = 390 SkImage* convertedImage =
394 imageBitmap->bitmapImage() 391 imageBitmap->bitmapImage()
395 ->imageForCurrentFrame(ColorBehavior::ignore()) 392 ->imageForCurrentFrame(ColorBehavior::ignore())
396 .get(); 393 .get();
397 394
398 switch (colorSpaceConversion) { 395 switch (colorSpaceConversion) {
399 case ColorSpaceConversion::NONE: 396 case ColorSpaceConversion::NONE:
400 NOTREACHED(); 397 NOTREACHED();
401 break; 398 break;
402 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED: 399 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED:
403 // TODO(zakerinasab): Replace sRGB with a call to 400 colorSpace = ColorBehavior::globalTargetColorSpace();
404 // ImageDecoder::globalTargetColorSpace() when the crash problem on Mac
405 // is fixed. crbug.com/668546.
406 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named);
407 colorFormat = colorFormat32; 401 colorFormat = colorFormat32;
408 break; 402 break;
409 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED: 403 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED:
410 case ColorSpaceConversion::SRGB: 404 case ColorSpaceConversion::SRGB:
411 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named); 405 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named);
412 colorFormat = colorFormat32; 406 colorFormat = colorFormat32;
413 break; 407 break;
414 case ColorSpaceConversion::LINEAR_RGB: 408 case ColorSpaceConversion::LINEAR_RGB:
415 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named); 409 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named);
416 colorType = SkColorType::kRGBA_F16_SkColorType; 410 colorType = SkColorType::kRGBA_F16_SkColorType;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 SkImage* convertedImage = 481 SkImage* convertedImage =
488 imageBitmap->bitmapImage() 482 imageBitmap->bitmapImage()
489 ->imageForCurrentFrame(ColorBehavior::ignore()) 483 ->imageForCurrentFrame(ColorBehavior::ignore())
490 .get(); 484 .get();
491 485
492 switch (colorSpaceConversion) { 486 switch (colorSpaceConversion) {
493 case ColorSpaceConversion::NONE: 487 case ColorSpaceConversion::NONE:
494 NOTREACHED(); 488 NOTREACHED();
495 break; 489 break;
496 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED: 490 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED:
497 // TODO(zakerinasab): Replace sRGB with a call to 491 colorSpace = ColorBehavior::globalTargetColorSpace();
498 // ImageDecoder::globalTargetColorSpace() when the crash problem on Mac
499 // is fixed. crbug.com/668546.
500 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named);
501 colorFormat = colorFormat32; 492 colorFormat = colorFormat32;
502 break; 493 break;
503 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED: 494 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED:
504 case ColorSpaceConversion::SRGB: 495 case ColorSpaceConversion::SRGB:
505 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named); 496 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named);
506 colorFormat = colorFormat32; 497 colorFormat = colorFormat32;
507 break; 498 break;
508 case ColorSpaceConversion::LINEAR_RGB: 499 case ColorSpaceConversion::LINEAR_RGB:
509 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named); 500 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named);
510 colorType = SkColorType::kRGBA_F16_SkColorType; 501 colorType = SkColorType::kRGBA_F16_SkColorType;
(...skipping 20 matching lines...) Expand all
531 colorSpaceXform->apply(colorFormat, transformedPixel.get(), colorFormat32, 522 colorSpaceXform->apply(colorFormat, transformedPixel.get(), colorFormat32,
532 srcPixel.get(), 1, SkAlphaType::kPremul_SkAlphaType); 523 srcPixel.get(), 1, SkAlphaType::kPremul_SkAlphaType);
533 524
534 int compare = std::memcmp(convertedPixel.get(), transformedPixel.get(), 525 int compare = std::memcmp(convertedPixel.get(), transformedPixel.get(),
535 imageInfo.bytesPerPixel()); 526 imageInfo.bytesPerPixel());
536 ASSERT_EQ(compare, 0); 527 ASSERT_EQ(compare, 0);
537 } 528 }
538 } 529 }
539 530
540 } // namespace blink 531 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698