diff --git a/gfx/layers/apz/test/mochitest/helper_checkerboard_zoomoverflowhidden.html b/gfx/layers/apz/test/mochitest/helper_checkerboard_zoomoverflowhidden.html new file mode 100644 index 000000000000..8d521e171108 --- /dev/null +++ b/gfx/layers/apz/test/mochitest/helper_checkerboard_zoomoverflowhidden.html @@ -0,0 +1,170 @@ + + + + + + Checkerboarding in while scrolling a subframe when root scrollframe has + overflow hidden and pinch zoomed in + + + + + + + +
+
+

STR:

+
    +
  1. set apz.allow_zoom to true
  2. +
  3. visit any bugzilla site (like this one)
  4. +
  5. zoom into the page and observe the left edge of the viewport
  6. +
+

ER: content should be shown
+ AR: foreground content seems to disappear, looks like it's being cut off +

+

I attached a video of the STR to show the problem a little bit better. So far, I could only reproduce this on bugzilla. Words words words words words words words words words words words words words words words words words words words words words words.

+ +
+
+
+ + diff --git a/gfx/layers/apz/test/mochitest/test_group_checkerboarding.html b/gfx/layers/apz/test/mochitest/test_group_checkerboarding.html index 30c95da5c0e4..1115616afe1d 100644 --- a/gfx/layers/apz/test/mochitest/test_group_checkerboarding.html +++ b/gfx/layers/apz/test/mochitest/test_group_checkerboarding.html @@ -9,6 +9,7 @@ if (isApzEnabled()) { SimpleTest.waitForExplicitFinish(); + var prefs = [ ["apz.test.logging_enabled", true], ["apz.paint_skipping.enabled", true], @@ -16,9 +17,24 @@ ["general.smoothScroll", false], ["apz.minimap.enabled", true], // helps to debug these tests ]; - const subtests = [ + + var zoom_and_pan_prefs = [ + ...prefs, + ...getPrefs("TOUCH_EVENTS:PAN"), + ["apz.allow_zooming", true], + ]; + + var subtests = [ { file: "helper_checkerboard_apzforcedisabled.html", prefs }, ]; + + let isWindows = navigator.platform.indexOf("Win") == 0; + if (!isWindows) { + subtests.push( + { file: "helper_checkerboard_zoomoverflowhidden.html", "prefs": zoom_and_pan_prefs } + ); + } + // Run the actual test in its own window, because it requires that the // root APZC be scrollable. Mochitest pages themselves often run // inside an iframe which means we have no control over the root APZC.