Bug 1768169 [wpt PR 33963] - Disable incremental styling for animated ComputedStyles, a=testonly

Automatic update from web-platform-tests
Disable incremental styling for animated ComputedStyles

For ComputedStyles that are affected by animation effects, we also
store the corresponding *base style* on that animated ComputedStyle.
This currently interacts poorly with incremental styling, since we copy
the (potentially animated) ComputedStyle from the Element, which may
already have the base style stored. StyleResolver::ApplyAnimatedStyle
may then store *that* style as a base style again, potentially creating
an infinite chain of base styles.

This problem can't be reproduced with DCHECKs enabled, since we
call ApplyBaseStyleNoCache to verify that the incremental
ComputedStyle is equal to the ComputedStyle we would produce with a
full resolution. However, the diff is blind to to fields which aren't
generated, which includes the BaseData.

Bug: 1313554
Change-Id: I24ce40b7ec9a54f818098b21e1125f0071c11b24
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3629398
Reviewed-by: Steinar H Gunderson <sesse@chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1000332}

--

wpt-commits: f33ef39a7f8e26ff9361b68c55b33284a549c907
wpt-pr: 33963
This commit is contained in:
Anders Hartvoll Ruud 2022-05-08 17:50:54 +00:00 коммит произвёл moz-wptsync-bot
Родитель 6a8a32d616
Коммит 998c60bb16
1 изменённых файлов: 12 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,12 @@
<!DOCTYPE HTML>
<title>Don't crash when mutating style attribute with non-initial transition</title>
<link rel="help" href="https://crbug.com/1313554">
<style>
#foo { transition: --unset 1s linear; }
</style>
<div id=foo style="background-color:red">PASS if no crash</div>
<script>
foo.offsetTop;
foo.style.backgroundColor = 'green';
foo.offsetTop;
</script>