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

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

Issue 2679323005: Update callsites to new SkColorSpace API, delete legacy flag (Closed)
Patch Set: Formatting Created 3 years, 10 months 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 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 237
238 return options; 238 return options;
239 } 239 }
240 240
241 TEST_F(ImageBitmapTest, ImageBitmapColorSpaceConversionHTMLImageElement) { 241 TEST_F(ImageBitmapTest, ImageBitmapColorSpaceConversionHTMLImageElement) {
242 HTMLImageElement* imageElement = 242 HTMLImageElement* imageElement =
243 HTMLImageElement::create(*Document::create()); 243 HTMLImageElement::create(*Document::create());
244 244
245 SkPaint p; 245 SkPaint p;
246 p.setColor(SK_ColorRED); 246 p.setColor(SK_ColorRED);
247 sk_sp<SkColorSpace> srcRGBColorSpace = 247 sk_sp<SkColorSpace> srcRGBColorSpace = SkColorSpace::MakeSRGB();
248 SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named);
249 248
250 SkImageInfo rasterImageInfo = 249 SkImageInfo rasterImageInfo =
251 SkImageInfo::MakeN32Premul(10, 10, srcRGBColorSpace); 250 SkImageInfo::MakeN32Premul(10, 10, srcRGBColorSpace);
252 sk_sp<SkSurface> surface(SkSurface::MakeRaster(rasterImageInfo)); 251 sk_sp<SkSurface> surface(SkSurface::MakeRaster(rasterImageInfo));
253 surface->getCanvas()->drawCircle(5, 5, 5, p); 252 surface->getCanvas()->drawCircle(5, 5, 5, p);
254 sk_sp<SkImage> image = surface->makeImageSnapshot(); 253 sk_sp<SkImage> image = surface->makeImageSnapshot();
255 254
256 std::unique_ptr<uint8_t[]> srcPixel( 255 std::unique_ptr<uint8_t[]> srcPixel(
257 new uint8_t[rasterImageInfo.bytesPerPixel()]()); 256 new uint8_t[rasterImageInfo.bytesPerPixel()]());
258 image->readPixels(rasterImageInfo.makeWH(1, 1), srcPixel.get(), 257 image->readPixels(rasterImageInfo.makeWH(1, 1), srcPixel.get(),
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 switch (colorSpaceConversion) { 298 switch (colorSpaceConversion) {
300 case ColorSpaceConversion::NONE: 299 case ColorSpaceConversion::NONE:
301 NOTREACHED(); 300 NOTREACHED();
302 break; 301 break;
303 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED: 302 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED:
304 colorSpace = ColorBehavior::globalTargetColorSpace().ToSkColorSpace(); 303 colorSpace = ColorBehavior::globalTargetColorSpace().ToSkColorSpace();
305 colorFormat = colorFormat32; 304 colorFormat = colorFormat32;
306 break; 305 break;
307 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED: 306 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED:
308 case ColorSpaceConversion::SRGB: 307 case ColorSpaceConversion::SRGB:
309 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named); 308 colorSpace = SkColorSpace::MakeSRGB();
310 colorFormat = colorFormat32; 309 colorFormat = colorFormat32;
311 break; 310 break;
312 case ColorSpaceConversion::LINEAR_RGB: 311 case ColorSpaceConversion::LINEAR_RGB:
313 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named); 312 colorSpace = SkColorSpace::MakeSRGBLinear();
314 colorType = SkColorType::kRGBA_F16_SkColorType; 313 colorType = SkColorType::kRGBA_F16_SkColorType;
315 colorFormat = SkColorSpaceXform::ColorFormat::kRGBA_F16_ColorFormat; 314 colorFormat = SkColorSpaceXform::ColorFormat::kRGBA_F16_ColorFormat;
316 break; 315 break;
317 default: 316 default:
318 NOTREACHED(); 317 NOTREACHED();
319 } 318 }
320 319
321 SkImageInfo imageInfo = SkImageInfo::Make( 320 SkImageInfo imageInfo = SkImageInfo::Make(
322 1, 1, colorType, SkAlphaType::kPremul_SkAlphaType, colorSpace); 321 1, 1, colorType, SkAlphaType::kPremul_SkAlphaType, colorSpace);
323 std::unique_ptr<uint8_t[]> convertedPixel( 322 std::unique_ptr<uint8_t[]> convertedPixel(
(...skipping 16 matching lines...) Expand all
340 ASSERT_EQ(compare, 0); 339 ASSERT_EQ(compare, 0);
341 } 340 }
342 } 341 }
343 342
344 TEST_F(ImageBitmapTest, ImageBitmapColorSpaceConversionImageBitmap) { 343 TEST_F(ImageBitmapTest, ImageBitmapColorSpaceConversionImageBitmap) {
345 HTMLImageElement* imageElement = 344 HTMLImageElement* imageElement =
346 HTMLImageElement::create(*Document::create()); 345 HTMLImageElement::create(*Document::create());
347 346
348 SkPaint p; 347 SkPaint p;
349 p.setColor(SK_ColorRED); 348 p.setColor(SK_ColorRED);
350 sk_sp<SkColorSpace> srcRGBColorSpace = 349 sk_sp<SkColorSpace> srcRGBColorSpace = SkColorSpace::MakeSRGB();
351 SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named);
352 350
353 SkImageInfo rasterImageInfo = 351 SkImageInfo rasterImageInfo =
354 SkImageInfo::MakeN32Premul(10, 10, srcRGBColorSpace); 352 SkImageInfo::MakeN32Premul(10, 10, srcRGBColorSpace);
355 sk_sp<SkSurface> surface(SkSurface::MakeRaster(rasterImageInfo)); 353 sk_sp<SkSurface> surface(SkSurface::MakeRaster(rasterImageInfo));
356 surface->getCanvas()->drawCircle(5, 5, 5, p); 354 surface->getCanvas()->drawCircle(5, 5, 5, p);
357 sk_sp<SkImage> image = surface->makeImageSnapshot(); 355 sk_sp<SkImage> image = surface->makeImageSnapshot();
358 356
359 std::unique_ptr<uint8_t[]> srcPixel( 357 std::unique_ptr<uint8_t[]> srcPixel(
360 new uint8_t[rasterImageInfo.bytesPerPixel()]()); 358 new uint8_t[rasterImageInfo.bytesPerPixel()]());
361 image->readPixels(rasterImageInfo.makeWH(1, 1), srcPixel.get(), 359 image->readPixels(rasterImageInfo.makeWH(1, 1), srcPixel.get(),
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 switch (colorSpaceConversion) { 397 switch (colorSpaceConversion) {
400 case ColorSpaceConversion::NONE: 398 case ColorSpaceConversion::NONE:
401 NOTREACHED(); 399 NOTREACHED();
402 break; 400 break;
403 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED: 401 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED:
404 colorSpace = ColorBehavior::globalTargetColorSpace().ToSkColorSpace(); 402 colorSpace = ColorBehavior::globalTargetColorSpace().ToSkColorSpace();
405 colorFormat = colorFormat32; 403 colorFormat = colorFormat32;
406 break; 404 break;
407 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED: 405 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED:
408 case ColorSpaceConversion::SRGB: 406 case ColorSpaceConversion::SRGB:
409 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named); 407 colorSpace = SkColorSpace::MakeSRGB();
410 colorFormat = colorFormat32; 408 colorFormat = colorFormat32;
411 break; 409 break;
412 case ColorSpaceConversion::LINEAR_RGB: 410 case ColorSpaceConversion::LINEAR_RGB:
413 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named); 411 colorSpace = SkColorSpace::MakeSRGBLinear();
414 colorType = SkColorType::kRGBA_F16_SkColorType; 412 colorType = SkColorType::kRGBA_F16_SkColorType;
415 colorFormat = SkColorSpaceXform::ColorFormat::kRGBA_F16_ColorFormat; 413 colorFormat = SkColorSpaceXform::ColorFormat::kRGBA_F16_ColorFormat;
416 break; 414 break;
417 default: 415 default:
418 NOTREACHED(); 416 NOTREACHED();
419 } 417 }
420 418
421 SkImageInfo imageInfo = SkImageInfo::Make( 419 SkImageInfo imageInfo = SkImageInfo::Make(
422 1, 1, colorType, SkAlphaType::kPremul_SkAlphaType, colorSpace); 420 1, 1, colorType, SkAlphaType::kPremul_SkAlphaType, colorSpace);
423 std::unique_ptr<uint8_t[]> convertedPixel( 421 std::unique_ptr<uint8_t[]> convertedPixel(
(...skipping 13 matching lines...) Expand all
437 435
438 int compare = std::memcmp(convertedPixel.get(), transformedPixel.get(), 436 int compare = std::memcmp(convertedPixel.get(), transformedPixel.get(),
439 imageInfo.bytesPerPixel()); 437 imageInfo.bytesPerPixel());
440 ASSERT_EQ(compare, 0); 438 ASSERT_EQ(compare, 0);
441 } 439 }
442 } 440 }
443 441
444 TEST_F(ImageBitmapTest, ImageBitmapColorSpaceConversionStaticBitmapImage) { 442 TEST_F(ImageBitmapTest, ImageBitmapColorSpaceConversionStaticBitmapImage) {
445 SkPaint p; 443 SkPaint p;
446 p.setColor(SK_ColorRED); 444 p.setColor(SK_ColorRED);
447 sk_sp<SkColorSpace> srcRGBColorSpace = 445 sk_sp<SkColorSpace> srcRGBColorSpace = SkColorSpace::MakeSRGB();
448 SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named);
449 446
450 SkImageInfo rasterImageInfo = 447 SkImageInfo rasterImageInfo =
451 SkImageInfo::MakeN32Premul(10, 10, srcRGBColorSpace); 448 SkImageInfo::MakeN32Premul(10, 10, srcRGBColorSpace);
452 sk_sp<SkSurface> surface(SkSurface::MakeRaster(rasterImageInfo)); 449 sk_sp<SkSurface> surface(SkSurface::MakeRaster(rasterImageInfo));
453 surface->getCanvas()->drawCircle(5, 5, 5, p); 450 surface->getCanvas()->drawCircle(5, 5, 5, p);
454 sk_sp<SkImage> image = surface->makeImageSnapshot(); 451 sk_sp<SkImage> image = surface->makeImageSnapshot();
455 452
456 std::unique_ptr<uint8_t[]> srcPixel( 453 std::unique_ptr<uint8_t[]> srcPixel(
457 new uint8_t[rasterImageInfo.bytesPerPixel()]()); 454 new uint8_t[rasterImageInfo.bytesPerPixel()]());
458 image->readPixels(rasterImageInfo.makeWH(1, 1), srcPixel.get(), 455 image->readPixels(rasterImageInfo.makeWH(1, 1), srcPixel.get(),
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 switch (colorSpaceConversion) { 487 switch (colorSpaceConversion) {
491 case ColorSpaceConversion::NONE: 488 case ColorSpaceConversion::NONE:
492 NOTREACHED(); 489 NOTREACHED();
493 break; 490 break;
494 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED: 491 case ColorSpaceConversion::DEFAULT_NOT_COLOR_CORRECTED:
495 colorSpace = ColorBehavior::globalTargetColorSpace().ToSkColorSpace(); 492 colorSpace = ColorBehavior::globalTargetColorSpace().ToSkColorSpace();
496 colorFormat = colorFormat32; 493 colorFormat = colorFormat32;
497 break; 494 break;
498 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED: 495 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED:
499 case ColorSpaceConversion::SRGB: 496 case ColorSpaceConversion::SRGB:
500 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named); 497 colorSpace = SkColorSpace::MakeSRGB();
501 colorFormat = colorFormat32; 498 colorFormat = colorFormat32;
502 break; 499 break;
503 case ColorSpaceConversion::LINEAR_RGB: 500 case ColorSpaceConversion::LINEAR_RGB:
504 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named); 501 colorSpace = SkColorSpace::MakeSRGBLinear();
505 colorType = SkColorType::kRGBA_F16_SkColorType; 502 colorType = SkColorType::kRGBA_F16_SkColorType;
506 colorFormat = SkColorSpaceXform::ColorFormat::kRGBA_F16_ColorFormat; 503 colorFormat = SkColorSpaceXform::ColorFormat::kRGBA_F16_ColorFormat;
507 break; 504 break;
508 default: 505 default:
509 NOTREACHED(); 506 NOTREACHED();
510 } 507 }
511 508
512 SkImageInfo imageInfo = SkImageInfo::Make( 509 SkImageInfo imageInfo = SkImageInfo::Make(
513 1, 1, colorType, SkAlphaType::kPremul_SkAlphaType, colorSpace); 510 1, 1, colorType, SkAlphaType::kPremul_SkAlphaType, colorSpace);
514 std::unique_ptr<uint8_t[]> convertedPixel( 511 std::unique_ptr<uint8_t[]> convertedPixel(
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 imageBitmap->bitmapImage() 564 imageBitmap->bitmapImage()
568 ->imageForCurrentFrame(ColorBehavior::ignore()) 565 ->imageForCurrentFrame(ColorBehavior::ignore())
569 .get(); 566 .get();
570 567
571 switch (colorSpaceConversion) { 568 switch (colorSpaceConversion) {
572 case ColorSpaceConversion::NONE: 569 case ColorSpaceConversion::NONE:
573 NOTREACHED(); 570 NOTREACHED();
574 break; 571 break;
575 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED: 572 case ColorSpaceConversion::DEFAULT_COLOR_CORRECTED:
576 case ColorSpaceConversion::SRGB: 573 case ColorSpaceConversion::SRGB:
577 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named); 574 colorSpace = SkColorSpace::MakeSRGB();
578 colorFormat = colorFormat32; 575 colorFormat = colorFormat32;
579 break; 576 break;
580 case ColorSpaceConversion::LINEAR_RGB: 577 case ColorSpaceConversion::LINEAR_RGB:
581 colorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named); 578 colorSpace = SkColorSpace::MakeSRGBLinear();
582 colorType = SkColorType::kRGBA_F16_SkColorType; 579 colorType = SkColorType::kRGBA_F16_SkColorType;
583 colorFormat = SkColorSpaceXform::ColorFormat::kRGBA_F16_ColorFormat; 580 colorFormat = SkColorSpaceXform::ColorFormat::kRGBA_F16_ColorFormat;
584 break; 581 break;
585 default: 582 default:
586 NOTREACHED(); 583 NOTREACHED();
587 } 584 }
588 585
589 SkImageInfo imageInfo = SkImageInfo::Make( 586 SkImageInfo imageInfo = SkImageInfo::Make(
590 1, 1, colorType, SkAlphaType::kUnpremul_SkAlphaType, colorSpace); 587 1, 1, colorType, SkAlphaType::kUnpremul_SkAlphaType, colorSpace);
591 std::unique_ptr<uint8_t[]> convertedPixel( 588 std::unique_ptr<uint8_t[]> convertedPixel(
(...skipping 11 matching lines...) Expand all
603 colorSpaceXform->apply(colorFormat, transformedPixel.get(), colorFormat32, 600 colorSpaceXform->apply(colorFormat, transformedPixel.get(), colorFormat32,
604 srcPixel.get(), 1, 601 srcPixel.get(), 1,
605 SkAlphaType::kUnpremul_SkAlphaType); 602 SkAlphaType::kUnpremul_SkAlphaType);
606 int compare = std::memcmp(convertedPixel.get(), transformedPixel.get(), 603 int compare = std::memcmp(convertedPixel.get(), transformedPixel.get(),
607 imageInfo.bytesPerPixel()); 604 imageInfo.bytesPerPixel());
608 ASSERT_EQ(compare, 0); 605 ASSERT_EQ(compare, 0);
609 } 606 }
610 } 607 }
611 608
612 } // namespace blink 609 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/ImageBitmap.cpp ('k') | third_party/WebKit/Source/core/html/ImageData.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698