Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bb931f2547a9334ffc4861fcd95e81fdf2a626a2
      
https://github.com/WebKit/WebKit/commit/bb931f2547a9334ffc4861fcd95e81fdf2a626a2
  Author: Ben Cohen <[email protected]>
  Date:   2026-10-14 (Wed, 14 Oct 2026)

  Changed paths:
    M LayoutTests/platform/win/TestExpectations
    M Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
    M Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h

  Log Message:
  -----------
  [Win] Filters drop the contribution of content outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=326140

Reviewed by Ian Grunert.

TextureMapperLayer applies a filter in an intermediate surface that only
covers the part of the layer inside the clip. Content outside the clip is
never painted into the surface, so it does not contribute to the filter
result. For example, the drop shadow of the part of a layer that is scrolled
out of the viewport is missing, even where the shadow itself falls inside
the viewport.

322384@main fixed this for SkiaCompositingLayer, used by GTK and WPE. Make
the same change in TextureMapperLayer, used by the Windows port: grow the
clip used to compute the surface by the area the filters read from outside
it, which is the clip grown by the filter outsets on the opposite sides. If
that does not fit a single texture, or the layer has a non-affine transform,
keep using the clip only, as before.

Covered by compositing/filters/filter-source-outside-viewport.html, which
has failed on Windows since it was added in 322384@main. Remove its
failure expectation, added in 322590@main.

* LayoutTests/platform/win/TestExpectations:
* Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::filterSourceClipBounds const):
(WebCore::TextureMapperLayer::computeConsolidatedOverlapRegionRects):
* Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h:

Canonical link: https://commits.webkit.org/323713@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to