Changeset 163176 in webkit


Ignore:
Timestamp:
Jan 31, 2014 10:25:34 AM (10 years ago)
Author:
Simon Fraser
Message:

Make iOS fixed layer registration more like OS X
https://bugs.webkit.org/show_bug.cgi?id=127983

Reviewed by Antti Koivisto.

Remove some #if PLATFORM(IOS) in the code related to registering
viewport-constrained layers. The code behaves correctly now in WK1
and WK2 based on the presence of a ScrollingCoordinator.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
(WebCore::nearestScrollingCoordinatorAncestor):
(WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
(WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r163175 r163176  
     12014-01-30  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Make iOS fixed layer registration more like OS X
     4        https://bugs.webkit.org/show_bug.cgi?id=127983
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Remove some #if PLATFORM(IOS) in the code related to registering
     9        viewport-constrained layers. The code behaves correctly now in WK1
     10        and WK2 based on the presence of a ScrollingCoordinator.
     11
     12        * rendering/RenderLayerCompositor.cpp:
     13        (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
     14        (WebCore::nearestScrollingCoordinatorAncestor):
     15        (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
     16        (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer):
     17
    1182014-01-31  Commit Queue  <commit-queue@webkit.org>
    219
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r163158 r163176  
    438438    if (client && isFlushRoot)
    439439        client->didFlushCompositingLayers();
    440 #else
     440#endif
     441
    441442    for (auto it = m_viewportConstrainedLayersNeedingUpdate.begin(), end = m_viewportConstrainedLayersNeedingUpdate.end(); it != end; ++it)
    442443        registerOrUpdateViewportConstrainedLayer(**it);
     444
    443445    m_viewportConstrainedLayersNeedingUpdate.clear();
    444 #endif
    445446    startLayerFlushTimerIfNeeded();
    446447}
     
    34293430}
    34303431
    3431 #if !PLATFORM(IOS)
    34323432static RenderLayerBacking* nearestScrollingCoordinatorAncestor(RenderLayer& layer)
    34333433{
     
    34433443    return nullptr;
    34443444}
    3445 #endif
    34463445
    34473446void RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer(RenderLayer& layer)
    34483447{
    3449 #if PLATFORM(IOS)
    3450     UNUSED_PARAM(layer);
    3451     // On iOS, we batch-update viewport-constrained layers in updateCustomLayersAfterFlush().
    3452 #else
    34533448    // FIXME: We should support sticky position here! And we should eventuall support fixed/sticky elements
    34543449    // that are inside non-main frames once we get non-main frames scrolling with the ScrollingCoordinator.
     
    34843479    else
    34853480        scrollingCoordinator->updateViewportConstrainedNode(nodeID, computeFixedViewportConstraints(layer), backing->graphicsLayer());
    3486 #endif
    34873481}
    34883482
     
    34903484{
    34913485    ASSERT(m_viewportConstrainedLayers.contains(&layer));
    3492 #if PLATFORM(IOS)
    3493     UNUSED_PARAM(layer);
    3494     // On iOS, we batch-update viewport-constrained layers in updateCustomLayersAfterFlush().
    3495 #else
     3486
    34963487    if (RenderLayerBacking* backing = layer.backing())
    34973488        backing->detachFromScrollingCoordinator();
    3498 #endif
    34993489}
    35003490
Note: See TracChangeset for help on using the changeset viewer.