S5: the gap beside a lagging Chromium page shows the page's color in every motion frame
Summary
m20 item 1: in a key resize, a divider drag or a spring, a Chromium page can still show its last, smaller frame for a few refreshes. Until now the gap beside that frame showed the pane ground, and the page's own color appeared there only during the window's live resize. Now the host view under the page paints the page's background color whenever that color is known. At rest the page covers the host view, so nothing changes there.
Unchanged: see-through pages (cmux pages), and pages before their first real page, which keep the pane ground.
Testing
Command (fleet): cmux-ci run --class light --script scripts/ci/package-test-lane.sh --ref SHA --arg=suite --arg=Packages/macOS/CmuxNext --arg=CEFPageFrameOwnerTests --env CMUX_CI_XCODE_APP=/Applications/Xcode_26.6.app
- RED (fails as expected): the test commit (621e7fee30b on the old stack, e8e7e7aa353 here). Step
f4e4a0f8289ab01da40b73e6:theGapBesideASmallerPageShowsThePagesColorOutsideALiveResizefails because the host view shows the pane ground. - GREEN at the head: PENDING.
Observed / Not run
- Observed: the fleet red run above.
- Not run: a film of this head. Films run after merge (m19).
Changelog
Fixed: While a pane is resized, the space beside a Chromium page that is still drawing shows the page's own background color instead of the pane color.
Proof
No capture: the change is a fill color that shows only while a page lags its pane. A pane-resize film shows it after merge.
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes the gap beside a Chromium page that lags its pane during a resize so the page's own background color appears there in every motion frame.
Until now the host view under the page painted the pane ground except during the window's live resize, so a key resize, divider drag, or spring showed the wrong color. It now paints the page's background whenever that color is known; at rest the page covers it. See-through pages and pages before their first real frame keep the pane ground.
The S5 tests now pin browserResize.layerHosting off, since #36311 made it default on and would otherwise keep pages hosted when the S5 switch is off.