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

Changeset 252439 in webkit


Ignore:
Timestamp:
Nov 13, 2019, 4:35:07 PM (7 years ago)
Author:
Simon Fraser
Message:

REGRESSION (r249434): flashy menus on wellsfargo.com
https://bugs.webkit.org/show_bug.cgi?id=204175
<rdar://problem/56654512>

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: compositing/backing/backing-for-clipping.html

r249434 made overflow an "indirect compositing reason" (i.e. we composite for overflow:hidden
when necessary to clip a composited descendant). However this made a clause in RenderLayerCompositor::requiresOwnBackingStore()
return early when this reason is set, skipping the bounds check, so we need to do the bound check first.
This is similar to the fix in r252070.

The change to the perspective test relates to the "FIXME"; we don't use the correct ancestor for the
bounds check, so sometimes layers can have backing store when they don't need it until that's fixed.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresOwnBackingStore const):

LayoutTests:

  • compositing/backing/backing-for-clipping-expected.html: Added.
  • compositing/backing/backing-for-clipping.html: Added.
  • compositing/backing/no-backing-for-perspective-expected.txt:
  • platform/ios-wk2/compositing/backing/no-backing-for-perspective-expected.txt:
Location:
trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r252429 r252439  
    187187        and fast/visual-viewport/zoomed-fixed-scroll-down-then-up.html as
    188188        Failure.
     189
     1902019-11-13  Simon Fraser  <simon.fraser@apple.com>
     191
     192        REGRESSION (r249434): flashy menus on wellsfargo.com
     193        https://bugs.webkit.org/show_bug.cgi?id=204175
     194        <rdar://problem/56654512>
     195
     196        Reviewed by Zalan Bujtas.
     197
     198        * compositing/backing/backing-for-clipping-expected.html: Added.
     199        * compositing/backing/backing-for-clipping.html: Added.
     200        * compositing/backing/no-backing-for-perspective-expected.txt:
     201        * platform/ios-wk2/compositing/backing/no-backing-for-perspective-expected.txt:
    189202
    1902032019-11-11  Ryosuke Niwa  <rniwa@webkit.org>
  • trunk/LayoutTests/compositing/backing/no-backing-for-perspective-expected.txt

    r180441 r252439  
    1717              (position 21.00 39.00)
    1818              (bounds 342.00 180.00)
     19              (drawsContent 1)
    1920              (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
    2021              (children 1
  • trunk/LayoutTests/platform/ios-wk2/compositing/backing/no-backing-for-perspective-expected.txt

    r177052 r252439  
    1717              (position 21.00 41.00)
    1818              (bounds 342.00 182.00)
     19              (drawsContent 1)
    1920              (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
    2021              (children 1
  • trunk/Source/WebCore/ChangeLog

    r252438 r252439  
    713713        * Modules/modern-media-controls/media/pip-support.js:
    714714        (PiPSupport.prototype.buttonWasPressed):
     715
     7162019-11-13  Simon Fraser  <simon.fraser@apple.com>
     717
     718        REGRESSION (r249434): flashy menus on wellsfargo.com
     719        https://bugs.webkit.org/show_bug.cgi?id=204175
     720        <rdar://problem/56654512>
     721
     722        Reviewed by Zalan Bujtas.
     723
     724        Test: compositing/backing/backing-for-clipping.html
     725       
     726        r249434 made overflow an "indirect compositing reason" (i.e. we composite for overflow:hidden
     727        when necessary to clip a composited descendant). However this made a clause in RenderLayerCompositor::requiresOwnBackingStore()
     728        return early when this reason is set, skipping the bounds check, so we need to do the bound check first.
     729        This is similar to the fix in r252070.
     730
     731        The change to the perspective test relates to the "FIXME"; we don't use the correct ancestor for the
     732        bounds check, so sometimes layers can have backing store when they don't need it until that's fixed.
     733
     734        * rendering/RenderLayerCompositor.cpp:
     735        (WebCore::RenderLayerCompositor::requiresOwnBackingStore const):
    715736
    7167372019-11-11  Per Arne Vollan  <pvollan@apple.com>
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r252353 r252439  
    24272427        return true;
    24282428
     2429    // FIXME: We really need to keep track of the ancestor layer that has its own backing store.
     2430    if (!ancestorCompositedBounds.contains(layerCompositedBoundsInAncestor))
     2431        return true;
     2432
    24292433    if (layer.mustCompositeForIndirectReasons()) {
    24302434        IndirectCompositingReason reason = layer.indirectCompositingReason();
     
    24362440            || reason == IndirectCompositingReason::Preserve3D; // preserve-3d has to create backing store to ensure that 3d-transformed elements intersect.
    24372441    }
    2438 
    2439     // FIXME: We really need to keep track of the ancestor layer that has its own backing store.
    2440     if (!ancestorCompositedBounds.contains(layerCompositedBoundsInAncestor))
    2441         return true;
    24422442
    24432443    return false;
Note: See TracChangeset for help on using the changeset viewer.