The fast/visual-viewport tests that do a programmatic scroll and then fetch the layoutViewport get stale viewports, because the UI process sends down a new layoutViewport asynchronously.