Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 854716970c0750581f75ee43bb91578d9ac52451
      
https://github.com/WebKit/WebKit/commit/854716970c0750581f75ee43bb91578d9ac52451
  Author: Simon Fraser <simon.fra...@apple.com>
  Date:   2022-11-13 (Sun, 13 Nov 2022)

  Changed paths:
    A 
LayoutTests/compositing/clipping/sticky-inside-overflow-x-clip-expected.txt
    A LayoutTests/compositing/clipping/sticky-inside-overflow-x-clip.html
    A 
LayoutTests/platform/gtk/compositing/clipping/sticky-inside-overflow-x-clip-expected.txt
    A 
LayoutTests/platform/ios-wk2/compositing/clipping/sticky-inside-overflow-x-clip-expected.txt
    A 
LayoutTests/platform/mac-wk1/compositing/clipping/sticky-inside-overflow-x-clip-expected.txt
    M Source/WebCore/platform/graphics/LayoutRect.h
    M Source/WebCore/rendering/RenderLayerCompositor.cpp

  Log Message:
  -----------
  Elements with `position: sticky` jitter inside a container with `overflow-x: 
clip;`
https://bugs.webkit.org/show_bug.cgi?id=247130
rdar://101645570

Reviewed by Alan Baradlay.

`overflow:clip` on just one axis can output a clip rect which is infinite in 
just
x or y. In that case, we'd create a clipping layer with large floating point
geometry values which, when moved around by the scrolling tree, had low 
precision
resulting in visible stutters.

Fix by shrinking the infinite rect values by a factor of 16, which is sufficient
to provide enough device pixel precision for 3x displays.

* LayoutTests/compositing/clipping/sticky-inside-overflow-x-clip-expected.txt: 
Added.
* LayoutTests/compositing/clipping/sticky-inside-overflow-x-clip.html: Added.
* 
LayoutTests/platform/gtk/compositing/clipping/sticky-inside-overflow-x-clip-expected.txt:
 Added.
* 
LayoutTests/platform/ios-wk2/compositing/clipping/sticky-inside-overflow-x-clip-expected.txt:
 Added.
* 
LayoutTests/platform/mac-wk1/compositing/clipping/sticky-inside-overflow-x-clip-expected.txt:
 Added.
* Source/WebCore/platform/graphics/LayoutRect.h:
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeAncestorClippingStack const):

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to