Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate IPC serialization for WebCore::WheelEventTestMonitor::DeferReason #20161

Conversation

zdobersek
Copy link
Contributor

@zdobersek zdobersek commented Nov 8, 2023

a6c2467

Generate IPC serialization for WebCore::WheelEventTestMonitor::DeferReason
https://bugs.webkit.org/show_bug.cgi?id=264405

Reviewed by Chris Dumez.

Move the WheelEventTestMonitor::DeferReason enum outside the WheelEventTestMonitor
class and turn it into an enumerated scope, providing a type alias inside the
WheelEventTestMonitor class and updating the uses of the enumeration values.

This enables specifying IPC serialization for this enumeration, avoiding listing
all the enumeration values in the EnumTraits specialization that can now be
removed. The two messages in the RemoteScrollingCoordinator IPC interface are
updated to handle these enumeration values as OptionSets, also requiring to
adjust the deferForReason and removeDeferralForReason methods on the
WheelEventTestMonitor class to work with OptionSet parameters.

* Source/WebCore/page/WheelEventTestMonitor.cpp:
(WebCore::WheelEventTestMonitor::deferForReason):
(WebCore::WheelEventTestMonitor::removeDeferralForReason):
(WebCore::operator<<):
* Source/WebCore/page/WheelEventTestMonitor.h:
(): Deleted.
* Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp:
(WebCore::ThreadedScrollingCoordinator::handleWheelEventForScrolling):
* Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent):
* Source/WebCore/page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::handleWheelEvent):
* Source/WebCore/platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::startScrollSnapAnimation):
(WebCore::ScrollingEffectsController::stopScrollSnapAnimation):
(WebCore::ScrollingEffectsController::scrollAnimationWillStart):
(WebCore::ScrollingEffectsController::scrollAnimationDidEnd):
* Source/WebCore/platform/mac/ScrollbarsControllerMac.mm:
(WebCore::ScrollbarsControllerMac::didBeginScrollGesture):
(WebCore::ScrollbarsControllerMac::didEndScrollGesture):
(WebCore::ScrollbarsControllerMac::sendContentAreaScrolledTimerFired):
(WebCore::ScrollbarsControllerMac::sendContentAreaScrolledSoon):
* Source/WebCore/platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::willStartRubberBandAnimation):
(WebCore::ScrollingEffectsController::didStopRubberBandAnimation):
(WebCore::ScrollingEffectsController::scheduleDiscreteScrollSnap):
(WebCore::ScrollingEffectsController::discreteSnapTransitionTimerFired):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::startDeferringScrollingTestCompletionForNode):
(WebKit::RemoteScrollingCoordinator::stopDeferringScrollingTestCompletionForNode):

Canonical link: https://commits.webkit.org/270514@main

e974d40

Misc iOS, tvOS & watchOS macOS Linux Windows
βœ… πŸ§ͺ style βœ… πŸ›  ios βœ… πŸ›  mac βœ… πŸ›  wpe βœ… πŸ›  wincairo
βœ… πŸ§ͺ bindings βœ… πŸ›  ios-sim βœ… πŸ›  mac-AS-debug   πŸ§ͺ wpe-wk2
βœ… πŸ§ͺ webkitperl βœ… πŸ§ͺ ios-wk2 βœ… πŸ§ͺ api-mac βœ… πŸ›  gtk
  πŸ§ͺ ios-wk2-wpt βœ… πŸ§ͺ mac-wk1   πŸ§ͺ gtk-wk2
βœ… πŸ§ͺ api-ios   πŸ§ͺ mac-wk2 βœ… πŸ§ͺ api-gtk
βœ… πŸ›  tv βœ… πŸ§ͺ mac-AS-debug-wk2
βœ… πŸ›  tv-sim
βœ… πŸ›  πŸ§ͺ merge βœ… πŸ›  watch
βœ… πŸ›  watch-sim

@zdobersek zdobersek self-assigned this Nov 8, 2023
@zdobersek zdobersek added the New Bugs Unclassified bugs are placed in this component until the correct component can be determined. label Nov 8, 2023
Copy link
Contributor

