haikuwebkit/ManualTests/animation/transition-on-and-offscreen...

53 lines
1.5 KiB
HTML
Raw Permalink Normal View History

[EFL] Disable REQUEST_ANIMATION_FRAME_TIMER to render a new animation frame. https://bugs.webkit.org/show_bug.cgi?id=112114 Patch by JungJik Lee <jungjik.lee@samsung.com> on 2013-03-20 Reviewed by Kenneth Rohde Christiansen. .: Add a manual test to check the running of scripted transition animation. * ManualTests/animation/transition-on-and-offscreen-animation.html: Added. Source/WebKit/efl: Add dummy functions for WK1. Example test case: ManualTests/animation/transition-on-and-offscreen-animation.html * WebCoreSupport/ChromeClientEfl.cpp: Add dummy functions for WK1. (WebCore): (WebCore::ChromeClientEfl::scheduleAnimation): (WebCore::ChromeClientEfl::serviceScriptedAnimations): * WebCoreSupport/ChromeClientEfl.h: (ChromeClientEfl): Source/WTF: The issue is that if the animation starts outside of the area covered by keepRects, the web process does not create tiles of the animation layer and the layer moves without having any tiles. In order to fix this issue, CoordinatedLayerHost must call scheduleLayerFlush to create new tiles when the layer enters the area covered by keepRect. However EFL port didn't call scheduleLayerFlush periodically for animation. We can tie scripted animations with synchronization of the layer and that already has been implemented in r123786 by Qt port. This patch is for activating r123786 patch. The testing is covered by ManualTests/animation/transition-on-and-offscreen-animation.html * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER. Canonical link: https://commits.webkit.org/131114@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@146320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-03-20 10:01:22 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Box Transitions coming out from the viewport.</title>
<style type="text/css" media="screen">
.container {
height: 200px;
width: 200px;
border: 1px solid black;
background-color : red;
-webkit-transition: -webkit-transform 3s;
}
</style>
<script type="text/javascript" charset="utf-8">
function runTest()
{
var box = document.getElementById("box");
window.setTimeout(function() {
box.style.webkitTransform = "translateX(" + window.innerWidth * 2.5 + "px)";
}, 3000);
window.setTimeout(function() {
box.style.webkitTransform = "translateX(0px)";
}, 6000);
window.setTimeout(function() {
box.style.webkitTransform = "translateX(" + window.innerWidth * 2.5 + "px)";
}, 9000);
window.setTimeout(function() {
box.style.webkitTransform = "translateX(0px)";
}, 12000);
}
window.addEventListener('load', runTest, false)
</script>
</head>
<body>
<p>
We should be able to see that the red box is going out and coming from the viewport twice.
The reason why the box goes to the viewport's 2.5x distance is that the backing store cannot create tile only if the GraphicsLayer is out of keepRect.
</p>
<div id="box" class="container">
</div>
</body>
</html>