Commit ea2e8765 authored by Sasha McIntosh's avatar Sasha McIntosh Committed by Commit Bot

blink: Allow JPEG YUV decoding (flag protected).

Features with "test" status are enabled in content shell web tests by default.
This change makes the JPEG YUV decoding feature a "test" feature and updates
associated tests.

Bug: 919627
Change-Id: Id09d8592a74b06320be684014adca1f333ee6781
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1798523
Commit-Queue: Sasha McIntosh <sashamcintosh@chromium.org>
Reviewed-by: default avatarLeon Scroggins <scroggo@chromium.org>
Reviewed-by: default avatarStephen Chenney <schenney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#727271}
parent 7d1251ee
...@@ -49,10 +49,13 @@ static const size_t kLargeEnoughSize = 1000 * 1000; ...@@ -49,10 +49,13 @@ static const size_t kLargeEnoughSize = 1000 * 1000;
namespace { namespace {
std::unique_ptr<JPEGImageDecoder> CreateJPEGDecoder(size_t max_decoded_bytes) { std::unique_ptr<JPEGImageDecoder> CreateJPEGDecoder(
size_t max_decoded_bytes,
ImageDecoder::OverrideAllowDecodeToYuv decodeToYUV =
ImageDecoder::OverrideAllowDecodeToYuv::kDeny) {
return std::make_unique<JPEGImageDecoder>( return std::make_unique<JPEGImageDecoder>(
ImageDecoder::kAlphaNotPremultiplied, ColorBehavior::TransformToSRGB(), ImageDecoder::kAlphaNotPremultiplied, ColorBehavior::TransformToSRGB(),
max_decoded_bytes, ImageDecoder::OverrideAllowDecodeToYuv::kDefault); max_decoded_bytes, decodeToYUV);
} }
std::unique_ptr<ImageDecoder> CreateJPEGDecoder() { std::unique_ptr<ImageDecoder> CreateJPEGDecoder() {
...@@ -87,8 +90,8 @@ void ReadYUV(size_t max_decoded_bytes, ...@@ -87,8 +90,8 @@ void ReadYUV(size_t max_decoded_bytes,
scoped_refptr<SharedBuffer> data = ReadFile(image_file_path); scoped_refptr<SharedBuffer> data = ReadFile(image_file_path);
ASSERT_TRUE(data); ASSERT_TRUE(data);
std::unique_ptr<JPEGImageDecoder> decoder = std::unique_ptr<JPEGImageDecoder> decoder = CreateJPEGDecoder(
CreateJPEGDecoder(max_decoded_bytes); max_decoded_bytes, ImageDecoder::OverrideAllowDecodeToYuv::kDefault);
decoder->SetDecodeToYuvForTesting(true); decoder->SetDecodeToYuvForTesting(true);
decoder->SetData(data.get(), true); decoder->SetData(data.get(), true);
...@@ -274,7 +277,8 @@ TEST(JPEGImageDecoderTest, yuv) { ...@@ -274,7 +277,8 @@ TEST(JPEGImageDecoderTest, yuv) {
scoped_refptr<SharedBuffer> data = ReadFile(jpeg_file); scoped_refptr<SharedBuffer> data = ReadFile(jpeg_file);
ASSERT_TRUE(data); ASSERT_TRUE(data);
std::unique_ptr<JPEGImageDecoder> decoder = CreateJPEGDecoder(230 * 230 * 4); std::unique_ptr<JPEGImageDecoder> decoder = CreateJPEGDecoder(
230 * 230 * 4, ImageDecoder::OverrideAllowDecodeToYuv::kDefault);
decoder->SetDecodeToYuvForTesting(true); decoder->SetDecodeToYuvForTesting(true);
decoder->SetData(data.get(), true); decoder->SetData(data.get(), true);
......
...@@ -570,6 +570,7 @@ ...@@ -570,6 +570,7 @@
}, },
{ {
name: "DecodeJpeg420ImagesToYUV", name: "DecodeJpeg420ImagesToYUV",
status: "test",
}, },
{ {
name: "DecodeLossyWebPImagesToYUV", name: "DecodeLossyWebPImagesToYUV",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment