haikuwebkit/LayoutTests/css3/filters/blur-filter-page-scroll-sel...

11 lines
434 B
Plaintext
Raw Permalink Normal View History

[CSS Filters] Blur filter is not repainted correctly when applied on a parent of a fixed element https://bugs.webkit.org/show_bug.cgi?id=90087 Reviewed by Simon Fraser. Source/WebCore: Added a new method, RenderLayer::hasAncestorWithFilterOutsets, to check that there's no filter with outsets (ie. blur) applied on top level fixed positioned elements, nor any of its parent layers. In the event of a blur filter we need to disable the fast scrolling optimization, otherwise the outsets of the filter will be carried around the page and repainting will not work correctly. Tests: css3/filters/blur-filter-page-scroll-parents.html css3/filters/blur-filter-page-scroll-self.html * page/FrameView.cpp: (WebCore::FrameView::scrollContentsFastPath): * rendering/RenderLayer.cpp: (WebCore): (WebCore::RenderLayer::hasAncestorWithFilterOutsets): * rendering/RenderLayer.h: (RenderLayer): LayoutTests: Added two new tests to check that we disable fast path scrolling for fixed positioned elements that have blur applied on them or any of the parent layers. * css3/filters/blur-filter-page-scroll-parents.html: Added. * css3/filters/blur-filter-page-scroll-self.html: Added. * platform/chromium/css3/filters/blur-filter-page-scroll-parents-expected.png: Added. * platform/chromium/css3/filters/blur-filter-page-scroll-parents-expected.txt: Added. * platform/chromium/css3/filters/blur-filter-page-scroll-self-expected.png: Added. * platform/chromium/css3/filters/blur-filter-page-scroll-self-expected.txt: Added. * platform/mac/css3/filters/blur-filter-page-scroll-parents-expected.png: Added. * platform/mac/css3/filters/blur-filter-page-scroll-parents-expected.txt: Added. * platform/mac/css3/filters/blur-filter-page-scroll-self-expected.png: Added. * platform/mac/css3/filters/blur-filter-page-scroll-self-expected.txt: Added. * platform/qt/Skipped: Qt needs platform results. Canonical link: https://commits.webkit.org/108635@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-07-09 19:16:12 +00:00
layer at (0,0) size 785x1200
RenderView at (0,0) size 785x600
layer at (0,0) size 785x1200
RenderBlock {HTML} at (0,0) size 785x1200
RenderBody {BODY} at (0,0) size 785x1200
RenderBlock {DIV} at (0,0) size 785x200 [bgcolor=#FF0000]
RenderBlock {DIV} at (0,200) size 785x1000 [bgcolor=#008000]
layer at (0,100) size 785x100
RenderBlock (positioned) {DIV} at (0,0) size 785x100 [bgcolor=#000000]
scrolled to 0,100