Changeset 219445 in webkit


Ignore:
Timestamp:
Jul 13, 2017 1:21:46 AM (7 years ago)
Author:
magomez@igalia.com
Message:

[GTK][WPE] border-radius with non visible border doesn't work on images that have their own RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=174157

Reviewed by Carlos Garcia Campos.

Do not allow direct compositing of images when they have a border-radius property on WebKitGTK+ and WPE.
These platforms don't support clipping using rounded rectangles during composition, which is required
when using border-radius and the border is not visible. Due to this, they need to perform the clippping
with cairo.

This is a temporal fix, until appropriate clipping is implemented in the TextureMapper.

No new tests.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::isDirectlyCompositedImage):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r219444 r219445  
     12017-07-13  Miguel Gomez  <magomez@igalia.com>
     2
     3        [GTK][WPE] border-radius with non visible border doesn't work on images that have their own RenderLayer
     4        https://bugs.webkit.org/show_bug.cgi?id=174157
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        Do not allow direct compositing of images when they have a border-radius property on WebKitGTK+ and WPE.
     9        These platforms don't support clipping using rounded rectangles during composition, which is required
     10        when using border-radius and the border is not visible. Due to this, they need to perform the clippping
     11        with cairo.
     12
     13        This is a temporal fix, until appropriate clipping is implemented in the TextureMapper.
     14
     15        No new tests.
     16
     17        * rendering/RenderLayerBacking.cpp:
     18        (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
     19
    1202017-07-13  Chris Fleizach  <cfleizach@apple.com>
    221
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r219438 r219445  
    22292229            return false;
    22302230
     2231#if (PLATFORM(GTK) || PLATFORM(WPE))
     2232        // GTK and WPE ports don't support rounded rect clipping at TextureMapper level, so they cannot
     2233        // directly composite images that have border-radius propery. Draw them as non directly composited
     2234        // content instead. See https://bugs.webkit.org/show_bug.cgi?id=174157.
     2235        if (imageRenderer.style().hasBorderRadius())
     2236            return false;
     2237#endif
     2238
    22312239        return m_graphicsLayer->shouldDirectlyCompositeImage(image);
    22322240    }
Note: See TracChangeset for help on using the changeset viewer.