[webkit-changes] [WebKit/WebKit] fc0d8f: Detect complex custom property cycles involving mu...
Antti Koivisto
noreply at github.com
Fri Jan 27 11:37:04 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fc0d8fbdae064b740a609102f1c75f9ffee73887
https://github.com/WebKit/WebKit/commit/fc0d8fbdae064b740a609102f1c75f9ffee73887
Author: Antti Koivisto <antti at apple.com>
Date: 2023-01-27 (Fri, 27 Jan 2023)
Changed paths:
M LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-cycles-expected.txt
M Source/WebCore/style/StyleBuilder.cpp
M Source/WebCore/style/StyleBuilderState.h
Log Message:
-----------
Detect complex custom property cycles involving multiple loops
https://bugs.webkit.org/show_bug.cgi?id=251269
<rdar://problem/104744972>
Reviewed by Simon Fraser.
We fail in some complex cycle cases.
* LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-cycles-expected.txt:
* Source/WebCore/style/StyleBuilder.cpp:
(WebCore::Style::Builder::applyCustomProperty):
Track property cycles with a separate m_inCycleCustomProperties map instead of eagerly computing them to
an invalid value on first detection. This allows the detection of multiple cycles passing through
the same property. It also simplifies the code.
* Source/WebCore/style/StyleBuilderState.h:
Canonical link: https://commits.webkit.org/259506@main
More information about the webkit-changes
mailing list