Changeset 40731 in webkit


Ignore:
Timestamp:
Feb 6, 2009 2:16:19 PM (15 years ago)
Author:
Simon Fraser
Message:

2009-02-06 Simon Fraser <Simon Fraser>

Reviewed by Eric Seidel

Expose an isRootLayer() method on RenderLayer that works whether the
layer is rooted or not, and use that in a few places in the
accelerated compositing code.

  • rendering/RenderLayer.h: (WebCore::RenderLayer::isRootLayer):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintingGoesToWindow):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): (WebCore::RenderLayerCompositor::requiresCompositingLayer):
Location:
trunk/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r40730 r40731  
     12009-02-06  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Reviewed by Eric Seidel
     4
     5        Expose an isRootLayer() method on RenderLayer that works whether the
     6        layer is rooted or not, and use that in a few places in the
     7        accelerated compositing code.
     8
     9        * rendering/RenderLayer.h:
     10        (WebCore::RenderLayer::isRootLayer):
     11        * rendering/RenderLayerBacking.cpp:
     12        (WebCore::RenderLayerBacking::paintingGoesToWindow):
     13        * rendering/RenderLayerCompositor.cpp:
     14        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
     15        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
     16
    1172009-02-06  Dan Bernstein  <mitz@apple.com>
    218
  • trunk/WebCore/rendering/RenderLayer.h

    r40679 r40731  
    302302    void setInResizeMode(bool b) { m_inResizeMode = b; }
    303303
     304    // Can't just check !parent() because we might be unrooted.
     305    bool isRootLayer() const { return renderer()->node()->isDocumentNode(); }
     306   
    304307#if USE(ACCELERATED_COMPOSITING)
    305308    RenderLayerCompositor* compositor() const;
  • trunk/WebCore/rendering/RenderLayerBacking.cpp

    r40704 r40731  
    618618bool RenderLayerBacking::paintingGoesToWindow() const
    619619{
    620     return m_owningLayer->isDocumentLayer();
     620    return m_owningLayer->isRootLayer();
    621621}
    622622
  • trunk/WebCore/rendering/RenderLayerCompositor.cpp

    r40640 r40731  
    454454
    455455    // host the document layer in the RenderView's root layer
    456     if (layer->isDocumentLayer())
     456    if (layer->isRootLayer())
    457457        parentInRootLayer(layer);
    458458
     
    638638    bool gotReason = false;
    639639
    640     if (!gotReason && inCompositingMode() && layer->isDocumentLayer()) {
     640    if (!gotReason && inCompositingMode() && layer->isRootLayer()) {
    641641        fprintf(stderr, "RenderLayer %p requires compositing layer because: it's the document root\n", layer);
    642642        gotReason = true;
     
    662662#endif
    663663
    664     // the root layer always has a compositing layer (for now).
    665     return (inCompositingMode() && layer->isDocumentLayer()) ||
     664    // The root layer always has a compositing layer, but it may not have backing.
     665    return (inCompositingMode() && layer->isRootLayer()) ||
    666666             requiresCompositingLayerForTransform(layer->renderer()) ||
    667667             clipsCompositingDescendants(layer) ||
Note: See TracChangeset for help on using the changeset viewer.