[webkit-changes] [WebKit/WebKit] 73bff0: CSS Typed OM doesn't schedule mutation records
Ryosuke Niwa
noreply at github.com
Thu Mar 28 10:11:14 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 73bff01abebed57416a48b73cf105b223ae59049
https://github.com/WebKit/WebKit/commit/73bff01abebed57416a48b73cf105b223ae59049
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-03-28 (Thu, 28 Mar 2024)
Changed paths:
A LayoutTests/fast/custom-elements/mutation-observer-for-style-attribute-on-custom-elements-expected.txt
A LayoutTests/fast/custom-elements/mutation-observer-for-style-attribute-on-custom-elements.html
M LayoutTests/fast/dom/MutationObserver/observe-attributes-expected.txt
M LayoutTests/fast/dom/MutationObserver/observe-attributes.html
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp
A Source/WebCore/css/StyleAttributeMutationScope.cpp
A Source/WebCore/css/StyleAttributeMutationScope.h
M Source/WebCore/css/typedom/InlineStylePropertyMap.cpp
Log Message:
-----------
CSS Typed OM doesn't schedule mutation records
https://bugs.webkit.org/show_bug.cgi?id=267063
Reviewed by Antti Koivisto.
This PR fixes the bug that mutating element's inline style with attributeStyleMap does not enqueue
mutation record for mutation observers. To do this, this PR extracts StyleAttributeMutationScope
out of PropertySetCSSStyleDeclaration.cpp into its own cpp/h files and generalizes it to support
both CSSStyleDeclaration and attributeStyleMap.
* LayoutTests/fast/custom-elements/mutation-observer-for-style-attribute-on-custom-elements-expected.txt: Added.
* LayoutTests/fast/custom-elements/mutation-observer-for-style-attribute-on-custom-elements.html: Added.
* LayoutTests/fast/dom/MutationObserver/observe-attributes-expected.txt:
* LayoutTests/fast/dom/MutationObserver/observe-attributes.html: Added test cases.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore::InlineCSSStyleDeclaration::didMutate):
(WebCore::StyleAttributeMutationScope::StyleAttributeMutationScope): Deleted.
(WebCore::StyleAttributeMutationScope::~StyleAttributeMutationScope): Deleted.
(WebCore::StyleAttributeMutationScope::enqueueMutationRecord): Deleted.
(WebCore::StyleAttributeMutationScope::didInvalidateStyleAttr): Deleted.
* Source/WebCore/css/StyleAttributeMutationScope.cpp: Added.
* Source/WebCore/css/StyleAttributeMutationScope.h: Added.
(WebCore::StyleAttributeMutationScope::StyleAttributeMutationScope): Added.
(WebCore::StyleAttributeMutationScope::~StyleAttributeMutationScope): Added.
(WebCore::StyleAttributeMutationScope::enqueueMutationRecord): Added.
* Source/WebCore/css/typedom/InlineStylePropertyMap.cpp:
(WebCore::InlineStylePropertyMap::removeProperty):
(WebCore::InlineStylePropertyMap::setShorthandProperty):
(WebCore::InlineStylePropertyMap::setProperty):
(WebCore::InlineStylePropertyMap::setCustomProperty):
(WebCore::InlineStylePropertyMap::removeCustomProperty):
(WebCore::InlineStylePropertyMap::clear):
* Source/WebCore/css/typedom/InlineStylePropertyMap.h:
Canonical link: https://commits.webkit.org/276782@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