Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 15c6dde06deedd17ce5c67a054052533c7979cb3
https://github.com/WebKit/WebKit/commit/15c6dde06deedd17ce5c67a054052533c7979cb3
Author: Antti Koivisto <[email protected]>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M Source/WebCore/style/values/primitives/StyleCalcSizeValue.cpp
M Source/WebCore/style/values/primitives/StylePrimitiveData.h
M Source/WebCore/style/values/primitives/StyleValueHandleMap.h
Log Message:
-----------
REGRESSION(321191@main): SaferCPP NoDeleteChecker issues in calc-size()
https://bugs.webkit.org/show_bug.cgi?id=324371
rdar://187607849
Reviewed by Ryosuke Niwa.
The sizing predicates ask for the basis keyword through holdsAlternative(), so
every NODELETE function
in layout and rendering calling isAuto(), isStretch() or
isPercentOrCalculated() was reported. Two
causes behind that.
* Source/WebCore/style/values/primitives/StyleCalcSizeValue.cpp:
(WebCore::Style::CalcSizeValue::basisKeyword const):
Visiting the basis destructs nothing, but the checker cannot see through
switchOn(). Suppressed as
CSSPropertyInitialValues.cpp already does for the same limitation.
* Source/WebCore/style/values/primitives/StylePrimitiveData.h:
Annotate calcSizeValue(). Its body is in another translation unit, so the
analyzer has to assume the
worst of it wherever the predicates are compiled.
* Source/WebCore/style/values/primitives/StyleValueHandleMap.h:
(WebCore::Style::ValueHandleMap<ValueType>::get const):
Assert on the entry that is looked up anyway. The second lookup is what a debug
build cannot annotate
as free of destruction.
Canonical link: https://commits.webkit.org/321280@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications