From e40b1414095c615c07c3bd15306cd2de0d2e22d4 Mon Sep 17 00:00:00 2001 From: Harrison G Date: Fri, 7 Aug 2015 09:03:51 -0400 Subject: [PATCH] Fix requestAnimationFrame timestamps in queue This resolves #7044 which involved callbacks in a queue not receiving the same timestamp despite the specification saying they should. An extra test was added to verify the correct behavior. --- components/script/dom/document.rs | 3 +- tests/wpt/metadata/MANIFEST.json | 6 ++++ tests/wpt/mozilla/meta/MANIFEST.json | 2 +- .../animation-timing/same-dispatch-time.html | 31 +++++++++++++++++++ 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 tests/wpt/web-platform-tests/animation-timing/same-dispatch-time.html diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 0057ab0bcf7..d60545e159b 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -957,9 +957,10 @@ impl<'a> DocumentHelpers<'a> for &'a Document { let window = window.r(); let performance = window.Performance(); let performance = performance.r(); + let timing = performance.Now(); for (_, callback) in animation_frame_list { - callback(*performance.Now()); + callback(*timing); } window.reflow(ReflowGoal::ForDisplay, diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 4d42cd9f091..743b76965e3 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -28877,6 +28877,12 @@ "path": "2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex8.html", "url": "/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex8.html" } + ], + "animation-timing/same-dispatch-time.html": [ + { + "path": "animation-timing/same-dispatch-time.html", + "url": "/animation-timing/same-dispatch-time.html" + } ] } }, diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 20cbfefdf8b..c723119186e 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -1016,4 +1016,4 @@ "rev": null, "url_base": "/_mozilla/", "version": 2 -} +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/animation-timing/same-dispatch-time.html b/tests/wpt/web-platform-tests/animation-timing/same-dispatch-time.html new file mode 100644 index 00000000000..e92eb61e993 --- /dev/null +++ b/tests/wpt/web-platform-tests/animation-timing/same-dispatch-time.html @@ -0,0 +1,31 @@ + + + + requestAnimationFrame in queue get the same timestamp + + + + + +
+ + +