void RemoteScrollingCoordinatorProxy::updateScrollingTree(const RemoteScrollingCoordinatorTransaction& transaction, bool& fixedOrStickyLayerChanged) { OwnPtr<ScrollingStateTree> stateTree = const_cast<RemoteScrollingCoordinatorTransaction&>(transaction).scrollingStateTree().release(); const RemoteLayerTreeHost* layerTreeHost = this->layerTreeHost(); if (!layerTreeHost) { ASSERT_NOT_REACHED(); return; } connectStateNodeLayers(*stateTree, *layerTreeHost, fixedOrStickyLayerChanged); m_scrollingTree->commitNewTreeState(stateTree.release()); }
void RemoteScrollingCoordinatorProxy::commitScrollingTreeState(const RemoteScrollingCoordinatorTransaction& transaction, RequestedScrollInfo& requestedScrollInfo) { m_requestedScrollInfo = &requestedScrollInfo; // FIXME: There must be a better idiom for this. std::unique_ptr<ScrollingStateTree> stateTree(const_cast<RemoteScrollingCoordinatorTransaction&>(transaction).scrollingStateTree().release()); const RemoteLayerTreeHost* layerTreeHost = this->layerTreeHost(); if (!layerTreeHost) { ASSERT_NOT_REACHED(); return; } connectStateNodeLayers(*stateTree, *layerTreeHost); m_scrollingTree->commitTreeState(WTFMove(stateTree)); m_requestedScrollInfo = nullptr; }