mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 18:17:22 +02:00
LibWeb: Implement plumbing for view transitions
This implements large parts of the CSS view-transitions-1 spec.
This commit is contained in:
Notes:
github-actions[bot]
2025-09-07 12:59:13 +00:00
Author: https://github.com/Psychpsyo Commit: https://github.com/LadybirdBrowser/ladybird/commit/56739b4b162 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5155 Reviewed-by: https://github.com/AtkinsSJ ✅ Reviewed-by: https://github.com/alimpfard Reviewed-by: https://github.com/gmta Reviewed-by: https://github.com/kalenikaliaksandr ✅
@@ -0,0 +1,39 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="reftest-wait">
|
||||
<title>Update callback should only be called once</title>
|
||||
<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/#call-dom-update-callback-algorithm">
|
||||
<link rel="match" href="../../../../expected/wpt-import/css/reference/ref-filled-green-100px-square.xht">
|
||||
<meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-500">
|
||||
<style>
|
||||
#target {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
::view-transition-group(*),
|
||||
::view-transition-image-pair(*),
|
||||
::view-transition-old(*),
|
||||
::view-transition-new(*) {
|
||||
animation-play-state: paused;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div id="target"></div>
|
||||
<script>
|
||||
addEventListener("load", () => {
|
||||
let updateCallbackCalled = false;
|
||||
document.startViewTransition(function() {
|
||||
target.style.backgroundColor = updateCallbackCalled ? "red" : "green";
|
||||
updateCallbackCalled = true;
|
||||
document.startViewTransition(() => {});
|
||||
requestAnimationFrame(() => {
|
||||
requestAnimationFrame(() => {
|
||||
document.documentElement.classList.remove("reftest-wait");
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</html>
|
||||
Reference in New Issue
Block a user