[webkit-changes] [WebKit/WebKit] 3be007: Make list-style-position quirk only available in q...
Tim Nguyen
noreply at github.com
Wed Nov 27 00:42:57 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3be0078f2601ceca057ebd096ae3384d75cdd8b4
https://github.com/WebKit/WebKit/commit/3be0078f2601ceca057ebd096ae3384d75cdd8b4
Author: Tim Nguyen <ntim at apple.com>
Date: 2024-11-27 (Wed, 27 Nov 2024)
Changed paths:
M LayoutTests/fast/lists/inline-before-content-after-list-marker.html
M Source/WebCore/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations
M Source/WebCore/css/quirks.css
M Source/WebCore/html/HTMLLIElement.cpp
M Source/WebCore/html/HTMLLIElement.h
M Source/WebCore/layout/formattingContexts/inline/InlineFormattingUtils.cpp
M Source/WebCore/layout/integration/LayoutIntegrationBoxTreeUpdater.cpp
M Source/WebCore/layout/layouttree/LayoutElementBox.h
M Source/WebCore/rendering/RenderListItem.h
M Source/WebCore/rendering/RenderListMarker.cpp
Log Message:
-----------
Make list-style-position quirk only available in quirks mode
https://bugs.webkit.org/show_bug.cgi?id=283738
rdar://140602985
Reviewed by Oriol Brufau.
There is a quirk that treats list items outside of ul/ol elements as `list-style-position: inside`.
This was a quirk to imitate the behavior in IE, however it is not spec compliant.
Implement this behavior using CSS and restrict it to quirks mode only. This matches Firefox and the specification.
Chrome use counter shows only 0.7% of page loads using this quirk: https://chromestatus.com/metrics/feature/timeline/popularity/5000
None of the affected sites are particularly popular.
This makes any potential impact manageable using quirks if needed.
* LayoutTests/fast/lists/inline-before-content-after-list-marker.html:
* Source/WebCore/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations:
* Source/WebCore/css/quirks.css:
(@namespace "http://www.w3.org/1999/xhtml";):
(li :is(ul, ol)):
(:is(ul, ol) :is(ul, ol, li)):
* Source/WebCore/html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::didAttachRenderers): Deleted.
* Source/WebCore/html/HTMLLIElement.h:
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingUtils.cpp:
(WebCore::Layout::InlineFormattingUtils::isAtSoftWrapOpportunity const):
* Source/WebCore/layout/integration/LayoutIntegrationBoxTreeUpdater.cpp:
(WebCore::LayoutIntegration::BoxTreeUpdater::createLayoutBox):
(WebCore::LayoutIntegration::updateListMarkerAttributes):
* Source/WebCore/layout/layouttree/LayoutElementBox.h:
(WebCore::Layout::ElementBox::isListMarkerOutside const):
(WebCore::Layout::ElementBox::isListMarkerInsideList const): Deleted.
* Source/WebCore/rendering/RenderListItem.h:
* Source/WebCore/rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::isInside const):
Canonical link: https://commits.webkit.org/287114@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list