This test scrolls the page with extended backgrounds enabled and checks that the layout and visual viewports respond as expected.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Scrolled to 0, 0
JSON.stringify(layoutViewport) is {"x":0,"y":0,"width":785,"height":585,"top":0,"right":785,"bottom":585,"left":0}
JSON.stringify(visualViewport) is {"x":0,"y":0,"width":785,"height":585,"top":0,"right":785,"bottom":585,"left":0}

Scrolled to 475, 525
JSON.stringify(layoutViewport) is {"x":475,"y":525,"width":785,"height":585,"top":525,"right":1260,"bottom":1110,"left":475}
JSON.stringify(visualViewport) is {"x":475,"y":525,"width":785,"height":585,"top":525,"right":1260,"bottom":1110,"left":475}

Scrolled to 1223, 1713
JSON.stringify(layoutViewport) is {"x":1223,"y":1713,"width":785,"height":585,"top":1713,"right":2008,"bottom":2298,"left":1223}
JSON.stringify(visualViewport) is {"x":1223,"y":1713,"width":785,"height":585,"top":1713,"right":2008,"bottom":2298,"left":1223}
PASS successfullyParsed is true

TEST COMPLETE

