⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 246019 in webkit


Ignore:
Timestamp:
Jun 1, 2019, 8:01:47 PM (7 years ago)
Author:
Simon Fraser
Message:

[Async overflow scroll] Flashing content when scrolling async overflow with a negative z-index child
https://bugs.webkit.org/show_bug.cgi?id=198458

Reviewed by Dean Jackson.

Source/WebCore:

Set the GraphicsLayerPaintOverflowContents phase on the foreground layer in a composited overflow scroller,
which prevents clipping to the visible region, fixing scrolling flashes.

Tested by compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updatePaintingPhases):

LayoutTests:

  • compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases-expected.txt:
  • platform/ios-wk2/compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases-expected.txt:
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r246018 r246019  
     12019-06-01  Simon Fraser  <simon.fraser@apple.com>
     2
     3        [Async overflow scroll] Flashing content when scrolling async overflow with a negative z-index child
     4        https://bugs.webkit.org/show_bug.cgi?id=198458
     5
     6        Reviewed by Dean Jackson.
     7
     8        * compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases-expected.txt:
     9        * platform/ios-wk2/compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases-expected.txt:
     10
    1112019-06-01  Simon Fraser  <simon.fraser@apple.com>
    212
  • trunk/LayoutTests/compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases-expected.txt

    r246017 r246019  
    5555                      (paintingPhases
    5656                        GraphicsLayerPaintForeground
     57                        GraphicsLayerPaintOverflowContents
    5758                        )
    5859                    )
  • trunk/LayoutTests/platform/ios-wk2/compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases-expected.txt

    r246017 r246019  
    5555                      (paintingPhases
    5656                        GraphicsLayerPaintForeground
     57                        GraphicsLayerPaintOverflowContents
    5758                        )
    5859                    )
  • trunk/Source/WebCore/ChangeLog

    r246018 r246019  
     12019-06-01  Simon Fraser  <simon.fraser@apple.com>
     2
     3        [Async overflow scroll] Flashing content when scrolling async overflow with a negative z-index child
     4        https://bugs.webkit.org/show_bug.cgi?id=198458
     5
     6        Reviewed by Dean Jackson.
     7
     8        Set the GraphicsLayerPaintOverflowContents phase on the foreground layer in a composited overflow scroller,
     9        which prevents clipping to the visible region, fixing scrolling flashes.
     10
     11        Tested by compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases.html
     12
     13        * rendering/RenderLayerBacking.cpp:
     14        (WebCore::RenderLayerBacking::updatePaintingPhases):
     15
    1162019-06-01  Simon Fraser  <simon.fraser@apple.com>
    217
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r246018 r246019  
    21032103    if (m_foregroundLayer) {
    21042104        OptionSet<GraphicsLayerPaintingPhase> foregroundLayerPhases { GraphicsLayerPaintingPhase::Foreground };
     2105       
     2106        if (m_scrolledContentsLayer)
     2107            foregroundLayerPhases.add(GraphicsLayerPaintingPhase::OverflowContents);
     2108
    21052109        m_foregroundLayer->setPaintingPhase(foregroundLayerPhases);
    21062110        primaryLayerPhases.remove(GraphicsLayerPaintingPhase::Foreground);
Note: See TracChangeset for help on using the changeset viewer.