Loading
-
simon.fraser@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=120135 Source/WebCore: Reviewed by Jer Noble. When removing a filter on an inline child of a compositing layer, the inline loses its RenderLayer and compositing layer, but we fail to repaint the compositing layer that the inline is now painting into. This worked correctly for opacity, because opacity toggles cause layouts (which then paint the correct layer), so do the same for filters. Test: css3/filters/remove-filter-repaint.html * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresLayout): Return true if we toggled between having filters and not. Drive-by cleanup, making use of new convenience function for hasOpacity(). * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::hasFilters): Returns true if we have any filters. * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::hasOpacity): Convenience function that returns true if opacity is < 1. LayoutTests: Reviewed by Jer Noble. Ref test for removing a filter on an inline. * css3/filters/remove-filter-repaint-expected.html: Added. * css3/filters/remove-filter-repaint.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
simon.fraser@apple.com authoredhttps://bugs.webkit.org/show_bug.cgi?id=120135 Source/WebCore: Reviewed by Jer Noble. When removing a filter on an inline child of a compositing layer, the inline loses its RenderLayer and compositing layer, but we fail to repaint the compositing layer that the inline is now painting into. This worked correctly for opacity, because opacity toggles cause layouts (which then paint the correct layer), so do the same for filters. Test: css3/filters/remove-filter-repaint.html * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresLayout): Return true if we toggled between having filters and not. Drive-by cleanup, making use of new convenience function for hasOpacity(). * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::hasFilters): Returns true if we have any filters. * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::hasOpacity): Convenience function that returns true if opacity is < 1. LayoutTests: Reviewed by Jer Noble. Ref test for removing a filter on an inline. * css3/filters/remove-filter-repaint-expected.html: Added. * css3/filters/remove-filter-repaint.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154430 268f45cc-cd09-0410-ab3c-d52691b4dbfc