Changeset 150213 in webkit


Ignore:
Timestamp:
May 16, 2013 4:57:46 PM (11 years ago)
Author:
Simon Fraser
Message:

Source/WebCore: Content disappears when scrolling http://www.childrenscancer.org/zach/
https://bugs.webkit.org/show_bug.cgi?id=116206

Reviewed by Darin Adler.

When a RenderLayerBacking gains or loses a foregroundLayer or backgroundLayer,
we need to repaint the primary layer, since what paints into that primary
layer will change.

On the page in question, we gained/lost a foreground layer when scrolling because
the page popped an element into position:fixed.

Test: compositing/repaint/foreground-layer-change.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateForegroundLayer):
(WebCore::RenderLayerBacking::updateBackgroundLayer):

LayoutTests: Content disappears when scrolling http://www.childrenscancer.org/zach/
https://bugs.webkit.org/show_bug.cgi?id=116206

Reviewed by Darin Adler.

Ref test for foreground layer removal.

  • compositing/repaint/foreground-layer-change-expected.html: Added.
  • compositing/repaint/foreground-layer-change.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r150209 r150213  
     12013-05-16  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Content disappears when scrolling  http://www.childrenscancer.org/zach/
     4        https://bugs.webkit.org/show_bug.cgi?id=116206
     5
     6        Reviewed by Darin Adler.
     7       
     8        Ref test for foreground layer removal.
     9
     10        * compositing/repaint/foreground-layer-change-expected.html: Added.
     11        * compositing/repaint/foreground-layer-change.html: Added.
     12
    1132013-05-16  Ryosuke Niwa  <rniwa@webkit.org>
    214
  • trunk/Source/WebCore/ChangeLog

    r150210 r150213  
     12013-05-16  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Content disappears when scrolling http://www.childrenscancer.org/zach/
     4        https://bugs.webkit.org/show_bug.cgi?id=116206
     5
     6        Reviewed by Darin Adler.
     7       
     8        When a RenderLayerBacking gains or loses a foregroundLayer or backgroundLayer,
     9        we need to repaint the primary layer, since what paints into that primary
     10        layer will change.
     11       
     12        On the page in question, we gained/lost a foreground layer when scrolling because
     13        the page popped an element into position:fixed.
     14
     15        Test: compositing/repaint/foreground-layer-change.html
     16
     17        * rendering/RenderLayerBacking.cpp:
     18        (WebCore::RenderLayerBacking::updateForegroundLayer):
     19        (WebCore::RenderLayerBacking::updateBackgroundLayer):
     20
    1212013-05-16  Andy Estes  <aestes@apple.com>
    222
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r149969 r150213  
    11661166    }
    11671167
    1168     if (layerChanged)
     1168    if (layerChanged) {
     1169        m_graphicsLayer->setNeedsDisplay();
    11691170        m_graphicsLayer->setPaintingPhase(paintingPhaseForPrimaryLayer());
     1171    }
    11701172
    11711173    return layerChanged;
     
    12151217   
    12161218    if (layerChanged) {
     1219        m_graphicsLayer->setNeedsDisplay();
    12171220        // This assumes that the background layer is only used for fixed backgrounds, which is currently a correct assumption.
    12181221        if (renderer()->view())
Note: See TracChangeset for help on using the changeset viewer.