fix(player-bar): contain paint to prevent black-flash on WebKitGTK

The player bar occasionally renders fully black for one frame on Linux
(WebKitGTK with software compositing) when an unrelated layer elsewhere
in the page invalidates. `contain: layout paint` makes the bar its own
paint boundary so it can no longer be pulled into a surrounding dirty
rect.

No-op on Wayland-with-GPU and on Chromium-based webviews (Windows,
macOS) — those don't exhibit the flash to begin with.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Psychotoxical
2026-04-19 12:28:22 +02:00
parent a48159d302
commit 6456f13bde
+5
View File
@@ -1145,6 +1145,11 @@
height: var(--player-height);
position: relative;
z-index: 100;
/* WebKitGTK (software compositing) occasionally paints the bar fully
black for one frame when an unrelated layer in the page invalidates.
`contain` isolates layout/paint so the bar's region cannot
participate in the surrounding dirty rect. */
contain: layout paint;
}
.player-track-info {