Changeset 125629 in webkit


Ignore:
Timestamp:
Aug 14, 2012 6:21:47 PM (12 years ago)
Author:
Alexandru Chiculita
Message:

[CSS Shaders][Chromium] Filters area applied twice when CustomFilterOperation is in the list
https://bugs.webkit.org/show_bug.cgi?id=93900

Reviewed by James Robinson.

Source/WebCore:

Whenever the platform cannot render a shader in hardware it will fallback to software.
In such cases, the platform should remove any old filters applied, so that the filters do not apply twice.

Test: css3/filters/custom/filter-fallback-to-software.html

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::setFilters):

LayoutTests:

Added a test that first applies a blur and then switches to a CSS Shader plus a blur.
The test was failing on Chromium by not removing the old blur filter from the platform layer.

  • css3/filters/custom/filter-fallback-to-software-expected.html: Added.
  • css3/filters/custom/filter-fallback-to-software.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r125619 r125629  
     12012-08-14  Alexandru Chiculita  <achicu@adobe.com>
     2
     3        [CSS Shaders][Chromium] Filters area applied twice when CustomFilterOperation is in the list
     4        https://bugs.webkit.org/show_bug.cgi?id=93900
     5
     6        Reviewed by James Robinson.
     7
     8        Added a test that first applies a blur and then switches to a CSS Shader plus a blur.
     9        The test was failing on Chromium by not removing the old blur filter from the platform layer.
     10
     11        * css3/filters/custom/filter-fallback-to-software-expected.html: Added.
     12        * css3/filters/custom/filter-fallback-to-software.html: Added.
     13
    1142012-08-14  Adrienne Walker  <enne@google.com>
    215
  • trunk/Source/WebCore/ChangeLog

    r125627 r125629  
     12012-08-14  Alexandru Chiculita  <achicu@adobe.com>
     2
     3        [CSS Shaders][Chromium] Filters area applied twice when CustomFilterOperation is in the list
     4        https://bugs.webkit.org/show_bug.cgi?id=93900
     5
     6        Reviewed by James Robinson.
     7
     8        Whenever the platform cannot render a shader in hardware it will fallback to software.
     9        In such cases, the platform should remove any old filters applied, so that the filters do not apply twice.
     10       
     11        Test: css3/filters/custom/filter-fallback-to-software.html
     12
     13        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
     14        (WebCore::GraphicsLayerChromium::setFilters):
     15
    1162012-08-14  Alec Flett  <alecflett@chromium.org>
    217
  • trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp

    r125469 r125629  
    389389{
    390390    WebFilterOperations webFilters;
    391     if (!copyWebCoreFilterOperationsToWebFilterOperations(filters, webFilters))
     391    if (!copyWebCoreFilterOperationsToWebFilterOperations(filters, webFilters)) {
     392        // Make sure the filters are removed from the platform layer, as they are
     393        // going to fallback to software mode.
     394        m_layer.setFilters(WebFilterOperations());
     395        GraphicsLayer::setFilters(FilterOperations());
    392396        return false;
     397    }
    393398    m_layer.setFilters(webFilters);
    394399    return GraphicsLayer::setFilters(filters);
Note: See TracChangeset for help on using the changeset viewer.