Title: [269837] trunk
- Revision
- 269837
- Author
- [email protected]
- Date
- 2020-11-16 00:19:39 -0800 (Mon, 16 Nov 2020)
Log Message
[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: trunk/LayoutTests/ChangeLog (269836 => 269837)
--- trunk/LayoutTests/ChangeLog 2020-11-16 04:53:16 UTC (rev 269836)
+++ trunk/LayoutTests/ChangeLog 2020-11-16 08:19:39 UTC (rev 269837)
@@ -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-15 Sam Weinig <[email protected]>
Remove and re-add fast/forms/selection-direction.html without CRs
Added: trunk/LayoutTests/platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png
(Binary files differ)
Index: trunk/LayoutTests/platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png
===================================================================
--- trunk/LayoutTests/platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png 2020-11-16 04:53:16 UTC (rev 269836)
+++ trunk/LayoutTests/platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png 2020-11-16 08:19:39 UTC (rev 269837)
Property changes on: trunk/LayoutTests/platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png
___________________________________________________________________
Added: svn:mime-type
+image/png
\ No newline at end of property
Modified: trunk/Source/WebCore/ChangeLog (269836 => 269837)
--- trunk/Source/WebCore/ChangeLog 2020-11-16 04:53:16 UTC (rev 269836)
+++ trunk/Source/WebCore/ChangeLog 2020-11-16 08:19:39 UTC (rev 269837)
@@ -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-15 Zalan Bujtas <[email protected]>
[LFC][Integration] Disable modern line layout for fieldset children.
Modified: trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp (269836 => 269837)
--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp 2020-11-16 04:53:16 UTC (rev 269836)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp 2020-11-16 08:19:39 UTC (rev 269837)
@@ -334,7 +334,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: trunk/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp (269836 => 269837)
--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp 2020-11-16 04:53:16 UTC (rev 269836)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp 2020-11-16 08:19:39 UTC (rev 269837)
@@ -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