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

Issue 1860523002: Do not set m_decodeFailed in ImageFrameGenerator::decodeToYUV (Closed)

Created:
4 years, 8 months ago by xidachen
Modified:
4 years, 8 months ago
Reviewers:
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@2661
Target Ref:
refs/pending/branch-heads/2661
Project:
chromium
Visibility:
Public.

Description

Do not set m_decodeFailed in ImageFrameGenerator::decodeToYUV This method sets m_decodeFailed bit to be true at the end on VUY decode failure, which can result a null SkImage in DeferredImageDecoder::createFrameAtIndex() when Ganesh is enabled and the image is Progressive JPEG. Ganesh falls back to displaying an RGBA decoded image on decode failure but the null SkImage was shown instead (see bug examples). When decodeToYUV() fails, do not set m_decodeFailed. Instead set m_yuvDecodingFailed to allow Ganesh fallback logic (that decodes the image to RGBA on the CPU) to render Progressive JPEG. Update getYUVComponentSizes() to early return if m_yuvDecodingFailed to deny subsequent Ganesh requests to YUV decode the image. BUG=597127 Review URL: https://codereview.chromium.org/1829923004 Cr-Commit-Position: refs/heads/master@{#383472} (cherry picked from commit 0e4b0bc92e29939d10ff76a3540b4c2b3b5549b6) Committed: https://chromium.googlesource.com/chromium/src/+/e367e01f30ded9fef9dac6a8574cc372e5b05e0f

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+6 lines, -1 line) Patch
M third_party/WebKit/Source/platform/graphics/ImageFrameGenerator.h View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/ImageFrameGenerator.cpp View 3 chunks +5 lines, -1 line 0 comments Download

Messages

Total messages: 2 (1 generated)
xidachen
4 years, 8 months ago (2016-04-04 14:23:46 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
e367e01f30ded9fef9dac6a8574cc372e5b05e0f.

Powered by Google App Engine
This is Rietveld 408576698