Changeset 245181 in webkit


Ignore:
Timestamp:
May 10, 2019 11:40:58 AM (5 years ago)
Author:
Simon Fraser
Message:
ASSERT(isSelfPaintingLayer()
hasSelfPaintingLayerDescendant()) on nytimes.com after r245170

https://bugs.webkit.org/show_bug.cgi?id=197776

Reviewed by Zalan Bujtas.

Source/WebCore:

Only try to paint into shared backing for layers that are able to be composited. This
avoids trying to do sharing for non-self-painting layers, which doesn't make sense.

Test: compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):

LayoutTests:

  • compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share-expected.txt: Added.
  • compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r245178 r245181  
     12019-05-10  Simon Fraser  <simon.fraser@apple.com>
     2
     3        ASSERT(isSelfPaintingLayer() || hasSelfPaintingLayerDescendant()) on nytimes.com after r245170
     4        https://bugs.webkit.org/show_bug.cgi?id=197776
     5
     6        Reviewed by Zalan Bujtas.
     7
     8        * compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share-expected.txt: Added.
     9        * compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html: Added.
     10
    1112019-05-10  Chris Fleizach  <cfleizach@apple.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r245179 r245181  
     12019-05-10  Simon Fraser  <simon.fraser@apple.com>
     2
     3        ASSERT(isSelfPaintingLayer() || hasSelfPaintingLayerDescendant()) on nytimes.com after r245170
     4        https://bugs.webkit.org/show_bug.cgi?id=197776
     5
     6        Reviewed by Zalan Bujtas.
     7
     8        Only try to paint into shared backing for layers that are able to be composited. This
     9        avoids trying to do sharing for non-self-painting layers, which doesn't make sense.
     10
     11        Test: compositing/shared-backing/overflow-scroll/non-self-painting-layer-should-not-share.html
     12
     13        * rendering/RenderLayerCompositor.cpp:
     14        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
     15
    1162019-05-10  Michael Catanzaro  <mcatanzaro@igalia.com>
    217
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r245170 r245181  
    916916        // If we're testing for overlap, we only need to composite if we overlap something that is already composited.
    917917        if (overlapMap.overlapsLayers(layerExtent.bounds)) {
    918             if (backingSharingState.backingProviderCandidate && backingProviderLayerCanIncludeLayer(*backingSharingState.backingProviderCandidate, layer)) {
     918            if (backingSharingState.backingProviderCandidate && canBeComposited(layer) && backingProviderLayerCanIncludeLayer(*backingSharingState.backingProviderCandidate, layer)) {
    919919                backingSharingState.backingSharingLayers.append(makeWeakPtr(layer));
    920920                LOG(Compositing, " layer %p can share with %p", &layer, backingSharingState.backingProviderCandidate);
Note: See TracChangeset for help on using the changeset viewer.