mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Update web-platform-tests to revision b'704eebbe6af5b43643971e96e33a0c979fba2904'
This commit is contained in:
parent
f8e014d0ba
commit
a6bc3e1a73
194 changed files with 13122 additions and 1992 deletions
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
Loading…
Add table
Add a link
Reference in a new issue