ScrollingTreeIOS.h [plain text]
#pragma once
#if ENABLE(ASYNC_SCROLLING)
#include "ScrollingStateTree.h"
#include "ScrollingTree.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
namespace WebCore {
class AsyncScrollingCoordinator;
class ScrollingTreeIOS : public ScrollingTree {
public:
static Ref<ScrollingTreeIOS> create(AsyncScrollingCoordinator*);
virtual ~ScrollingTreeIOS();
void handleWheelEvent(const PlatformWheelEvent&) override { }
EventResult tryToHandleWheelEvent(const PlatformWheelEvent&) override { return DidNotHandleEvent; }
void invalidate() override;
private:
explicit ScrollingTreeIOS(AsyncScrollingCoordinator*);
bool isScrollingTreeIOS() const override { return true; }
PassRefPtr<ScrollingTreeNode> createScrollingTreeNode(ScrollingNodeType, ScrollingNodeID) override;
void scrollingTreeNodeDidScroll(ScrollingNodeID, const FloatPoint& scrollPosition, const std::optional<FloatPoint>& layoutViewportOrigin, ScrollingLayerPositionAction = ScrollingLayerPositionAction::Sync) override;
void currentSnapPointIndicesDidChange(WebCore::ScrollingNodeID, unsigned horizontal, unsigned vertical) override;
FloatRect fixedPositionRect() override;
RefPtr<AsyncScrollingCoordinator> m_scrollingCoordinator;
};
}
SPECIALIZE_TYPE_TRAITS_SCROLLING_TREE(WebCore::ScrollingTreeIOS, isScrollingTreeIOS())
#endif // ENABLE(ASYNC_SCROLLING)