Changeset 224715 in webkit


Ignore:
Timestamp:
Nov 10, 2017 5:07:44 PM (6 years ago)
Author:
Simon Fraser
Message:

Contents of composited overflow-scroll are missing when newly added
https://bugs.webkit.org/show_bug.cgi?id=179556
rdar://problem/20368294

Reviewed by Tim Horton.

Source/WebCore:

When content is appended to an oveflow:scroll, we do a subtree layout. That triggered
a compositing code path that failed to call updateAfterDescendants() which is where
we compute whether we can be a simple composited layer without backing store. Fix to
call that after the updateGeometry() call, as we do elsewhere.

Test: compositing/backing/overflow-gains-content.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateAfterLayout):

LayoutTests:

  • compositing/backing/overflow-gains-content-expected.html: Added.
  • compositing/backing/overflow-gains-content.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r224710 r224715  
     12017-11-10  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Contents of composited overflow-scroll are missing when newly added
     4        https://bugs.webkit.org/show_bug.cgi?id=179556
     5        rdar://problem/20368294
     6
     7        Reviewed by Tim Horton.
     8
     9        * compositing/backing/overflow-gains-content-expected.html: Added.
     10        * compositing/backing/overflow-gains-content.html: Added.
     11
    1122017-11-10  Chris Dumez  <cdumez@apple.com>
    213
  • trunk/Source/WebCore/ChangeLog

    r224712 r224715  
     12017-11-10  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Contents of composited overflow-scroll are missing when newly added
     4        https://bugs.webkit.org/show_bug.cgi?id=179556
     5        rdar://problem/20368294
     6
     7        Reviewed by Tim Horton.
     8
     9        When content is appended to an oveflow:scroll, we do a subtree layout. That triggered
     10        a compositing code path that failed to call updateAfterDescendants() which is where
     11        we compute whether we can be a simple composited layer without backing store. Fix to
     12        call that after the updateGeometry() call, as we do elsewhere.
     13
     14        Test: compositing/backing/overflow-gains-content.html
     15
     16        * rendering/RenderLayerBacking.cpp:
     17        (WebCore::RenderLayerBacking::updateAfterLayout):
     18
    1192017-11-10  Simon Fraser  <simon.fraser@apple.com>
    220
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r224712 r224715  
    647647        if (flags.contains(UpdateAfterLayoutFlags::IsUpdateRoot)) {
    648648            updateGeometry();
     649            updateAfterDescendants();
    649650            compositor().updateRootLayerPosition();
    650651            auto* stackingContainer = m_owningLayer.enclosingStackingContainer();
Note: See TracChangeset for help on using the changeset viewer.