ScrollingTree::EventResult RemoteScrollingTree::tryToHandleWheelEvent(const PlatformWheelEvent& wheelEvent) { if (shouldHandleWheelEventSynchronously(wheelEvent)) return SendToMainThread; if (willWheelEventStartSwipeGesture(wheelEvent)) return DidNotHandleEvent; handleWheelEvent(wheelEvent); return DidHandleEvent; }
ScrollingTree::EventResult ThreadedScrollingTree::tryToHandleWheelEvent(const PlatformWheelEvent& wheelEvent) { if (shouldHandleWheelEventSynchronously(wheelEvent)) return SendToMainThread; if (willWheelEventStartSwipeGesture(wheelEvent)) return DidNotHandleEvent; ScrollingThread::dispatch(bind(&ThreadedScrollingTree::handleWheelEvent, this, wheelEvent)); return DidHandleEvent; }
ScrollingTree::EventResult ThreadedScrollingTree::tryToHandleWheelEvent(const PlatformWheelEvent& wheelEvent) { if (shouldHandleWheelEventSynchronously(wheelEvent)) return SendToMainThread; if (willWheelEventStartSwipeGesture(wheelEvent)) return DidNotHandleEvent; RefPtr<ThreadedScrollingTree> protectedThis(this); ScrollingThread::dispatch([protectedThis, wheelEvent] { protectedThis->handleWheelEvent(wheelEvent); }); return DidHandleEvent; }