Files
sousa-gecko/testing/web-platform/tests/css/css-view-transitions/escaped-name.html
T
Vladimir Levin 4187b442aa Bug 1999434 [wpt PR 55969] - VT: Escape view transition names when creating dynamic styles., a=testonly
Automatic update from web-platform-tests
VT: Escape view transition names when creating dynamic styles.

We need to escape the view transition names that are part of dynamic
styles (for example @keyframes). This patch does this.

R=chrishtr@chromium.org

Bug: 458082819
Change-Id: I34f87315dd2f1b4e74380fc831069d84c5fb85aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7139462
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Vladimir Levin <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1542911}

--

wpt-commits: 8ac56ca5bff0294794dfaaef0a9c3ee5b2da2d1b
wpt-pr: 55969
2025-11-13 15:04:55 +00:00

48 lines
1.2 KiB
HTML

<!DOCTYPE html>
<html class=reftest-wait>
<title>View transitions: escaped names</title>
<link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/">
<link rel="author" href="mailto:vmpstr@chromium.org">
<link rel="match" href="escaped-name-ref.html">
<script src="/common/reftest-wait.js"></script>
<style>
:root { view-transition-name: none; }
#first { view-transition-name: first\!; }
#second { view-transition-name: secon\'d; }
#third { view-transition-name: third\000021; }
.box {
background: green;
width: 100px;
height: 100px;
position: relative;
}
::view-transition-group(*),
::view-transition-new(*),
::view-transition-old(*),
::view-transition-image-pair(*) {
animation-play-state: paused;
}
.box.after {
background: red;
left: 100px;
}
</style>
<div class="box" id="first"></div>
<div class="box" id="second"></div>
<div class="box" id="third"></div>
<script>
failIfNot(document.startViewTransition, "Missing document.startViewTransition");
async function runTest() {
document.startViewTransition(() => {
first.classList.add("after");
second.classList.add("after");
third.classList.add("after");
}).ready.then(takeScreenshot);
}
onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest));
</script>