Changeset 148765 in webkit


Ignore:
Timestamp:
Apr 19, 2013 1:41:23 PM (11 years ago)
Author:
shawnsingh@chromium.org
Message:

Remove non-overlap testing code in RenderLayerCompositor
https://bugs.webkit.org/show_bug.cgi?id=85521

Reviewed by Simon Fraser.

m_compositingConsultsOverlap is always true in the current
code. This patch removes this flag, and removes dead code that is
never executed because it was never false.

No new tests, no change in behavior. The cleanup is covered by
existing tests.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
removed if-statement that is always true.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::shouldClipCompositedBounds):
removed if-statement that would never get triggered.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
removed m_compositingConsultsOverlap, and retained the code as if the flag were "true".

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor):

Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r148760 r148765  
     12013-04-19  Shawn Singh  <shawnsingh@chromium.org>
     2
     3        Remove non-overlap testing code in RenderLayerCompositor
     4        https://bugs.webkit.org/show_bug.cgi?id=85521
     5
     6        Reviewed by Simon Fraser.
     7
     8        m_compositingConsultsOverlap is always true in the current
     9        code. This patch removes this flag, and removes dead code that is
     10        never executed because it was never false.
     11
     12        No new tests, no change in behavior.  The cleanup is covered by
     13        existing tests.
     14
     15        * rendering/RenderLayer.cpp:
     16        (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
     17        removed if-statement that is always true.
     18       
     19        * rendering/RenderLayerBacking.cpp:
     20        (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
     21        removed if-statement that would never get triggered.
     22
     23        * rendering/RenderLayerCompositor.cpp:
     24        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
     25        (WebCore::RenderLayerCompositor::updateCompositingLayers):
     26        removed m_compositingConsultsOverlap, and retained the code as if the flag were "true".
     27       
     28        * rendering/RenderLayerCompositor.h:
     29        (RenderLayerCompositor):
     30
    1312013-04-19  Roger Fong  <roger_fong@apple.com>
    232
  • trunk/Source/WebCore/rendering/RenderLayer.cpp

    r148545 r148765  
    23712371        // repositioning, so update compositing layers from there.
    23722372        if (RenderLayer* compositingAncestor = stackingContainer()->enclosingCompositingLayer()) {
    2373             if (compositor()->compositingConsultsOverlap()) {
    2374                 if (usesCompositedScrolling() && !hasOutOfFlowPositionedDescendant())
    2375                     compositor()->updateCompositingLayers(CompositingUpdateOnCompositedScroll, compositingAncestor);
    2376                 else
    2377                     compositor()->updateCompositingLayers(CompositingUpdateOnScroll, compositingAncestor);
    2378             } else
    2379                 compositingAncestor->backing()->updateAfterLayout(RenderLayerBacking::IsUpdateRoot);
     2373            if (usesCompositedScrolling() && !hasOutOfFlowPositionedDescendant())
     2374                compositor()->updateCompositingLayers(CompositingUpdateOnCompositedScroll, compositingAncestor);
     2375            else
     2376                compositor()->updateCompositingLayers(CompositingUpdateOnScroll, compositingAncestor);
    23802377        }
    23812378    }
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r148748 r148765  
    420420        return false;
    421421
    422     if (!compositor()->compositingConsultsOverlap())
    423         return false;
    424 
    425422    if (layerOrAncestorIsTransformedOrUsingCompositedScrolling(m_owningLayer))
    426423        return false;
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r148590 r148765  
    156156
    157157struct CompositingState {
    158     CompositingState(RenderLayer* compAncestor, bool testOverlap)
     158    CompositingState(RenderLayer* compAncestor, bool testOverlap = true)
    159159        : m_compositingAncestor(compAncestor)
    160160        , m_subtreeIsCompositing(false)
     
    203203    , m_showRepaintCounter(false)
    204204    , m_acceleratedDrawingEnabled(false)
    205     , m_compositingConsultsOverlap(true)
    206205    , m_reevaluateCompositingAfterLayout(false)
    207206    , m_compositing(false)
     
    513512        break;
    514513    case CompositingUpdateOnScroll:
    515         if (m_compositingConsultsOverlap)
    516             checkForHierarchyUpdate = true; // Overlap can change with scrolling, so need to check for hierarchy updates.
     514        checkForHierarchyUpdate = true; // Overlap can change with scrolling, so need to check for hierarchy updates.
    517515
    518516        needGeometryUpdate = true;
     
    528526    bool needHierarchyUpdate = m_compositingLayersNeedRebuild;
    529527    bool isFullUpdate = !updateRoot;
    530     if (!updateRoot || m_compositingConsultsOverlap) {
    531         // Only clear the flag if we're updating the entire hierarchy.
    532         m_compositingLayersNeedRebuild = false;
    533         updateRoot = rootRenderLayer();
    534     }
     528
     529    // Only clear the flag if we're updating the entire hierarchy.
     530    m_compositingLayersNeedRebuild = false;
     531    updateRoot = rootRenderLayer();
    535532
    536533    if (isFullUpdate && updateType == CompositingUpdateAfterLayout)
     
    548545        // Go through the layers in presentation order, so that we can compute which RenderLayers need compositing layers.
    549546        // FIXME: we could maybe do this and the hierarchy udpate in one pass, but the parenting logic would be more complex.
    550         CompositingState compState(updateRoot, m_compositingConsultsOverlap);
     547        CompositingState compState(updateRoot);
    551548        bool layersChanged = false;
    552549        bool saw3DTransform = false;
    553         if (m_compositingConsultsOverlap) {
    554             OverlapMap overlapTestRequestMap;
    555             computeCompositingRequirements(0, updateRoot, &overlapTestRequestMap, compState, layersChanged, saw3DTransform);
    556         } else
    557             computeCompositingRequirements(0, updateRoot, 0, compState, layersChanged, saw3DTransform);
    558        
     550        OverlapMap overlapTestRequestMap;
     551        computeCompositingRequirements(0, updateRoot, &overlapTestRequestMap, compState, layersChanged, saw3DTransform);
    559552        needHierarchyUpdate |= layersChanged;
    560553    }
     
    569562        Frame* frame = m_renderView->frameView()->frame();
    570563        bool isMainFrame = !m_renderView->document()->ownerElement();
    571         LOG(Compositing, "\nUpdate %d of %s. Overlap testing is %s\n", m_rootLayerUpdateCount, isMainFrame ? "main frame" : frame->tree()->uniqueName().string().utf8().data(),
    572             m_compositingConsultsOverlap ? "on" : "off");
     564        LOG(Compositing, "\nUpdate %d of %s.\n", m_rootLayerUpdateCount, isMainFrame ? "main frame" : frame->tree()->uniqueName().string().utf8().data());
    573565    }
    574566#endif
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.h

    r148564 r148765  
    120120    bool compositingLayersNeedRebuild() const { return m_compositingLayersNeedRebuild; }
    121121
    122     // Controls whether or not to consult geometry when deciding which layers need
    123     // to be composited. Defaults to true.
    124     void setCompositingConsultsOverlap(bool b) { m_compositingConsultsOverlap = b; }
    125     bool compositingConsultsOverlap() const { return m_compositingConsultsOverlap; }
    126    
    127122    // GraphicsLayers buffer state, which gets pushed to the underlying platform layers
    128123    // at specific times.
     
    406401    bool m_showRepaintCounter;
    407402    bool m_acceleratedDrawingEnabled;
    408     bool m_compositingConsultsOverlap;
    409403
    410404    // When true, we have to wait until layout has happened before we can decide whether to enter compositing mode,
Note: See TracChangeset for help on using the changeset viewer.