Changeset 105090 in webkit


Ignore:
Timestamp:
Jan 16, 2012 2:19:36 PM (12 years ago)
Author:
Simon Fraser
Message:

Filtered element with composited content beneath it must be composited
https://bugs.webkit.org/show_bug.cgi?id=76322

Source/WebCore:

Reviewed by Dean Jackson.

If a RenderLayer has a filter effect, and a composited descendant, then
that layer must also be composited so that the filter is applied via
the compositing system, rather than via painting (otherwise the filter
will not affect the descendant).

Test: css3/filters/filtered-compositing-descendant.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):

LayoutTests:

Reviewed by Dean Jackson.

Testcase with a filtered element having a composited child.

  • css3/filters/filtered-compositing-descendant-expected.png: Added.
  • css3/filters/filtered-compositing-descendant-expected.txt: Added.
  • css3/filters/filtered-compositing-descendant.html: Added.
Location:
trunk
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r105085 r105090  
     12012-01-16  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Filtered element with composited content beneath it must be composited
     4        https://bugs.webkit.org/show_bug.cgi?id=76322
     5
     6        Reviewed by Dean Jackson.
     7       
     8        Testcase with a filtered element having a composited child.
     9
     10        * css3/filters/filtered-compositing-descendant-expected.png: Added.
     11        * css3/filters/filtered-compositing-descendant-expected.txt: Added.
     12        * css3/filters/filtered-compositing-descendant.html: Added.
     13
    1142012-01-16  xueqing huang  <huangxueqing@baidu.com>
    215
  • trunk/Source/WebCore/ChangeLog

    r105089 r105090  
     12012-01-16  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Filtered element with composited content beneath it must be composited
     4        https://bugs.webkit.org/show_bug.cgi?id=76322
     5
     6        Reviewed by Dean Jackson.
     7       
     8        If a RenderLayer has a filter effect, and a composited descendant, then
     9        that layer must also be composited so that the filter is applied via
     10        the compositing system, rather than via painting (otherwise the filter
     11        will not affect the descendant).
     12
     13        Test: css3/filters/filtered-compositing-descendant.html
     14
     15        * rendering/RenderLayerCompositor.cpp:
     16        (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
     17
    1182012-01-16  Andreas Kling  <awesomekling@apple.com>
    219
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r104879 r105090  
    15061506bool RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing(RenderObject* renderer) const
    15071507{
    1508     return renderer->hasTransform() || renderer->isTransparent() || renderer->hasMask() || renderer->hasReflection();
     1508    return renderer->hasTransform() || renderer->isTransparent() || renderer->hasMask() || renderer->hasReflection() || renderer->hasFilter();
    15091509}
    15101510   
Note: See TracChangeset for help on using the changeset viewer.