haikuwebkit/LayoutTests/css3/filters/filter-change-repaint-compo...

2 lines
1 B
Raw Permalink Normal View History

[CSS Filters] Trigger a repaint on elements with changed filter https://bugs.webkit.org/show_bug.cgi?id=82521 Reviewed by Dean Jackson. Source/WebCore: I've added ContextSensitivePropertyFilter and changed RenderStyle::diff to use it when the filter property is changed. In RenderObject::adjustStyleDifference the appropriate StyleDifferenceRepaintLayer or StyleDifferenceRecompositeLayer is used depending on whether the layer is painting filters in software or in hardware (composited). Tests: css3/filters/filter-change-repaint-composited.html css3/filters/filter-change-repaint.html * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::createFilterOperations): None was treated as an invalid value. * platform/graphics/ca/mac/PlatformCALayerMac.mm: Shadows were remaining behind. Fixed that. (PlatformCALayer::setFilters): * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::styleWillChange): Repaint the layer when there is a layout change and a filter change. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::styleChanged): Making sure that the backing store is repainted when filters fallback to hardware. * rendering/RenderObject.cpp: (WebCore::RenderObject::adjustStyleDifference): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::diff): * rendering/style/RenderStyleConstants.h: LayoutTests: Repaint was not triggered when the filter property was changed. I've added two tests, one for software and one for composited mode. Both tests are triggering all the possible scenarios of changing the filter property. * css3/filters/filter-change-repaint-composited-expected.png: Added. * css3/filters/filter-change-repaint-composited-expected.txt: Added. * css3/filters/filter-change-repaint-composited.html: Added. * css3/filters/filter-change-repaint-expected.png: Added. * css3/filters/filter-change-repaint-expected.txt: Added. * css3/filters/filter-change-repaint.html: Added. * platform/chromium/test_expectations.txt: Disabled the new tests on Chromium. They need rebaselining. Canonical link: https://commits.webkit.org/100031@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-03-30 05:07:06 +00:00