New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 860520 link

Starred by 0 users

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Oct 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocking:
issue 874127



Sign in to add a comment

Improve PNGImageDecoder legacy blending

Project Member Reported by zakerinasab@chromium.org, Jul 5

Issue description

When https://chromium-review.googlesource.com/c/chromium/src/+/1079788 is landed, revise the legacy blending code to use Skia API instead of scanning the pixels one by one.

 
Labels: -Type-Bug Type-Feature
Cc: brianosman@chromium.org mtklein@chromium.org
This change results in losing the alpha discovery, which means we won't be able to notify Skia if the decoded bitmap is opaque or transparent. Not sure how important this is. Adding brianosman@ and mtklein@ to answer this question.
Our thinking is, most of the opacity information we need will come from the headers / image format, so it's probably fine to just drop this part of the code.

If we find it turns out to be important, I'd be happy to write up a second pass that does per-pixel alpha checks.
Blink relies on opacity checking for optimizing painting when we know things are obscured (and cc does similar things). Having said that, for decoded images we never get it right anyway because we do not update the opacity status after decoding.

So I think this will not result in a change in behavior.
Blocking: 874127
Status: WontFix (was: Assigned)
Won't fix. According to the discussion with reed@, mtklein@, and brianosman@, the better thing to do is to retry replacing the current Chromium decoders with SkCodec decoders.

Sign in to add a comment