Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support nested requestAnimationFrame in the presence of reftest-wait #17410

Merged
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

Support nested requestAnimationFrame in the presence of reftest-wait.

  • Loading branch information
asajeffrey committed Jun 19, 2017
commit eb0eceb16caf008dd405920f6902890d9c4ba7e0
@@ -1491,19 +1491,15 @@ impl<Window: WindowMethods> IOCompositor<Window> {
};

if wait_for_stable_image {
match self.is_ready_to_paint_image_output() {
Ok(()) => {
// The current image is ready to output. However, if there are animations active,
// tick those instead and continue waiting for the image output to be stable AND
// all active animations to complete.
if self.animations_active() {
self.process_animations();
return Err(UnableToComposite::NotReadyToPaintImage(NotReadyToPaint::AnimationsActive));
}
}
Err(result) => {
return Err(UnableToComposite::NotReadyToPaintImage(result))
}
// The current image may be ready to output. However, if there are animations active,
// tick those instead and continue waiting for the image output to be stable AND
// all active animations to complete.
if self.animations_active() {
self.process_animations();
return Err(UnableToComposite::NotReadyToPaintImage(NotReadyToPaint::AnimationsActive));
}
if let Err(result) = self.is_ready_to_paint_image_output() {
return Err(UnableToComposite::NotReadyToPaintImage(result))
}
}

@@ -6533,6 +6533,18 @@
{}
]
],
"mozilla/request_animation_frame_reftest_wait.html": [
[
"/_mozilla/mozilla/request_animation_frame_reftest_wait.html",
[
[
"/_mozilla/mozilla/request_animation_frame_reftest_wait_ref.html",
"=="
]
],
{}
]
],
"mozilla/restyle-out-of-document.html": [
[
"/_mozilla/mozilla/restyle-out-of-document.html",
@@ -11037,6 +11049,11 @@
{}
]
],
"mozilla/request_animation_frame_reftest_wait_ref.html": [
[
{}
]
],
"mozilla/resources/background-green.css": [
[
{}
"df273cf90396cc2d3d3159ce72176122ab9518e5",
"support"
],
"mozilla/request_animation_frame_reftest_wait.html": [
"9c5ce337c92c9954475309f3865a9b47b59fbe4d",
"reftest"
],
"mozilla/request_animation_frame_reftest_wait_ref.html": [
"585548dfc915e3d53690e68ef07098044df39f1f",
"support"
],
"mozilla/resources/background-green.css": [
"bb230110dd1cf4647e020d7172bc375e972c7b41",
"support"
@@ -0,0 +1,12 @@
<html class="reftest-wait">
<title>Mix requestAnimationFrame with reftest-wait</title>
<link rel=match href=/_mozilla/mozilla/request_animation_frame_reftest_wait_ref.html>
<script>
// A regression test for https://github.com/servo/servo/issues/17408
requestAnimationFrame(function() {
requestAnimationFrame(function() {
document.documentElement.classList.remove("reftest-wait");
});
});
</script>
</html>
@@ -0,0 +1,3 @@
<html>
<title>Mix requestAnimationFrame with reftest-wait</title>
</html>
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.