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

Changeset 243786 in webkit


Ignore:
Timestamp:
Apr 2, 2019, 9:20:24 PM (7 years ago)
Author:
Simon Fraser
Message:

REGRESSION (r238266): Exchange 2013 Outlook Web Access displays partially blank page when creating new e-mail
https://bugs.webkit.org/show_bug.cgi?id=196522
Source/WebCore:

rdar://problem/49472941

Reviewed by Zalan Bujtas.

In this content a layer is composited to clip descendants, and has negative z-order children,
so we compute that it "paints into ancestor", and has a foreground layer. This combination doesn't
make sense, and when the layer becomes scrollable, we end up with bad paint phases on layers, and
fail to paint the contents.

Fix by ensuring that a layer has its own backing store if it requires a foreground layer
by virtue of having negative z-order children.

Test: compositing/backing/foreground-layer-no-paints-into-ancestor.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresOwnBackingStore const):

LayoutTests:

Reviewed by Zalan Bujtas.

  • compositing/backing/foreground-layer-no-paints-into-ancestor-expected.html: Added.
  • compositing/backing/foreground-layer-no-paints-into-ancestor.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r243780 r243786  
     12019-04-02  Simon Fraser  <simon.fraser@apple.com>
     2
     3        REGRESSION (r238266): Exchange 2013 Outlook Web Access displays partially blank page when creating new e-mail
     4        https://bugs.webkit.org/show_bug.cgi?id=196522
     5
     6        Reviewed by Zalan Bujtas.
     7
     8        * compositing/backing/foreground-layer-no-paints-into-ancestor-expected.html: Added.
     9        * compositing/backing/foreground-layer-no-paints-into-ancestor.html: Added.
     10
    1112019-04-02  Said Abou-Hallawa  <sabouhallawa@apple.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r243785 r243786  
     12019-04-02  Simon Fraser  <simon.fraser@apple.com>
     2
     3        REGRESSION (r238266): Exchange 2013 Outlook Web Access displays partially blank page when creating new e-mail
     4        https://bugs.webkit.org/show_bug.cgi?id=196522
     5        rdar://problem/49472941
     6
     7        Reviewed by Zalan Bujtas.
     8
     9        In this content a layer is composited to clip descendants, and has negative z-order children,
     10        so we compute that it "paints into ancestor", and has a foreground layer. This combination doesn't
     11        make sense, and when the layer becomes scrollable, we end up with bad paint phases on layers, and
     12        fail to paint the contents.
     13
     14        Fix by ensuring that a layer has its own backing store if it requires a foreground layer
     15        by virtue of having negative z-order children.
     16
     17        Test: compositing/backing/foreground-layer-no-paints-into-ancestor.html
     18
     19        * rendering/RenderLayerCompositor.cpp:
     20        (WebCore::RenderLayerCompositor::requiresOwnBackingStore const):
     21
    1222019-04-02  Timothy Hatcher  <timothy@apple.com>
    223
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r243674 r243786  
    22222222        || requiresCompositingForEditableImage(renderer)
    22232223        || requiresCompositingForOverflowScrolling(layer, queryData)
     2224        || needsContentsCompositingLayer(layer)
    22242225        || renderer.isTransparent()
    22252226        || renderer.hasMask()
Note: See TracChangeset for help on using the changeset viewer.