This website requires JavaScript.
Explore
Help
Sign In
nephele
/
haikuwebkit
Watch
1
Star
0
Fork
You've already forked haikuwebkit
0
Code
Issues
Releases
Activity
haiku
haikuwebkit
/
LayoutTests
/
css3
/
filters
/
filter-change-repaint-compo...
2 lines
1 B
Raw
Permalink
Normal View
History
Unescape
Escape
[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