[webkit-changes] [WebKit/WebKit] 0a64dd: Initial <input type=checkbox switch> animation sup...
Anne van Kesteren
noreply at github.com
Sun Nov 26 05:58:31 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0a64dd54421137c48a57e6e0aab15a99139a8776
https://github.com/WebKit/WebKit/commit/0a64dd54421137c48a57e6e0aab15a99139a8776
Author: Anne van Kesteren <annevk at annevk.nl>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M Source/WebCore/dom/EventDispatcher.cpp
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/controls/SwitchThumbPart.h
M Source/WebCore/platform/graphics/controls/SwitchTrackPart.h
M Source/WebCore/platform/graphics/mac/controls/SwitchMacUtilities.h
M Source/WebCore/platform/graphics/mac/controls/SwitchMacUtilities.mm
M Source/WebCore/platform/graphics/mac/controls/SwitchThumbMac.h
M Source/WebCore/platform/graphics/mac/controls/SwitchThumbMac.mm
M Source/WebCore/platform/graphics/mac/controls/SwitchTrackMac.h
M Source/WebCore/platform/graphics/mac/controls/SwitchTrackMac.mm
M Source/WebCore/rendering/RenderTheme.cpp
M Source/WebCore/rendering/RenderTheme.h
M Source/WebCore/rendering/RenderThemeMac.h
M Source/WebKit/Shared/WebCoreArgumentCoders.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
Log Message:
-----------
Initial <input type=checkbox switch> animation support
https://bugs.webkit.org/show_bug.cgi?id=265108
Reviewed by Aditya Keerthi.
This adds the infrastructure needed to start the animation, somewhat
based on our <progress> implementation. And also implements the macOS
animation.
Thanks to Aditya, smfr, Tim Horton, Antoine, and Kimmo for much needed
guidance.
* Source/WebCore/dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
* Source/WebCore/html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::willDispatchClick):
(WebCore::switchCheckedChangeAnimationUpdateInterval):
(WebCore::CheckboxInputType::performSwitchCheckedChangeAnimation):
(WebCore::CheckboxInputType::switchCheckedChangeAnimationProgress const):
(WebCore::CheckboxInputType::switchCheckedChangeAnimationTimerFired):
* Source/WebCore/html/CheckboxInputType.h:
* Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::switchCheckedChangeAnimationProgress const):
* Source/WebCore/html/HTMLInputElement.h:
* Source/WebCore/platform/graphics/controls/SwitchThumbPart.h:
* Source/WebCore/platform/graphics/controls/SwitchTrackPart.h:
* Source/WebCore/platform/graphics/mac/controls/SwitchMacUtilities.h:
* Source/WebCore/platform/graphics/mac/controls/SwitchMacUtilities.mm:
(WebCore::SwitchMacUtilities::easeInOut):
* Source/WebCore/platform/graphics/mac/controls/SwitchThumbMac.h:
* Source/WebCore/platform/graphics/mac/controls/SwitchThumbMac.mm:
(WebCore::SwitchThumbMac::cellSize const):
(WebCore::SwitchThumbMac::draw):
* Source/WebCore/platform/graphics/mac/controls/SwitchTrackMac.h:
* Source/WebCore/platform/graphics/mac/controls/SwitchTrackMac.mm:
(WebCore::trackMaskImage):
(WebCore::trackImage):
(WebCore::SwitchTrackMac::draw):
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::updateSwitchThumbPartForRenderer):
(WebCore::updateSwitchTrackPartForRenderer):
(WebCore::RenderTheme::updateControlPartForRenderer const):
* Source/WebCore/rendering/RenderTheme.h:
(WebCore::RenderTheme::switchCheckedChangeAnimationDuration const):
* Source/WebCore/rendering/RenderThemeMac.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ControlPart>::encode):
(IPC::ArgumentCoder<ControlPart>::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
Canonical link: https://commits.webkit.org/271118@main
More information about the webkit-changes
mailing list