Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ccb0d9418f55033e79a737ce52602e76da10af9d https://github.com/WebKit/WebKit/commit/ccb0d9418f55033e79a737ce52602e76da10af9d Author: Anne van Kesteren <ann...@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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes