forked from mirrors/gecko-dev
Automatic update from web-platform-tests
Avoid conflicts between custom properties in CreateKeyframeEffectModel
We process keyframes in reverse order, and skip any already-seen
properties. The problem is that we use a set of CSSProperty pointers
to determine if a property is already seen, which (thanks to the
static Variable instance, crbug.com/980160) collapses all custom
properties into a single item.
Use a HashSet of CSSPropertyNames instead.
Fixed: 1236043
Bug: 980160
Change-Id: Ie6f13c4e4276e91e9d4332c17182363cedcdcde6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3065534
Reviewed-by: Kevin Ellis <kevers@chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/master@{#908031}
--
wpt-commits: 697a214d7d94ba1902c414d4e645e18f7158961c
wpt-pr: 29879
29 lines
816 B
HTML
29 lines
816 B
HTML
<!DOCTYPE html>
|
|
<title>Unrelated custom properties do not conflict with each other</title>
|
|
<link rel="help" href="https://drafts.csswg.org/css-animations/">
|
|
<link rel="help" href="https://crbug.com/1236043">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<style>
|
|
@keyframes test {
|
|
0% { --x: green; }
|
|
100% { --x: green; }
|
|
|
|
/* This should not affect the background-color of #div: */
|
|
0% { --unused: yellow; }
|
|
}
|
|
#div {
|
|
animation: test 10s linear paused;
|
|
background-color: var(--x, red);
|
|
width: 100px;
|
|
height: 100px;
|
|
}
|
|
</style>
|
|
<div id=div></div>
|
|
<script>
|
|
|
|
test(() => {
|
|
assert_equals(getComputedStyle(div).backgroundColor, 'rgb(0, 128, 0)');
|
|
}, 'Unrelated custom properties do not conflict with each other');
|
|
|
|
</script>
|