Skip to content

Stop using UncheckedKey containers in WebCore/style #47250

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 26, 2025

Conversation

cdumez
Copy link
Contributor

@cdumez cdumez commented Jun 26, 2025

ad6c748

Stop using UncheckedKey containers in WebCore/style
https://bugs.webkit.org/show_bug.cgi?id=295042

Reviewed by Darin Adler.

Stop using UncheckedKey containers in WebCore/style, for safety. This tested as
performance neutral on Speedometer.

* Source/WebCore/style/AnchorPositionEvaluator.cpp:
(WebCore::Style::AnchorPositionEvaluator::findAnchorsForAnchorPositionedElement):
* Source/WebCore/style/AnchorPositionEvaluator.h:
* Source/WebCore/style/ChildChangeInvalidation.h:
* Source/WebCore/style/InspectorCSSOMWrappers.h:
* Source/WebCore/style/MatchedDeclarationsCache.h:
* Source/WebCore/style/PropertyCascade.h:
(WebCore::Style::PropertyCascade::customProperties const):
* Source/WebCore/style/RuleFeature.h:
* Source/WebCore/style/RuleSet.cpp:
(WebCore::Style::RuleSet::evaluateDynamicMediaQueryRules):
* Source/WebCore/style/RuleSet.h:
* Source/WebCore/style/RuleSetBuilder.h:
* Source/WebCore/style/SelectorMatchingState.h:
* Source/WebCore/style/StyleBuilder.h:
* Source/WebCore/style/StyleBuilderState.h:
* Source/WebCore/style/StyleInvalidator.h:
* Source/WebCore/style/StyleResolver.cpp:
(WebCore::Style::Resolver::keyframeRulesForName const):
* Source/WebCore/style/StyleResolver.h:
* Source/WebCore/style/StyleScope.h:
* Source/WebCore/style/StyleScopeRuleSets.cpp:
(WebCore::Style::ensureInvalidationRuleSets):
(WebCore::Style::ScopeRuleSets::customPropertyNamesInStyleContainerQueries const):
* Source/WebCore/style/StyleScopeRuleSets.h:
* Source/WebCore/style/StyleSheetContentsCache.h:
* Source/WebCore/style/StyleTreeResolver.h:
* Source/WebCore/style/StyleUpdate.h:
* Source/WebCore/style/Styleable.cpp:
(WebCore::compileTransitionPropertiesInStyle):
(WebCore::Styleable::updateCSSTransitions const):

Canonical link: https://commits.webkit.org/296679@main

e801540

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe 🛠 win
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 🧪 win-tests
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🛠 wpe-cairo
✅ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk
✅ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 🧪 gtk-wk2
✅ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ✅ 🧪 api-gtk
✅ 🛠 🧪 merge ✅ 🧪 vision-wk2 ✅ 🧪 mac-intel-wk2 🛠 playstation
✅ 🛠 tv ✅ 🛠 mac-safer-cpp
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@cdumez cdumez self-assigned this Jun 26, 2025
@cdumez cdumez added the CSS Cascading Style Sheets implementation label Jun 26, 2025
@cdumez cdumez added the merge-queue Applied to send a pull request to merge-queue label Jun 26, 2025
https://bugs.webkit.org/show_bug.cgi?id=295042

Reviewed by Darin Adler.

Stop using UncheckedKey containers in WebCore/style, for safety. This tested as
performance neutral on Speedometer.

* Source/WebCore/style/AnchorPositionEvaluator.cpp:
(WebCore::Style::AnchorPositionEvaluator::findAnchorsForAnchorPositionedElement):
* Source/WebCore/style/AnchorPositionEvaluator.h:
* Source/WebCore/style/ChildChangeInvalidation.h:
* Source/WebCore/style/InspectorCSSOMWrappers.h:
* Source/WebCore/style/MatchedDeclarationsCache.h:
* Source/WebCore/style/PropertyCascade.h:
(WebCore::Style::PropertyCascade::customProperties const):
* Source/WebCore/style/RuleFeature.h:
* Source/WebCore/style/RuleSet.cpp:
(WebCore::Style::RuleSet::evaluateDynamicMediaQueryRules):
* Source/WebCore/style/RuleSet.h:
* Source/WebCore/style/RuleSetBuilder.h:
* Source/WebCore/style/SelectorMatchingState.h:
* Source/WebCore/style/StyleBuilder.h:
* Source/WebCore/style/StyleBuilderState.h:
* Source/WebCore/style/StyleInvalidator.h:
* Source/WebCore/style/StyleResolver.cpp:
(WebCore::Style::Resolver::keyframeRulesForName const):
* Source/WebCore/style/StyleResolver.h:
* Source/WebCore/style/StyleScope.h:
* Source/WebCore/style/StyleScopeRuleSets.cpp:
(WebCore::Style::ensureInvalidationRuleSets):
(WebCore::Style::ScopeRuleSets::customPropertyNamesInStyleContainerQueries const):
* Source/WebCore/style/StyleScopeRuleSets.h:
* Source/WebCore/style/StyleSheetContentsCache.h:
* Source/WebCore/style/StyleTreeResolver.h:
* Source/WebCore/style/StyleUpdate.h:
* Source/WebCore/style/Styleable.cpp:
(WebCore::compileTransitionPropertiesInStyle):
(WebCore::Styleable::updateCSSTransitions const):

Canonical link: https://commits.webkit.org/296679@main
@webkit-commit-queue
Copy link
Collaborator

Committed 296679@main (ad6c748): https://commits.webkit.org/296679@main

Reviewed commits have been landed. Closing PR #47250 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit ad6c748 into WebKit:main Jun 26, 2025
@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Jun 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CSS Cascading Style Sheets implementation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants