| Index: Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| diff --git a/Source/core/page/scrolling/ScrollingCoordinator.cpp b/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| index 0f5faec87e07500fae5a511398ccf52c3717d382..6d24bf271475ef03841d400c3298098dd5fc7fcd 100644
|
| --- a/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| +++ b/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| @@ -316,6 +316,8 @@ bool ScrollingCoordinator::scrollableAreaScrollLayerDidChange(ScrollableArea* sc
|
|
|
| static void convertLayerRectsToEnclosingCompositedLayer(const LayerHitTestRects& layerRects, LayerHitTestRects& compositorRects)
|
| {
|
| + TRACE_EVENT0("input", "ScrollingCoordinator::convertLayerRectsToEnclosingCompositedLayer");
|
| +
|
| // We have a set of rects per RenderLayer, we need to map them to their bounding boxes in their
|
| // enclosing composited layer.
|
| for (LayerHitTestRects::const_iterator layerIter = layerRects.begin(); layerIter != layerRects.end(); ++layerIter) {
|
| @@ -342,10 +344,9 @@ static void convertLayerRectsToEnclosingCompositedLayer(const LayerHitTestRects&
|
| compIter = compositorRects.add(compositedLayer, Vector<LayoutRect>()).iterator;
|
|
|
| // Transform each rect to the co-ordinate space of it's enclosing composited layer.
|
| - // Ideally we'd compute a transformation matrix once and re-use it for each rect, but
|
| - // there doesn't appear to be any easy way to do it (mapLocalToContainer will flatten
|
| - // the TransformState, so we can't use setQuad/mappedQuad over and over again). Perhaps
|
| - // RenderGeometryMap?
|
| + // Ideally we'd compute a transformation matrix once and re-use it for each rect.
|
| + // RenderGeometryMap can be used for this (but needs to be updated to support crossing
|
| + // iframe boundaries), but in practice doesn't appear to provide much performance benefit.
|
| for (size_t i = 0; i < layerIter->value.size(); ++i) {
|
| FloatQuad localQuad(layerIter->value[i]);
|
| TransformState transformState(TransformState::ApplyTransformDirection, localQuad);
|
|
|