[webkit-changes] [WebKit/WebKit] 8cbb6b: Add <input type=checkbox switch> macOS focus ring ...
Anne van Kesteren
noreply at github.com
Mon Dec 11 10:06:10 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8cbb6b66a695b63eb9a16a9f955d37c9c391e176
https://github.com/WebKit/WebKit/commit/8cbb6b66a695b63eb9a16a9f955d37c9c391e176
Author: Anne van Kesteren <annevk at annevk.nl>
Date: 2023-12-11 (Mon, 11 Dec 2023)
Changed paths:
M Source/WebCore/platform/graphics/mac/controls/SwitchTrackMac.mm
M Source/WebCore/rendering/RenderTheme.cpp
M Source/WebCore/rendering/RenderThemeMac.h
M Source/WebCore/rendering/RenderThemeMac.mm
Log Message:
-----------
Add <input type=checkbox switch> macOS focus ring support
https://bugs.webkit.org/show_bug.cgi?id=266139
Reviewed by Aditya Keerthi.
I discovered that the approach taken in 269869 at main to teach
RenderTheme is[State]() checks about switches was wrong. Rather than
changing individual state checks, it should have modified
extractControlStyleForRenderer() instead. By correcting that here the
correct thing will happen in RenderTheme for isFocused().
As a drive-by fix this removes RenderThemeMac::updateFocusedState()
which does not appear to be used and was confusing me.
* Source/WebCore/platform/graphics/mac/controls/SwitchTrackMac.mm:
(WebCore::SwitchTrackMac::draw):
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::extractControlStyleForRenderer const):
(WebCore::RenderTheme::isEnabled const):
(WebCore::RenderTheme::isFocused const):
(WebCore::RenderTheme::isPressed const):
* Source/WebCore/rendering/RenderThemeMac.h:
* Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::updateFocusedState): Deleted.
Canonical link: https://commits.webkit.org/271884@main
More information about the webkit-changes
mailing list