Changeset 42850 in webkit


Ignore:
Timestamp:
Apr 24, 2009 4:05:21 PM (15 years ago)
Author:
mitz@apple.com
Message:
  • address Hyatt's review comments on the last patch
  • rendering/RenderLayer.cpp: (WebCore::performOverlapTests): (WebCore::RenderLayer::paintLayer):
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r42849 r42850  
     12009-04-24  Dan Bernstein  <mitz@apple.com>
     2
     3        - address Hyatt's review comments on the last patch
     4
     5        * rendering/RenderLayer.cpp:
     6        (WebCore::performOverlapTests):
     7        (WebCore::RenderLayer::paintLayer):
     8
    192009-04-24  Dan Bernstein  <mitz@apple.com>
    210
  • trunk/WebCore/rendering/RenderLayer.cpp

    r42849 r42850  
    19121912}
    19131913
    1914 void
    1915 RenderLayer::paintLayer(RenderLayer* rootLayer, GraphicsContext* p,
     1914static void performOverlapTests(RenderObject::OverlapTestRequestMap& overlapTestRequests, const IntRect& layerBounds)
     1915{
     1916    Vector<OverlapTestRequestClient*> overlappedRequestClients;
     1917    RenderObject::OverlapTestRequestMap::iterator end = overlapTestRequests.end();
     1918    for (RenderObject::OverlapTestRequestMap::iterator it = overlapTestRequests.begin(); it != end; ++it) {
     1919        if (!layerBounds.intersects(it->second))
     1920            continue;
     1921
     1922        it->first->setOverlapTestResult(true);
     1923        overlappedRequestClients.append(it->first);
     1924    }
     1925    for (size_t i = 0; i < overlappedRequestClients.size(); ++i)
     1926        overlapTestRequests.remove(overlappedRequestClients[i]);
     1927}
     1928
     1929void RenderLayer::paintLayer(RenderLayer* rootLayer, GraphicsContext* p,
    19161930                        const IntRect& paintDirtyRect, bool haveTransparency, PaintRestriction paintRestriction,
    19171931                        RenderObject* paintingRoot, RenderObject::OverlapTestRequestMap* overlapTestRequests,
     
    20142028        paintingRootForRenderer = paintingRoot;
    20152029
    2016     if (overlapTestRequests) {
    2017          Vector<OverlapTestRequestClient*> overlappedRequestClients;
    2018         RenderObject::OverlapTestRequestMap::iterator end = overlapTestRequests->end();
    2019         for (RenderObject::OverlapTestRequestMap::iterator it = overlapTestRequests->begin(); it != end; ++it) {
    2020             if (!layerBounds.intersects(it->second))
    2021                 continue;
    2022 
    2023             it->first->setOverlapTestResult(true);
    2024             overlappedRequestClients.append(it->first);
    2025         }
    2026         for (size_t i = 0; i < overlappedRequestClients.size(); ++i)
    2027             overlapTestRequests->remove(overlappedRequestClients[i]);
    2028     }
     2030    if (overlapTestRequests)
     2031        performOverlapTests(*overlapTestRequests, layerBounds);
    20292032
    20302033    // We want to paint our layer, but only if we intersect the damage rect.
Note: See TracChangeset for help on using the changeset viewer.