Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 1 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /scroll-animations/css/view-timeline-subject-in-shadow-root-with-timeline-scope.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<title>A view timeline with its subject in a shadow root can be referenced outside of that shadow root using "timeline-scope"</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/web-animations/testcommon.js"></script>
<style>
#container {
timeline-scope: --progress;
}
#shadow {
width: 100px;
height: 100px;
}
#shadow::part(scroller) {
width: 100%;
height: 100%;
background-color: blue;
overflow: scroll;
}
#shadow::part(content) {
position: relative;
top: 25%;
width: 100%;
height: 50%;
background-color: pink;
view-timeline: --progress block;
}
#target {
position: absolute;
width: 10px;
height: 100px;
background-color: black;
animation: x linear;
animation-timeline: --progress;
}
@keyframes x {
from { width: 0 }
to { width: 100px }
}
</style>
<div id="container">
<div id="shadow"></div>
<div id="target"></div>
</div>
<script>
promise_test(async t => {
t.add_cleanup(() => container.remove());
shadow.attachShadow({ mode: 'open' }).innerHTML = `
<div part="scroller">
<div part="content"></div>
</div>
`;
const animation = document.getAnimations()[0];
await animation.ready;
assert_equals(getComputedStyle(target).width, '50px');
}, 'A view timeline with its subject in a shadow root can be referenced outside of that shadow root using "timeline-scope"');
</script>