ABCDEFGHIJKLM
1
TIP: Use the filter views to limit which browsers you seeDynamic UA UIICBLayout Viewportwindow.innerHeightwindow.outerHeight100svh100dhv100lvh100vhVisual ViewportEvents FiredMisc
2
Scenario: Dynamic UA UI Expanded (Initial State)
18
Scenario: Dynamic UA UI Retracted
19
iOS Safari (15.5)ContractedSame as UA UI ShownGrows as more space becomes available. Follows momevent of UA UI.Grows with LVPinnerHeight + UA chrome
(= screen.height)
StableFollows animated UI elementsStableStableGrows as more space becomes available

Shifts down with scroll position
20
iOS Chrome (103)ContractedSame as UA UI ShownGrows as more space becomes available. Follows momevent of UA UI.Grows with LVPinnerHeight + UA chrome
(= screen.height)
StableFollows animated UI elementsStableStableGrows as more space becomes available

PageTop moves down with scroll position (once top bar has shrunk)
21
iOS Edge (103)ContractedResizesGrows as more space becomes available. Follows momevent of UA UI.Grows with LVPinnerHeightNo Support, just follows vhNo Support, just follows vhNo Support, just follows vhGrows as UA UI hidesGrows as more space becomes available

PageTop moves down with scroll position (once top bar has shrunk)
22
iOS Firefox (102)ContractedResizesGrows as more space becomes available. Follows momevent of UA UI.Grows with LVPinnerHeightNo Support, just follows vhNo Support, just follows vhNo Support, just follows vhGrows as UA UI hidesGrows as more space becomes available

Shifts down with scroll position
23
Android Chrome (104 + Viewports Flag)ContractedSame as UA UI ShownGrows because more space available, but only upon trigger of w.resize which only gets triggered after lifting finger upGrows because more space available, but only upon trigger of w.resize which only gets triggered after lifting finger upinnerHeightStableUpdates on w.resize ()StableStableGrows as more space becomes available

Shifts down with scroll position
24
Android Edge (103)ContractedSame as UA UI ShownGrows because more space available, but only upon trigger of w.resize which only gets triggered after lifting finger upGrows because more space available, but only upon trigger of w.resize which only gets triggered after lifting finger upinnerHeightNo support, collapsedNo support, collapsedNo support, collapsedStableGrows as more space becomes available. Size not 100% correct; There are 51 pixels missing. After lifting finger the correct value is returned

Shifts down with scroll position
25
Android Firefox (103)ContractedSame as UA UI ShownGrows because more space available, but only upon trigger of w.resize which only gets triggered after lifting finger upGrows because more space available, but only upon trigger of w.resize which only gets triggered after lifting finger up???StableFollows animated UI elementsStableStableGrows as more space becomes available

Shifts down with scroll position
26
ChromeOS Chrome (104)Contracted
27
macOS Safari (TP 150)N/AN/AN/AN/AN/AN/AN/AN/AN/AN/AN/A
28
macOS Chrome (104 + FixedElementsDontOverscroll Flag)N/AN/AN/AN/AN/AN/AN/AN/AN/AN/AN/A
29
macOS Edge (103)N/AN/AN/AN/AN/AN/AN/AN/AN/AN/AN/A
30
macOS Firefox (104)N/AN/AN/AN/AN/AN/AN/AN/AN/AN/AN/A
31
Windows ChromeN/AN/AN/AN/AN/AN/AN/AN/AN/AN/AN/A
32
Windows EdgeN/AN/AN/AN/AN/AN/AN/AN/AN/AN/AN/A
33
Windows FirefoxN/AN/AN/AN/AN/AN/AN/AN/AN/AN/AN/A
34
Scenario: Virtual Keyboard Shown
50
Scenario: Virtual Keyboard Shown + Overlays Mode Enabled
66
Scenario: Pinch-zoomed in
82
Scenario: Pinch-zooming Out (and over-pinch zooming out)
98
Scenario: Overscroll at Top, triggering Pull to Refresh
114
Scenario: Overscroll at Top, not triggering Pull to Refresh
130
Scenario: Scrolling
146
Scenario: Classic Scrollbars Present