Title: [270099] releases/WebKitGTK/webkit-2.30
- Revision
- 270099
- Author
- [email protected]
- Date
- 2020-11-20 02:40:58 -0800 (Fri, 20 Nov 2020)
Log Message
Merge r269837 - [TextureMapper] The edges of blur backdrop-filter look gradient tranparent
https://bugs.webkit.org/show_bug.cgi?id=218645
<rdar://problem/71356999>
Reviewed by Carlos Garcia Campos.
Source/WebCore:
The blur backdrop-filter needs a larger input image than an output
image. However, it's not easy to get a larger input image in the
edges of the windows. Cocoa port is doing extrapolation by
duplicating edges pixels of the input image which has the same
size with the output image (Bug 146215). Take the same approach.
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::computeOverlapRegions): Don't
inflate the local bounding rect by the outsets for backdrop
layers.
* platform/graphics/texmap/TextureMapperShaderProgram.cpp:
(sampleColorAtRadius): Don't clamp 'coord'.
LayoutTests:
* platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png: Added.
Modified Paths
Added Paths
Diff
Modified: releases/WebKitGTK/webkit-2.30/LayoutTests/ChangeLog (270098 => 270099)
--- releases/WebKitGTK/webkit-2.30/LayoutTests/ChangeLog 2020-11-20 10:40:37 UTC (rev 270098)
+++ releases/WebKitGTK/webkit-2.30/LayoutTests/ChangeLog 2020-11-20 10:40:58 UTC (rev 270099)
@@ -1,3 +1,13 @@
+2020-11-16 Fujii Hironori <[email protected]>
+
+ [TextureMapper] The edges of blur backdrop-filter look gradient tranparent
+ https://bugs.webkit.org/show_bug.cgi?id=218645
+ <rdar://problem/71356999>
+
+ Reviewed by Carlos Garcia Campos.
+
+ * platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png: Added.
+
2020-11-13 Miguel Gomez <[email protected]>
[GTK][WPE] CSS backdrop overlay corners are not rounded on results.webkit.org
Added: releases/WebKitGTK/webkit-2.30/LayoutTests/platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png
(Binary files differ)
Index: releases/WebKitGTK/webkit-2.30/LayoutTests/platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png
===================================================================
--- releases/WebKitGTK/webkit-2.30/LayoutTests/platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png 2020-11-20 10:40:37 UTC (rev 270098)
+++ releases/WebKitGTK/webkit-2.30/LayoutTests/platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png 2020-11-20 10:40:58 UTC (rev 270099)
Property changes on: releases/WebKitGTK/webkit-2.30/LayoutTests/platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png
___________________________________________________________________
Added: svn:mime-type
+image/png
\ No newline at end of property
Modified: releases/WebKitGTK/webkit-2.30/Source/WebCore/ChangeLog (270098 => 270099)
--- releases/WebKitGTK/webkit-2.30/Source/WebCore/ChangeLog 2020-11-20 10:40:37 UTC (rev 270098)
+++ releases/WebKitGTK/webkit-2.30/Source/WebCore/ChangeLog 2020-11-20 10:40:58 UTC (rev 270099)
@@ -1,3 +1,24 @@
+2020-11-16 Fujii Hironori <[email protected]>
+
+ [TextureMapper] The edges of blur backdrop-filter look gradient tranparent
+ https://bugs.webkit.org/show_bug.cgi?id=218645
+ <rdar://problem/71356999>
+
+ Reviewed by Carlos Garcia Campos.
+
+ The blur backdrop-filter needs a larger input image than an output
+ image. However, it's not easy to get a larger input image in the
+ edges of the windows. Cocoa port is doing extrapolation by
+ duplicating edges pixels of the input image which has the same
+ size with the output image (Bug 146215). Take the same approach.
+
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (WebCore::TextureMapperLayer::computeOverlapRegions): Don't
+ inflate the local bounding rect by the outsets for backdrop
+ layers.
+ * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
+ (sampleColorAtRadius): Don't clamp 'coord'.
+
2020-11-13 Miguel Gomez <[email protected]>
[GTK][WPE] CSS backdrop overlay corners are not rounded on results.webkit.org
Modified: releases/WebKitGTK/webkit-2.30/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp (270098 => 270099)
--- releases/WebKitGTK/webkit-2.30/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp 2020-11-20 10:40:37 UTC (rev 270098)
+++ releases/WebKitGTK/webkit-2.30/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp 2020-11-20 10:40:58 UTC (rev 270099)
@@ -326,7 +326,7 @@
else if (m_contentsLayer || m_state.solidColor.isVisible())
localBoundingRect = m_state.contentsRect;
- if (m_currentFilters.hasOutsets()) {
+ if (m_currentFilters.hasOutsets() && !m_state.backdropLayer) {
auto outsets = m_currentFilters.outsets();
localBoundingRect.move(-outsets.left(), -outsets.top());
localBoundingRect.expand(outsets.left() + outsets.right(), outsets.top() + outsets.bottom());
Modified: releases/WebKitGTK/webkit-2.30/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp (270098 => 270099)
--- releases/WebKitGTK/webkit-2.30/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp 2020-11-20 10:40:37 UTC (rev 270098)
+++ releases/WebKitGTK/webkit-2.30/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp 2020-11-20 10:40:58 UTC (rev 270099)
@@ -362,7 +362,7 @@
vec4 sampleColorAtRadius(float radius, vec2 texCoord)
{
vec2 coord = texCoord + radius * u_blurRadius;
- return SamplerFunction(s_sampler, coord) * float(coord.x > 0. && coord.y > 0. && coord.x < 1. && coord.y < 1.);
+ return SamplerFunction(s_sampler, coord);
}
float sampleAlphaAtRadius(float radius, vec2 texCoord)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes