diff options
-rw-r--r-- | components/script/dom/document.rs | 3 | ||||
-rw-r--r-- | tests/wpt/metadata/MANIFEST.json | 6 | ||||
-rw-r--r-- | tests/wpt/mozilla/meta/MANIFEST.json | 2 | ||||
-rw-r--r-- | tests/wpt/web-platform-tests/animation-timing/same-dispatch-time.html | 31 |
4 files changed, 40 insertions, 2 deletions
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 @@ +<!doctype html> +<html> + <head> + <title>requestAnimationFrame in queue get the same timestamp</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <link rel="help" href="http://w3c.github.io/animation-timing/#dfn-invoke-callbacks-algorithm"/> + </head> + <body> + <div id="log"></div> + <script> + test(function (t) { + var a = 0, b = 0; + + /* REASONING: + * These two methods that will be called with a timestamp. Because + * they execute right after eachother, they're added to the same + * queue and SHOULD be timestamped with the same value. + */ + window.requestAnimationFrame(function() { a = arguments[0]; }); + window.requestAnimationFrame(function() { b = arguments[0]; }); + + setTimeout(function() { + assert_true(a != 0); + assert_true(b != 0); + assert_true(a == b); + }, 100); + }, "requestAnimationFrame will timestamp events in the same queue with the same time"); + </script> + </body> +</html> |