New issue
Advanced search Search tips

Issue 625732 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

color-interpolation-filters animation not updating display

Project Member Reported by ericwilligers@chromium.org, Jul 5 2016

Issue description

https://jsfiddle.net/ericwilligers/okvtohrL/

Two lines of text are using the same filter.

Only the line with an irrelevant additional animation shows the effect of color-interpolation-filters animating in the filter.

Both lines should show the filter animation effect.
Firefox animates correctly.

See crbug.com/620618 for a similar bug.

 
The same problem occurs when we update color-interpolation-filters using JavaScript instead of animation.

https://jsfiddle.net/ericwilligers/3dke0dsL/
In Blink, we only observe the color-interpolation-filters change when something else changing (e.g. font-size) causes a display update.

Comment 2 by f...@opera.com, Jul 5 2016

Probably missing some invalidation code in styleDidChange (for LayoutSVGResourceFilterPrimitive and LayoutSVGResourceFilter). SVGComputedStyle::diff will only flag for paint invalidation, which will not invalidate the filter caches.
Components: -Blink>Animation Blink>SVG

Comment 4 by f...@opera.com, Jul 6 2016

Test without animations: https://jsfiddle.net/fwt6o5t2/1/

Comment 5 by f...@opera.com, Jul 6 2016

Uhm, s/Test/Simplified test/

Comment 6 by f...@opera.com, Jul 7 2016

Cc: ericwilligers@chromium.org
Owner: f...@opera.com
Stealing

Comment 7 by f...@opera.com, Jul 7 2016

Status: Started (was: Assigned)
Project Member

Comment 8 by bugdroid1@chromium.org, Jul 7 2016

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

commit 6f4665b05795e9170a3af87aec13663f992cc525
Author: fs <fs@opera.com>
Date: Thu Jul 07 19:05:38 2016

Update FilterEffect colorspace on color-interpolation-filters changes

Changes to the 'color-interpolation-filters' property would not get
propagated to any built (cached) filter chains, and hence any future
paints would still use the old chain.
Add support for updating this FilterEffect property down in the filter
primitive element base-class setFilterEffectAttribute, and then make
sure any derived classes forward to it.

BUG= 625732 

Review-Url: https://codereview.chromium.org/2128193004
Cr-Commit-Position: refs/heads/master@{#404200}

[add] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/LayoutTests/svg/filters/color-interpolation-filters-style-update-expected.html
[add] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/LayoutTests/svg/filters/color-interpolation-filters-style-update.html
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceFilterPrimitive.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFEBlendElement.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFEColorMatrixElement.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFECompositeElement.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFEConvolveMatrixElement.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFEDiffuseLightingElement.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFEDisplacementMapElement.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFEDropShadowElement.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFEFloodElement.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFEMorphologyElement.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFESpecularLightingElement.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFETurbulenceElement.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/SVGFilterPrimitiveStandardAttributes.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp
[modify] https://crrev.com/6f4665b05795e9170a3af87aec13663f992cc525/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.h

Comment 9 by f...@opera.com, Jul 7 2016

Status: Fixed (was: Started)

Sign in to add a comment