[webkit-changes] [WebKit/WebKit] 24caf2: Cleanup node tree side of :checked and :indeterminate

Anne van Kesteren noreply at github.com
Sat Dec 2 10:21:18 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 24caf261dab85775c66434d24f6de6f93926d9fa
      https://github.com/WebKit/WebKit/commit/24caf261dab85775c66434d24f6de6f93926d9fa
  Author: Anne van Kesteren <annevk at annevk.nl>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M LayoutTests/imported/w3c/resources/resource-files.json
    A LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/checked-indeterminate.window-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/checked-indeterminate.window.html
    A LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/checked-indeterminate.window.js
    A LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/dir-dynamic-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/dir-dynamic.html
    M LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/dir-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/dir.html
    M LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html
    A LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio-group-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio-group-ref.html
    A LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio-group.html
    M LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly.html
    M LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/w3c-import.log
    M LayoutTests/platform/gtk/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt
    M LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt
    M LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt
    M LayoutTests/platform/wpe/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt
    M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
    M Source/WebCore/css/SelectorCheckerTestFunctions.h
    M Source/WebCore/dom/Element.cpp
    M Source/WebCore/dom/Element.h
    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/html/HTMLProgressElement.cpp
    M Source/WebCore/html/HTMLProgressElement.h
    M Source/WebCore/html/InputType.cpp
    M Source/WebCore/html/InputType.h
    M Source/WebCore/rendering/RenderTheme.cpp

  Log Message:
  -----------
  Cleanup node tree side of :checked and :indeterminate
https://bugs.webkit.org/show_bug.cgi?id=265660

Reviewed by Tim Nguyen.

Rename shouldAppearChecked() to matchesCheckedPseudoClass() as that is
a clearer name that does not need a comment describing why things are
this way.

No longer check for :indeterminate in SelectorCheckerTestFunctions.h as
that goes against the HTML Standard and Selectors has been aligned with
that a while back:
https://html.spec.whatwg.org/#selector-checked
https://drafts.csswg.org/selectors/#checked

And then finally instead of having everyone go out of their way to
cater to an oddity in RenderTheme, make RenderTheme handle it.

Relevant web-platform-tests directory is synchronized up to:
https://github.com/web-platform-tests/wpt/commit/e0e0f5b2721bf22568309f71a56ba7926348b0ef

* LayoutTests/imported/w3c/resources/resource-files.json:
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/checked-indeterminate.window-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/checked-indeterminate.window.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/checked-indeterminate.window.js: Added.
(test):
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/dir-dynamic-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/dir-dynamic.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/dir-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/dir.html:
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html:
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio-group-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio-group-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio-group.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly.html:
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/w3c-import.log:
* LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt:
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isChecked const):
* Source/WebCore/css/SelectorCheckerTestFunctions.h:
(WebCore::isChecked):
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::matchesIndeterminatePseudoClass const):
(WebCore::Element::shouldAppearIndeterminate const): Deleted.
* Source/WebCore/dom/Element.h:
* Source/WebCore/html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::matchesIndeterminatePseudoClass const):
(WebCore::CheckboxInputType::shouldAppearIndeterminate const): Deleted.
* Source/WebCore/html/CheckboxInputType.h:
* Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::matchesCheckedPseudoClass const):
(WebCore::HTMLInputElement::matchesIndeterminatePseudoClass const):
(WebCore::HTMLInputElement::shouldAppearChecked const): Deleted.
(WebCore::HTMLInputElement::shouldAppearIndeterminate const): Deleted.
* Source/WebCore/html/HTMLInputElement.h:
* Source/WebCore/html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::matchesIndeterminatePseudoClass const):
(WebCore::HTMLProgressElement::shouldAppearIndeterminate const): Deleted.
* Source/WebCore/html/HTMLProgressElement.h:
* Source/WebCore/html/InputType.cpp:
(WebCore::InputType::shouldAppearIndeterminate const): Deleted.
* Source/WebCore/html/InputType.h:
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isChecked const):
(WebCore::RenderTheme::isIndeterminate const):

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




More information about the webkit-changes mailing list