Changeset 52686 in webkit


Ignore:
Timestamp:
Jan 1, 2010 11:40:38 AM (14 years ago)
Author:
Simon Fraser
Message:

2010-01-01 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

Scrollbar of overflow:scroll div in compositing layer fails to render
https://bugs.webkit.org/show_bug.cgi?id=32439

When deciding whether a RenderLayer needs backing store, check whether it has
overflow controls that need painting.

Test: compositing/overflow/scrollbar-painting.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hasOverflowControls):
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
Location:
trunk
Files:
4 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r52683 r52686  
     12010-01-01  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        Scrollbar of overflow:scroll div in compositing layer fails to render
     6        https://bugs.webkit.org/show_bug.cgi?id=32439
     7
     8        Test for compositing layers with scrollbars, and a resize control.
     9       
     10        * compositing/overflow/scrollbar-painting.html: Added.
     11        * platform/mac/compositing/overflow/scrollbar-painting-expected.checksum: Added.
     12        * platform/mac/compositing/overflow/scrollbar-painting-expected.png: Added.
     13        * platform/mac/compositing/overflow/scrollbar-painting-expected.txt: Added.
     14
    1152009-12-31  Dan Bernstein  <mitz@apple.com>
    216
  • trunk/WebCore/ChangeLog

    r52685 r52686  
     12010-01-01  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        Scrollbar of overflow:scroll div in compositing layer fails to render
     6        https://bugs.webkit.org/show_bug.cgi?id=32439
     7       
     8        When deciding whether a RenderLayer needs backing store, check whether it has
     9        overflow controls that need painting.
     10
     11        Test: compositing/overflow/scrollbar-painting.html
     12
     13        * rendering/RenderLayer.cpp:
     14        (WebCore::RenderLayer::hasOverflowControls):
     15        * rendering/RenderLayer.h:
     16        * rendering/RenderLayerBacking.cpp:
     17        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
     18
    1192009-12-31  Christian Dywan  <christian@twotoasts.de>
    220
  • trunk/WebCore/rendering/RenderLayer.cpp

    r52379 r52686  
    17021702}
    17031703
     1704bool RenderLayer::hasOverflowControls() const
     1705{
     1706    return m_hBar || m_vBar || m_scrollCorner || renderer()->style()->resize() != RESIZE_NONE;
     1707}
     1708
    17041709void RenderLayer::positionOverflowControls(int tx, int ty)
    17051710{
  • trunk/WebCore/rendering/RenderLayer.h

    r51776 r52686  
    263263    int horizontalScrollbarHeight() const;
    264264
     265    bool hasOverflowControls() const;
    265266    void positionOverflowControls(int tx, int ty);
    266267    bool isPointInResizeControl(const IntPoint& absolutePoint) const;
  • trunk/WebCore/rendering/RenderLayerBacking.cpp

    r52312 r52686  
    567567        return false;
    568568
     569    // If we have scrollbars or a resizer, need backing store to paint them into.
     570    if (m_owningLayer->hasOverflowControls())
     571        return false;
     572   
    569573    // If we have got this far and the renderer has no children, then we're ok.
    570574    if (!renderObject->firstChild())
Note: See TracChangeset for help on using the changeset viewer.