41 lines
1.2 KiB
HTML
41 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<title>View transitions: skipTransition() in pageswap aborts the transition</title>
|
|
<link rel="help" href="https://drafts.csswg.org/css-view-transitions-2/">
|
|
<link rel="author" href="mailto:khushalsagar@chromium.org">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<style>
|
|
@view-transition {
|
|
navigation: auto;
|
|
}
|
|
</style>
|
|
<script>
|
|
const params = new URLSearchParams(location.search);
|
|
|
|
switch (params.get("mode") || "test") {
|
|
case "test":
|
|
promise_test(async t => {
|
|
const event = await new Promise(resolve => {
|
|
window.did_reveal = e => { resolve(e) };
|
|
const popup = window.open("?mode=old");
|
|
t.add_cleanup(() => popup.close());
|
|
});
|
|
|
|
assert_equals(event.viewTransition, null,
|
|
'viewTransition must have been skipped.');
|
|
});
|
|
break;
|
|
case "old":
|
|
onpageswap = (e) => {
|
|
assert_not_equals(e.viewTransition, null);
|
|
e.viewTransition.skipTransition();
|
|
};
|
|
onload = () => requestAnimationFrame(() => requestAnimationFrame(() => {
|
|
location.replace('?mode=new');
|
|
}));
|
|
break;
|
|
case "new":
|
|
onpagereveal = e => window.opener.did_reveal(e);
|
|
break;
|
|
}
|
|
</script>
|