feat(inject): add resizable body dock that reparents the video #1
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/reparenting-dock"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
Users need a full-width theater panel outside the site layout. Fit width expands in place. This control reparents the player into a fixed, resizable dock on
document.body, then restores on toggle or controller teardown.Scope
toggleDock/enterDock/exitDock/findDockRootininject.jsdata-action="dock"(⧉).vsc-dock*styles ininject.css0.7.4.9Out of scope: cloning the media element, cross-frame docks into the top page.
Tradeoffs
Reparenting can break host overlay chrome on some players. Cloning was rejected because MSE/blob/DRM streams do not share cleanly.
Blast Radius
Content-script only. One dock at a time. Fit width exits before dock. Risky on heavily nested players; safe to undock.
Verification
On https://x.com/poteto (live
<video>blob): injected the dock enter/exit path via CDP. Enter placed the video in a body-child.vsc-dockwith placeholder left behind. Exit restored the original parent and cleared session state. Visual check showed the bottom panel with close control and CSS resize handle.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.