@cdumez cdumez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zdobersek zdobersek force-pushed the eng/Generate-IPC-serialization-for-WebCoreWheelEventTestMonitorDeferReason branch from 6a3a2ef to dd99cca Compare November 9, 2023 08:44
@zdobersek zdobersek requested a review from cdumez November 9, 2023 08:45
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Nov 9, 2023
Copy link
Contributor

@cdumez cdumez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That works.

@zdobersek zdobersek added merge-queue Applied to send a pull request to merge-queue and removed merging-blocked Applied to prevent a change from being merged merge-queue Applied to send a pull request to merge-queue labels Nov 10, 2023
@zdobersek zdobersek force-pushed the eng/Generate-IPC-serialization-for-WebCoreWheelEventTestMonitorDeferReason branch from dd99cca to e974d40 Compare November 10, 2023 07:37
@zdobersek zdobersek added the merge-queue Applied to send a pull request to merge-queue label Nov 10, 2023
…eason

https://bugs.webkit.org/show_bug.cgi?id=264405

Reviewed by Chris Dumez.

Move the WheelEventTestMonitor::DeferReason enum outside the WheelEventTestMonitor
class and turn it into an enumerated scope, providing a type alias inside the
WheelEventTestMonitor class and updating the uses of the enumeration values.

This enables specifying IPC serialization for this enumeration, avoiding listing
all the enumeration values in the EnumTraits specialization that can now be
removed. The two messages in the RemoteScrollingCoordinator IPC interface are
updated to handle these enumeration values as OptionSets, also requiring to
adjust the deferForReason and removeDeferralForReason methods on the
WheelEventTestMonitor class to work with OptionSet parameters.

* Source/WebCore/page/WheelEventTestMonitor.cpp:
(WebCore::WheelEventTestMonitor::deferForReason):
(WebCore::WheelEventTestMonitor::removeDeferralForReason):
(WebCore::operator<<):
* Source/WebCore/page/WheelEventTestMonitor.h:
(): Deleted.
* Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp:
(WebCore::ThreadedScrollingCoordinator::handleWheelEventForScrolling):
* Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent):
* Source/WebCore/page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::handleWheelEvent):
* Source/WebCore/platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::startScrollSnapAnimation):
(WebCore::ScrollingEffectsController::stopScrollSnapAnimation):
(WebCore::ScrollingEffectsController::scrollAnimationWillStart):
(WebCore::ScrollingEffectsController::scrollAnimationDidEnd):
* Source/WebCore/platform/mac/ScrollbarsControllerMac.mm:
(WebCore::ScrollbarsControllerMac::didBeginScrollGesture):
(WebCore::ScrollbarsControllerMac::didEndScrollGesture):
(WebCore::ScrollbarsControllerMac::sendContentAreaScrolledTimerFired):
(WebCore::ScrollbarsControllerMac::sendContentAreaScrolledSoon):
* Source/WebCore/platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::willStartRubberBandAnimation):
(WebCore::ScrollingEffectsController::didStopRubberBandAnimation):
(WebCore::ScrollingEffectsController::scheduleDiscreteScrollSnap):
(WebCore::ScrollingEffectsController::discreteSnapTransitionTimerFired):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::startDeferringScrollingTestCompletionForNode):
(WebKit::RemoteScrollingCoordinator::stopDeferringScrollingTestCompletionForNode):

Canonical link: https://commits.webkit.org/270514@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/Generate-IPC-serialization-for-WebCoreWheelEventTestMonitorDeferReason branch from e974d40 to a6c2467 Compare November 10, 2023 09:07
@webkit-commit-queue
Copy link
Collaborator

Committed 270514@main (a6c2467): https://commits.webkit.org/270514@main

Reviewed commits have been landed. Closing PR #20161 and removing active labels.

@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Nov 10, 2023
@webkit-commit-queue webkit-commit-queue merged commit a6c2467 into WebKit:main Nov 10, 2023
@zdobersek zdobersek deleted the eng/Generate-IPC-serialization-for-WebCoreWheelEventTestMonitorDeferReason branch November 10, 2023 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
New Bugs Unclassified bugs are placed in this component until the correct component can be determined.
Projects
None yet
5 participants