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

Issue 750064 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

Improve support for animated images in UI

Project Member Reported by reve...@chromium.org, Jul 28 2017

Issue description

Blink has good support for animated images but UI code in Chrome is limited. We can workaround some of these limitations by using WebUI and avoiding decode on the browser process side.

APNG decode support in the browser would not just be useful for animated images in browser UI code but also allow us to improve URL handlers used by WebUI. E.g. chrome://theme can returned scaled animated images.
 
Cc: jdufault@chromium.org
Status: Available (was: Assigned)
Cc: -jdufault@chromium.org reve...@chromium.org
Labels: -Pri-3 M-63 Pri-1
Owner: jdufault@chromium.org
Status: Assigned (was: Available)
I'm working on figuring out the best way to do this. Needed for views-based lock screen.
Cc: r...@chromium.org
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7dbdfb955a455cc94061b51c78cb31f9750c6325

commit 7dbdfb955a455cc94061b51c78cb31f9750c6325
Author: Jacob Dufault <jdufault@google.com>
Date: Thu Oct 05 16:53:13 2017

cros: Show animated avatars in views-based lock.

This adds support for parsing APNG images by hooking into the
data_decoder service. webkit::WebImage API is extended to support
fetching the relevant animation data from blink's PNG decoder.

Bug: 750064,  719015 
Change-Id: I7fb38643dce5d6e16eaaee2b6f74253ba70af20a
Reviewed-on: https://chromium-review.googlesource.com/679459
Commit-Queue: Jacob Dufault <jdufault@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506768}
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/ash/BUILD.gn
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/ash/login/DEPS
[add] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/ash/login/ui/animated_rounded_image_view.cc
[add] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/ash/login/ui/animated_rounded_image_view.h
[add] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/ash/login/ui/animation_frame.h
[add] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/ash/login/ui/image_parser.cc
[add] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/ash/login/ui/image_parser.h
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/ash/login/ui/login_user_view.cc
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/ash/public/interfaces/user_info.mojom
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/chrome/browser/chromeos/login/screens/user_selection_screen.cc
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/services/data_decoder/image_decoder_impl.cc
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/services/data_decoder/image_decoder_impl.h
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/services/data_decoder/public/cpp/decode_image.cc
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/services/data_decoder/public/cpp/decode_image.h
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/services/data_decoder/public/interfaces/BUILD.gn
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/services/data_decoder/public/interfaces/image_decoder.mojom
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/third_party/WebKit/Source/platform/exported/WebImage.cpp
[modify] https://crrev.com/7dbdfb955a455cc94061b51c78cb31f9750c6325/third_party/WebKit/public/platform/WebImage.h

Sign in to add a comment