Block compositor animations of transform-like properties if offset-path is not none.
The animations of motion path are not running on the compositor, and the
properties in [motion-1] is not part of transform-like properties (i.e.
nsCSSProperties::TransformLikeProperties()) for now, so we should run
transform animations on the main thread if offset-path is not `none`.
Differential Revision: https://phabricator.services.mozilla.com/D39966
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1569795
gecko-commit: da1b2c17a9e5f3a723a0713aeeb4d0c71133bcc2
gecko-integration-branch: autoland
gecko-reviewers: hiro
diff --git a/css/motion/animation/reftests/offset-path-with-transforms-001.html b/css/motion/animation/reftests/offset-path-with-transforms-001.html
new file mode 100644
index 0000000..c554264
--- /dev/null
+++ b/css/motion/animation/reftests/offset-path-with-transforms-001.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>CSS Motion Path: Combined transformation matrix interpolation</title>
+ <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#ctm">
+ <link rel="match" href="offset-path-with-transforms-ref.html">
+ <meta name="assert" content="This tests animating combined transformation matrix.">
+ <style>
+ @keyframes anim {
+ to {
+ translate: 0px 100px;
+ offset-distance: 100%;
+ transform: translateX(-100px);
+ }
+ }
+ #target {
+ position: absolute;
+ width: 100px;
+ height: 50px;
+ background-color: lime;
+ offset-path: path("M25 0v100");
+ animation: anim 10s -5s paused linear;
+ }
+ </style>
+ </head>
+ <body onload="load()">
+ <div id="target"></div>
+ <div style='width: 50px; height: 100px; background-color: red;'></div>
+ </body>
+ <script>
+ requestAnimationFrame(() => {
+ document.documentElement.classList.remove('reftest-wait');
+ });
+ </script>
+</html>
diff --git a/css/motion/animation/reftests/offset-path-with-transforms-ref.html b/css/motion/animation/reftests/offset-path-with-transforms-ref.html
new file mode 100644
index 0000000..413369e
--- /dev/null
+++ b/css/motion/animation/reftests/offset-path-with-transforms-ref.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS Motion Path: Combined transformation matrix interpolation reference</title>
+ <style>
+ #target {
+ width: 50px;
+ height: 100px;
+ background-color: lime;
+ }
+ </style>
+ </head>
+ <body>
+ <div id="target"></div>
+ </body>
+</html>