[webkit-changes] [WebKit/WebKit] a6d354: Regression(264098 at main) HTMLFieldsetElement behavi...

Chris Dumez noreply at github.com
Wed Jun 14 14:32:59 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a6d354d7281cc2adcfbffc89b5c0f741bed92ff2
      https://github.com/WebKit/WebKit/commit/a6d354d7281cc2adcfbffc89b5c0f741bed92ff2
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-06-14 (Wed, 14 Jun 2023)

  Changed paths:
    M LayoutTests/fast/css/pseudo-indeterminate-radio-buttons-basics-expected.html
    M LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html
    M LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/enabled.html
    M Source/WebCore/css/SelectorCheckerTestFunctions.h
    M Source/WebCore/html/HTMLElement.h
    M Source/WebCore/html/HTMLFieldSetElement.cpp
    M Source/WebCore/html/HTMLFieldSetElement.h

  Log Message:
  -----------
  Regression(264098 at main) HTMLFieldsetElement behavior for :enabled / :disabled CSS selectors is incorrect
https://bugs.webkit.org/show_bug.cgi?id=258078

Reviewed by Tim Nguyen.

264098 at main updated HTMLFieldSetElement::isDisabledFormControl() to return false
since a fieldset element can never be disabled per the specification.

This had the side effect of affecting our behavior for :enabled / :disabled CSS
selectors, which relied on this function. However, the behavior of these CSS
selectors shouldn't have changed since they rely on the "actually disabled" state,
not the "disabled" state [1].

There were two issues here, some of our CSS selector logic was relying on
isDisabledFormControl() instead of isActuallyDisabled(). Also, 264098 at main
shouldn't have changed the value returned by isActuallyDisabled() for
HTMLFieldsetElements.

This was pointed out at:
- https://github.com/whatwg/html/issues/5886#issuecomment-1582410112

[1] https://html.spec.whatwg.org/multipage/semantics-other.html#selector-enabled
[2] https://html.spec.whatwg.org/multipage/semantics-other.html#selector-disabled
[3] https://html.spec.whatwg.org/multipage/semantics-other.html#concept-element-disabled
[4] https://html.spec.whatwg.org/multipage/form-elements.html#concept-fieldset-disabled

* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html:
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/enabled.html:
* Source/WebCore/css/SelectorCheckerTestFunctions.h:
(WebCore::matchesEnabledPseudoClass):
* Source/WebCore/html/HTMLElement.h:
* Source/WebCore/html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::isActuallyDisabled const):
* Source/WebCore/html/HTMLFieldSetElement.h:

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




More information about the webkit-changes mailing list