new file mode 100644
--- /dev/null
+++ b/layout/reftests/async-scrolling/position-fixed-body-ref.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html reftest-async-scroll>
+<style>
+body {
+ height: 100vh;
+ margin: 0px;
+}
+#scrollbox {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+#scrolledContents {
+ height: 10000px;
+ background: radial-gradient(circle, blue 30%, transparent 0);
+ background-size: 80px 80px;
+}
+</style>
+<body>
+ <div id="scrollbox"
+ reftest-dislayport-x="0" reftest-displayport-y="0"
+ reftest-displayport-w="800" reftest-displayport-h="2000"
+ reftest-async-scroll-x="0" reftest-async-scroll-y="20">
+ <div id="scrolledContents"></div>
+ </div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/async-scrolling/position-fixed-body.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html reftest-async-scroll>
+<style>
+body {
+ position: fixed;
+ margin: 0px;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+}
+#scrollbox {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+#scrolledContents {
+ height: 10000px;
+ background: radial-gradient(circle, blue 30%, transparent 0);
+ background-size: 80px 80px;
+}
+</style>
+<body>
+ <div id="scrollbox"
+ reftest-dislayport-x="0" reftest-displayport-y="0"
+ reftest-displayport-w="800" reftest-displayport-h="2000"
+ reftest-async-scroll-x="0" reftest-async-scroll-y="20">
+ <div id="scrolledContents"></div>
+ </div>
+</body>
+</html>
--- a/layout/reftests/async-scrolling/reftest.list
+++ b/layout/reftests/async-scrolling/reftest.list
@@ -10,16 +10,17 @@ skip-if(!asyncPan) == bg-fixed-in-opacit
skip-if(!asyncPan) == bg-fixed-child-no-culling.html bg-fixed-child-no-culling-ref.html
fuzzy-if(B2G,2,5366) fuzzy-if(Android,2,4000) skip-if(!asyncPan||((browserIsRemote&&winWidget))) == bg-fixed-transformed-image.html bg-fixed-transformed-image-ref.html
skip-if(!asyncPan) == element-1.html element-1-ref.html
pref(layers.force-active,true) skip-if(!asyncPan) == iframe-1.html iframe-1-ref.html
skip-if(!asyncPan) == nested-1.html nested-1-ref.html
skip-if(!asyncPan) == nested-2.html nested-2-ref.html
skip-if(!asyncPan) == position-fixed-1.html position-fixed-1-ref.html
skip-if(!asyncPan) == position-fixed-2.html position-fixed-2-ref.html
+skip-if(!asyncPan) == position-fixed-body.html position-fixed-body-ref.html
skip-if(!asyncPan) == position-fixed-cover-1.html position-fixed-cover-1-ref.html
skip-if(!asyncPan) == position-fixed-cover-2.html position-fixed-cover-2-ref.html
skip-if(!asyncPan) == position-fixed-cover-3.html position-fixed-cover-3-ref.html
skip-if(!asyncPan) fuzzy-if(Android&&AndroidVersion<15,5,4) == position-fixed-transformed-1.html position-fixed-transformed-1-ref.html
skip-if(!asyncPan) == split-layers-1.html split-layers-1-ref.html
skip-if(!asyncPan) == split-layers-multi-scrolling-1.html split-layers-multi-scrolling-1-ref.html
skip-if(!asyncPan||(browserIsRemote&&winWidget)) == split-opacity-layers-1.html split-opacity-layers-1-ref.html
skip-if(!asyncPan) == sticky-pos-scrollable-1.html sticky-pos-scrollable-1-ref.html