aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/document.rs3
-rw-r--r--tests/wpt/metadata/MANIFEST.json6
-rw-r--r--tests/wpt/mozilla/meta/MANIFEST.json2
-rw-r--r--tests/wpt/web-platform-tests/animation-timing/same-dispatch-time.html31
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>