Issue metadata
Sign in to add a comment
|
Gif blurs itself under very specific conditions (specific size + border-radius)
Reported by
tarvorei...@gmail.com,
Nov 1 2016
|
||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 Steps to reproduce the problem: Look at this gist: https://gist.run/?id=52303e64f006fcdd111e77f2c7422d13 What is the expected behavior? Gif should display correctly. What went wrong? Gif is blurred (you can see that it is animating, but each frame is one solid colour based on the average colour on the frame). Did this work before? Yes Does this work in other browsers? Yes Chrome version: 54.0.2840.71 Channel: stable OS Version: 10.0 Flash Version: Shockwave Flash 23.0 r0 It probably worked before.
,
Nov 1 2016
Removing background-size: cover; makes it work as intended.
,
Nov 1 2016
Reproduced using Chrome 54 on Windows 7.
,
Nov 1 2016
,
Nov 1 2016
"As intended" is a bad choice of words. I have intended it to be the size of the div. If you change the background-size property from 'cover' to the actual size, which is '50px', it will also break.
,
Nov 1 2016
As intended means it is not blurred. Sorry.
,
Nov 1 2016
<img src="https://media-dev.pairby.com/q/v/V/qvVAFoVW7SmAqHNIhMQ9fgl4nLnEU16I/s.gif" width=50 height=50 style="border-radius: 50px;"> Also works, so this is specific to background images.
,
Nov 1 2016
No problem. Also to add: reproducable on the latest canary release (56, means it's not fixed yet).
,
Nov 2 2016
,
Nov 2 2016
Tested on Windows 10 using chrome stable M54 # 54.0.2840.87 and observed similar behavior in chrome and firefox. Attached screencast for reference. Could you please provide us a sample test case or file, so that it would be helpful for us to triage the bug much better. Thanks !
,
Nov 2 2016
I have provided a sample test case - look at the original post.
,
Nov 2 2016
#10 - I am not sure what sample.html has (the image also looks much, much bigger than the 50 pixels x 50 pixels the report specifies), but this reproduces the issue - data:text/html,<div style="background-image: url(https://media-dev.pairby.com/q/v/V/qvVAFoVW7SmAqHNIhMQ9fgl4nLnEU16I/s.gif); background-size: cover; height: 50px; width: 50px; border-radius: 50px;">
,
Nov 2 2016
Included test-case for local usage. Contains the gif in question and a basic HTML file, which also shows that 49px x 49px and 51px x 51px work as expected.
,
Nov 2 2016
Able to reproduce with the example in original post, on linux desktop with stable Version 54.0.2840.90 (64-bit). It seems it does not reproduce on high-dpi screens though.
,
Nov 2 2016
Only repros with software rasterization. Possibly related to https://codereview.chromium.org/1949253004, I'll take a look.
,
Nov 2 2016
,
Nov 3 2016
The bug is indeed triggered by https://codereview.chromium.org/1949253004 (drawing rrect background images with shaders), but the problem seems to be in Skia's downscaling code: when in non-clamp mode, and the size matches a mip level exactly, we seem to set up the filter with an incorrect transform.
,
Nov 3 2016
The following revision refers to this bug: https://skia.googlesource.com/skia.git/+/b1c7f88df9ec40b4efb52d314304adfbaf95697c commit b1c7f88df9ec40b4efb52d314304adfbaf95697c Author: fmalita <fmalita@chromium.org> Date: Thu Nov 03 18:42:49 2016 Fix kMediumQuality invMatrix setup for sizes == mip levels When downscaling with kMediumQuality in non-clamp mode, if we happen to hit a size == mip level, then SkBitmapProcInfo::init takes the trivial matrix path and doesn't set up a matrix for normalized coords on the assumption that we're going to ignore the transform. But kMediumQuality disables allow_ignore_fractional_translate, so we take the filter path after all - but with an incorrect matrix. R=reed@google.com BUG= chromium:661180 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2476713002 Review-Url: https://codereview.chromium.org/2476713002 [modify] https://crrev.com/b1c7f88df9ec40b4efb52d314304adfbaf95697c/gm/bmpfilterqualityrepeat.cpp [modify] https://crrev.com/b1c7f88df9ec40b4efb52d314304adfbaf95697c/src/core/SkBitmapProcState.cpp
,
Nov 4 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/db4fdf181e7064a8c7ab45aa29e19f3d07c56eb7 commit db4fdf181e7064a8c7ab45aa29e19f3d07c56eb7 Author: skia-deps-roller <skia-deps-roller@chromium.org> Date: Fri Nov 04 15:32:43 2016 Roll src/third_party/skia/ a964a2914..544da7a7c (30 commits). https://chromium.googlesource.com/skia.git/+log/a964a2914130..544da7a7c399 $ git log a964a2914..544da7a7c --date=short --no-merges --format='%ad %ae %s' 2016-11-03 fmalita Avoid matrix inverse in SkBitmapProcInfo::init for translate-only cases 2016-11-03 halcanary tools: s/SkAutoTUnref/sk_sp/ 2016-11-03 msarett Add F16, SkColorSpaceXform support to SkBmpCodec 2016-11-03 mtklein more const SkOSMenus. 2016-11-03 bungeman Remove SkAutoUnref. 2016-11-03 reed remove unused code around SK_SUPPORT_LEGACY_XFERMODE_PARAM 2016-11-03 bsalomon Make more tests exercise rendertargetless textures. 2016-11-03 bungeman Fix iOS and Angle builds. 2016-11-03 mtklein GN: iOS basics 2016-11-03 msarett Write transparent pixels more often in SkGifImageReader 2016-11-03 mtklein Implement SkNx_fma() for Sk4f on ARMv8. 2016-11-03 bungeman Remove SkAutoTDelete. 2016-11-03 fmalita Fix kMediumQuality invMatrix setup for sizes == mip levels 2016-11-03 liyuqian Fix quad convexity with only one backward dir 2016-11-02 mtklein Remove sk_linear_to_srgb_noclamp(). 2016-11-03 bsalomon Use temporary FBO for GrGLGpu::onReadPixels. 2016-11-02 mtklein Streamline skia.h construction. 2016-11-03 msarett Revert "Add F16, SkColorSpaceXform support to SkBmpCodec" 2016-11-03 mtklein Basic pipeline blend mode strength reductions: 2016-11-03 reed add include to remove legacy flag 2016-11-03 robertphillips Centralize computation of GrRenderTarget & GrTexture VRAM consumption 2016-11-02 msarett Add F16, SkColorSpaceXform support to SkBmpCodec 2016-11-03 mtklein Add Matrix colorfilter pipeline stages. 2016-11-03 msarett Fix bitmap shaders gm 2016-11-03 benjaminwagner Revert of Try to use only std::aligned_storage. (patchset #2 id:20001 of https://codereview.chromium.org/2468243002/ ) 2016-11-03 herb Try to use only std::aligned_storage. This does not change the API. 2016-11-03 bsalomon Exclude Nexus Player from gpudft for flakiness 2016-11-03 mtklein MatrixColorFilter: convert transpose to [0,1] while transposing. 2016-11-03 benjaminwagner Fix case of hex number. 2016-11-03 benjaminwagner Omit msaa on iPad4. BUG= 661180 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, see: http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel TBR=benjaminwagner@google.com Review-Url: https://codereview.chromium.org/2475713003 Cr-Commit-Position: refs/heads/master@{#429895} [modify] https://crrev.com/db4fdf181e7064a8c7ab45aa29e19f3d07c56eb7/DEPS
,
Nov 4 2016
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by tarvorei...@gmail.com
, Nov 1 2016