[webkit-changes] [WebKit/WebKit] 78b540: Computed display of form inside table elements sho...
Ahmad Saleem
noreply at github.com
Sun Jun 18 01:06:37 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 78b54052c50b05e6861860cc08ba9915d8c3404f
https://github.com/WebKit/WebKit/commit/78b54052c50b05e6861860cc08ba9915d8c3404f
Author: Ahmad Saleem <ahmad.saleem792+github at gmail.com>
Date: 2023-06-18 (Sun, 18 Jun 2023)
Changed paths:
M LayoutTests/fast/css/pseudo-class-internal-expected.txt
M LayoutTests/fast/css/pseudo-class-internal.html
M LayoutTests/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/tables/form-in-tables-expected.txt
M Source/WebCore/css/CSSSelector.cpp
M Source/WebCore/css/CSSSelector.h
M Source/WebCore/css/SelectorChecker.cpp
M Source/WebCore/css/SelectorCheckerTestFunctions.h
M Source/WebCore/css/SelectorPseudoClassAndCompatibilityElementMap.in
M Source/WebCore/css/html.css
M Source/WebCore/css/parser/CSSSelectorParser.cpp
M Source/WebCore/cssjit/SelectorCompiler.cpp
M Source/WebCore/html/HTMLFormElement.cpp
M Source/WebCore/html/HTMLFormElement.h
M Source/WebCore/html/parser/HTMLConstructionSite.cpp
M Source/WebCore/html/parser/HTMLConstructionSite.h
M Source/WebCore/html/parser/HTMLTreeBuilder.cpp
Log Message:
-----------
Computed display of form inside table elements should be display:none
https://bugs.webkit.org/show_bug.cgi?id=252541
rdar://problem/105932450
Reviewed by Tim Nguyen.
This patch is to align WebKit with Blink / Chromium and Gecko / Firefox and web-specification.
Web-Spec: https://html.spec.whatwg.org/multipage/rendering.html#tables-2
The patch adds UA stylesheet rule as expected from the web-specification to change display
type of form inside table elements to "display: none" by introducing internal pseudo class ':-internal-html-document'.
* Source/WebCore/css/html.css: Add new UA rules for form in tables
* Source/WebCore/css/CSSSelector.h: New Pseudo class 'PseudoClassHtmlDocument'
* Source/WebCore/css/CSSSelector.cpp:
(CSSSelector::selectorText): As above to translate in ':-internal-html-document'
* Source/WebCore/css/SelectorChecker.cpp:
(SelectorChecker::checkOne): Add case for 'PseudoClassHtmlDocument'
* Source/WebCore/css/SelectorCheckerTestFunctions.h: New bool function 'matchesHtmlDocumentPseudoClass' to return 'HTML' document
* Source/WebCore/css/SelectorPseudoClassAndCompatibilityElementMap.in: Add '-internal-html-document' in list
* Source/WebCore/cssjit/SelectorCompiler.cpp: Add in namespace similar to other
(operationMatchesIsHtmlPseudoClass): New function to return 'matchesHtmlDocumentPseudoClass'
(addPseudoClassType): Add new case 'PseudoClassHtmlDocument'
* Source/WebCore/html/HTMLFormElement.cpp:
(HTMLFormElement::rendererIsNeeded): Deleted hardcoded logic of forms in table layout
(copyNonAttributePropertiesFromElement): Deleted
* Source/WebCore/html/HTMLFormElement.h: Deleted unused definition after above changes
* Source/WebCore/css/parser/CSSSelectorParser.cpp:
(CSSSelectorParser::consumePseudo): Restrict exposing internal pseudo class to web
* Source/WebCore/html/parser/HTMLConstructionSite.cpp:
(HTMLConstructionSite::insertHTMLFormElement): Remove 'isDemoted' and usage
* Source/WebCore/html/parser/HTMLConstructionSite.h: Remove 'isDemoted' from definition
* Source/WebCore/html/parser/HTMLTreeBuilder.cpp:
(HTMLTreeBuilder::processStartTagForInTable): Update since 'isDemoted' is now gone
* LayoutTests/fast/css/pseudo-class-internal.html: Update for new internal pseudo class
* LayoutTests/fast/css/pseudo-class-internal-expected.txt" Update Expectations for above
* LayoutTests/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/tables/form-in-tables-expected.txt: Rebaselined
Canonical link: https://commits.webkit.org/265283@main
More information about the webkit-changes
mailing list