[webkit-changes] [WebKit/WebKit] ccb0d9: Teach RenderStyle::getCachedPseudoStyle() about Ps...
Anne van Kesteren
noreply at github.com
Wed Feb 14 08:47:14 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ccb0d9418f55033e79a737ce52602e76da10af9d
https://github.com/WebKit/WebKit/commit/ccb0d9418f55033e79a737ce52602e76da10af9d
Author: Anne van Kesteren <annevk at annevk.nl>
Date: 2024-02-14 (Wed, 14 Feb 2024)
Changed paths:
M Source/WebCore/css/ComputedStyleExtractor.cpp
M Source/WebCore/dom/Element.cpp
M Source/WebCore/rendering/RenderBox.cpp
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/TextAutoSizing.cpp
M Source/WebCore/rendering/style/RenderStyle.cpp
M Source/WebCore/rendering/style/RenderStyle.h
M Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp
M Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp
M Source/WebCore/style/StylePendingResources.cpp
M Source/WebCore/style/StyleTreeResolver.cpp
Log Message:
-----------
Teach RenderStyle::getCachedPseudoStyle() about PseudoElementIdentifier
https://bugs.webkit.org/show_bug.cgi?id=269359
Reviewed by Antti Koivisto.
While developing a patch for getComputedStyle() I discovered with
considerable help from rniwa that Element::resolvePseudoElementStyle()
has to consistently cache the RenderStyle object as it's freed
otherwise.
I've added an assert to clarify this expectation. Using smart pointers
there might be good as well per rniwa. That can be done in a follow-up
patch.
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::computeRenderStyleForProperty):
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::renderOrDisplayContentsStyle const):
(WebCore::Element::resolvePseudoElementStyle):
(WebCore::Element::computedStyle):
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::imageChanged):
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::firstLineStyle const):
(WebCore::RenderElement::styleDidChange):
(WebCore::RenderElement::willBeDestroyed):
(WebCore::RenderElement::getCachedPseudoStyle const):
* Source/WebCore/rendering/TextAutoSizing.cpp:
(WebCore::cloneRenderStyleWithState):
(WebCore::TextAutoSizingValue::adjustTextNodeSizes):
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::getCachedPseudoStyle const):
(WebCore::RenderStyle::changeRequiresLayout const):
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp:
(WebCore::styleForFirstLetter):
* Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
(WebCore::RenderTreeUpdater::GeneratedContent::updatePseudoElement):
* Source/WebCore/style/StylePendingResources.cpp:
(WebCore::Style::loadPendingResources):
* Source/WebCore/style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement):
(WebCore::Style::TreeResolver::makeResolutionContextForPseudoElement):
(WebCore::Style::TreeResolver::makeResolutionContextForInheritedFirstLine):
Canonical link: https://commits.webkit.org/274629@main
More information about the webkit-changes
mailing list