Changeset 161960 in webkit


Ignore:
Timestamp:
Jan 14, 2014 6:51:03 AM (10 years ago)
Author:
mihnea@adobe.com
Message:

[CSSRegions] The list of fixed positioned layers in named flows should be sorted by z-index
https://bugs.webkit.org/show_bug.cgi?id=126978

Reviewed by Antti Koivisto.

Return the list of fixed positioned layers sorted by z-index from
FlowThreadController::collectFixedPositionedLayers instead of manually sort it
every time we need it (RenderLayer::paintFixedLayersInNamedFlows, RenderLayer::hitTestFixedLayersInNamedFlows).
Refactoring covered by existing regions tests.

  • rendering/FlowThreadController.cpp:

(WebCore::compareZIndex):
(WebCore::FlowThreadController::collectFixedPositionedLayers):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r161958 r161960  
     12014-01-14  Mihnea Ovidenie  <mihnea@adobe.com>
     2
     3        [CSSRegions] The list of fixed positioned layers in named flows should be sorted by z-index
     4        https://bugs.webkit.org/show_bug.cgi?id=126978
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Return the list of fixed positioned layers sorted by z-index from
     9        FlowThreadController::collectFixedPositionedLayers instead of manually sort it
     10        every time we need it (RenderLayer::paintFixedLayersInNamedFlows, RenderLayer::hitTestFixedLayersInNamedFlows).
     11        Refactoring covered by existing regions tests.
     12
     13        * rendering/FlowThreadController.cpp:
     14        (WebCore::compareZIndex):
     15        (WebCore::FlowThreadController::collectFixedPositionedLayers):
     16        * rendering/RenderLayer.cpp:
     17        (WebCore::RenderLayer::paintFixedLayersInNamedFlows):
     18        (WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
     19
    1202014-01-14  Andreas Kling  <akling@apple.com>
    221
  • trunk/Source/WebCore/rendering/FlowThreadController.cpp

    r160720 r161960  
    2929
    3030#include "config.h"
    31 
    3231#include "FlowThreadController.h"
    3332
     
    281280}
    282281
     282static inline bool compareZIndex(RenderLayer* first, RenderLayer* second)
     283{
     284    return first->zIndex() < second->zIndex();
     285}
     286
    283287// Collect the fixed positioned layers that have the named flows as containing block
    284288// These layers are painted and hit-tested starting from RenderView not from regions.
     
    304308        }
    305309    }
     310
     311    std::stable_sort(fixedPosLayers.begin(), fixedPosLayers.end(), compareZIndex);
    306312}
    307313
  • trunk/Source/WebCore/rendering/RenderLayer.cpp

    r161669 r161960  
    40624062    renderer().view().flowThreadController().collectFixedPositionedLayers(fixedLayers);
    40634063
    4064     // Sort the fixed layers list
    4065     std::stable_sort(fixedLayers.begin(), fixedLayers.end(), compareZIndex);
    4066 
    40674064    // Paint the layers
    40684065    for (size_t i = 0; i < fixedLayers.size(); ++i) {
     
    48114808    Vector<RenderLayer*> fixedLayers;
    48124809    renderer().view().flowThreadController().collectFixedPositionedLayers(fixedLayers);
    4813 
    4814     // Sort the fixed layers list
    4815     std::stable_sort(fixedLayers.begin(), fixedLayers.end(), compareZIndex);
    48164810
    48174811    // Hit test the layers
Note: See TracChangeset for help on using the changeset viewer.