Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fb6f64f9959f2873795185a5be1348f9c2d75cbb
      
https://github.com/WebKit/WebKit/commit/fb6f64f9959f2873795185a5be1348f9c2d75cbb
  Author: Anne van Kesteren <ann...@annevk.nl>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M Source/WebCore/html/CheckboxInputType.cpp
    M Source/WebCore/html/CheckboxInputType.h
    M Source/WebCore/html/HTMLInputElement.cpp
    M Source/WebCore/html/HTMLInputElement.h
    M Source/WebCore/platform/graphics/SpringSolver.h
    M Source/WebCore/rendering/RenderTheme.h
    M Source/WebCore/rendering/ios/RenderThemeIOS.h

  Log Message:
  -----------
  Adjust <input type=checkbox switch> iOS animation
https://bugs.webkit.org/show_bug.cgi?id=271839
rdar://125563501

Reviewed by Aditya Keerthi.

The pressed animation for the thumb needs a slight delay. This in turn
necessitates introducing additional state to indicate when it is
pressed, as the control generally being active is no longer sufficient
(that changes too early now).

Also make these more general improvements:

- Rename pressed to held to account for the slight change in semantics.
- Abstract finding the relevant Touch of a TouchEvent in a method.
- Call dispatchSimulatedClick with SendNoEvents for its mouse events
  argument. They are redundant and could possibly lead to non-touch
  code paths being triggered.

* Source/WebCore/html/CheckboxInputType.cpp:
(WebCore::findTouchWithIdentifier):
(WebCore::CheckboxInputType::subsequentTouchEventTouch const):
(WebCore::CheckboxInputType::handleTouchEvent):
(WebCore::CheckboxInputType::startSwitchPointerTracking):
(WebCore::CheckboxInputType::stopSwitchPointerTracking):
(WebCore::CheckboxInputType::disabledStateChanged):
(WebCore::CheckboxInputType::willUpdateCheckedness):
(WebCore::switchAnimationDuration):
(WebCore::CheckboxInputType::switchAnimationStartTime const):
(WebCore::CheckboxInputType::setSwitchAnimationStartTime):
(WebCore::CheckboxInputType::setIsSwitchHeld):
(WebCore::CheckboxInputType::isSwitchVisuallyOn const):
(WebCore::CheckboxInputType::switchAnimationHeldProgress const):
(WebCore::CheckboxInputType::isSwitchHeld const):
(WebCore::CheckboxInputType::switchAnimationTimerFired):
(WebCore::CheckboxInputType::switchAnimationPressedProgress const): Deleted.
* Source/WebCore/html/CheckboxInputType.h:
* Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::switchAnimationHeldProgress const):
(WebCore::HTMLInputElement::isSwitchHeld const):
(WebCore::HTMLInputElement::switchAnimationPressedProgress const): Deleted.
* Source/WebCore/html/HTMLInputElement.h:
* Source/WebCore/platform/graphics/SpringSolver.h:
(WebCore::SpringSolver::solve const):
(WebCore::SpringSolver::solve): Deleted.
* Source/WebCore/rendering/RenderTheme.h:
(WebCore::RenderTheme::switchAnimationHeldDuration const):
(WebCore::RenderTheme::switchAnimationPressedDuration const): Deleted.
* Source/WebCore/rendering/ios/RenderThemeIOS.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to