WRS static viewport test

Does the renderer stretch its viewport on a page with nothing dynamic? All the text below is in this page's HTML, over 10,000 px of it on a phone, with no images and nothing built or loaded by script. A script here, above the text, writes innerHeight once as the parser reaches it, then logs every resize and the size at the end of the body, at DOMContentLoaded, at load and after 1, 3, 6 and 10 s. It never changes the window or the layout. Run it in URL Inspection: the screenshot shows this top part, the HTML tab the whole log.

innerHeight at the top: script did not run


1. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer.

2. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight.

3. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight.

4. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer.

5. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line.

6. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment.

7. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed.

8. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport.

9. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later.

10. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window.

11. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser.

12. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it.

13. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer.

14. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight.

15. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight.

16. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer.

17. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line.

18. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment.

19. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed.

20. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport.

21. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later.

22. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window.

23. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser.

24. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it.

25. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer.

26. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight.

27. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight.

28. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer.

29. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line.

30. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment.

31. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed.

32. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport.

33. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later.

34. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window.

35. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser.

36. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it.

37. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer.

38. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight.

39. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight.

40. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer.

41. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line.

42. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment.

43. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed.

44. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport.

45. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later.

46. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it. Reading innerHeight once, at the top, only tells how tall the viewport was when the parser reached that line. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window.

47. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer. The screenshot is taken at the end, but it shows whatever text the script wrote when it ran, not the size of the viewport at that moment. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser.

48. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight. Fonts, line height and the width of the viewport decide how tall each paragraph is, so the height of the page is measured, not assumed. Googlebot does not scroll, so whatever it renders has to fit in its viewport, and the height of that viewport decides what enters it.

49. The only scripts here read the size of the window and write it in the log at the top; they never change the layout or the size of the window. If the renderer stretches the viewport to the height of the page, the log shows a resize event and innerHeight then matches scrollHeight. Nothing on this page is loaded lazily, and it has no images, so no request depends on what enters the viewport. The log keeps the time of each reading in milliseconds since the page started, as performance.now() gives it in the renderer.

50. A page cannot resize its own window: resizeTo and resizeBy only work on windows that a script opened, so a resize event comes from the browser. The text is long enough to make the page taller than ten thousand pixels on a phone, well past the first screen of the renderer. Every paragraph on this page is written in its HTML, so the renderer lays it out while it parses the document, with no script adding anything later. If the viewport stays the same from start to end, the log has no resize line and every reading shows the same innerHeight.

End of the text.