Update web-platform-tests to revision b'704eebbe6af5b43643971e96e33a0c979fba2904'

This commit is contained in:
WPT Sync Bot 2023-01-25 01:33:16 +00:00
parent f8e014d0ba
commit a6bc3e1a73
194 changed files with 13122 additions and 1992 deletions

View file

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html dir="rtl">
<head>
<title>Transition is correctly positioned on RTL page (ref)</title>
<link rel="help" href="https://github.com/WICG/view-transitions">
<link rel="author" href="mailto:bokan@chromium.org">
<style>
#target {
position: absolute;
top: 100px;
left: 100px;
width: 100px;
height: 200px;
background: dodgerblue;
}
#inroot {
position: absolute;
top: 300px;
left: 200px;
width: 100px;
height: 200px;
background: rebeccapurple;
}
body {
margin: 0px;
padding: 0px;
/* add overflow for scrollbar */
height: 200vh;
}
</style>
</head>
</body>
<div id=target></div>
<div id="inroot"></div>
</body>
</html>

View file

@ -0,0 +1,72 @@
<!DOCTYPE html>
<html dir="rtl" class=reftest-wait>
<title>Transition is correctly positioned on RTL page</title>
<link rel="help" href="https://github.com/WICG/view-transitions">
<link rel="author" href="mailto:bokan@chromium.org">
<link rel="match" href="rtl-with-scrollbar-ref.html">
<script src="/common/rendering-utils.js"></script>
<script src="/common/reftest-wait.js"></script>
<style>
#target {
position: absolute;
top: 100px;
left: 100px;
width: 100px;
height: 200px;
background: dodgerblue;
contain: paint;
view-transition-name: target;
}
#inroot {
position: absolute;
top: 300px;
left: 200px;
width: 100px;
height: 200px;
background: rebeccapurple;
contain: paint;
}
body {
margin: 0px;
padding: 0px;
/* add overflow for scrollbar */
height: 200vh;
}
/* Show the old snapshot for 300s */
html::view-transition-group(*) {
animation-duration: 300s;
opacity: 1;
}
html::view-transition-new(*) {
animation: unset;
opacity: 0;
}
html::view-transition-old(*) {
animation: unset;
opacity: 1;
}
</style>
<div id=target></div>
<div id="inroot"></div>
<script>
failIfNot(document.startViewTransition, "Missing document.startViewTransition");
async function runTest() {
await waitForAtLeastOneFrame();
document.startViewTransition(() => {
requestAnimationFrame(() => requestAnimationFrame(takeScreenshot));
});
}
onload = requestAnimationFrame(runTest);
</script>
</html>

View file

@ -0,0 +1,76 @@
<!DOCTYPE html>
<html>
<head>
<title>View transitions: Resizing viewport skips the transition</title>
<link rel="help" href="https://github.com/WICG/view-transitions">
<link rel="author" href="mailto:bokan@chromium.org">
<script src="/common/rendering-utils.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script>
function waitForAtLeastOneFrame(win) {
return new Promise(resolve => {
win.requestAnimationFrame(() => {
win.requestAnimationFrame(() => {
resolve();
});
});
});
}
let popupWin;
promise_test(async t => {
assert_implements(document.startViewTransition, "Missing document.startViewTransition");
return new Promise(async (resolve, reject) => {
await waitForAtLeastOneFrame(window);
// Open a popup window that we'll use to start a transition
await test_driver.bless('Open a popup in a new window', () => {
popupWin = window.open('about:blank', 'popup', 'width=300,height=300');
});
let popupDoc = popupWin.document;
popupDoc.documentElement.innerHTML = `
<style>
html {background-color: red;}
html.new {background-color: limegreen;}
/* Set a no-op animation to show the old snapshot indefinitely. */
html::view-transition-group(*) {animation-duration: 10s;}
html::view-transition-new(*) {animation: unset;opacity: 0;}
html::view-transition-old(*) {animation-duration: 10s;opacity: 1;}
</style>`;
// Start a transition inside the popup.
let transition = popupDoc.startViewTransition(() => {
popupDoc.documentElement.classList.add('new');
});
let finishResolved = false;
transition.finished.then(() => {
finishResolved = true;
});
// Wait for the transition to start animating.
await transition.ready;
await waitForAtLeastOneFrame(popupWin);
await waitForAtLeastOneFrame(popupWin);
// Resize the popup window.
popupWin.resizeTo(popupWin.innerWidth/2, popupWin.innerHeight/2);
await waitForAtLeastOneFrame(popupWin);
// `finish` should have resolved as resizing the transition after capture
// should cause it to skip.
assert_true(finishResolved, "Transition must be finished by the window resize");
resolve();
});
});
</script>
</head>
</html>