Expand description
Pane-specific CEF callback bodies.
Extracted from client.rs in Phase 4 of the modularization split
(see docs/specs/SPEC_BROWSER_PANE_MODULARIZATION.md §6). AgentMuxHandler
still owns the CEF callback plumbing; this module holds the pane-branch
bodies so pane-specific logic lives in one place instead of threaded
through if self.is_browser_pane branches in client.rs.
Notable: this is where install_browser_pane_focus_redirect actually gets wired
in. Before this phase the function existed in browser_pane::hwnd but had zero
callers (see SPEC_BROWSER_PANE_LIFECYCLE.md §5 race #5). Now
on_after_created_browser_pane and on_load_end_browser_pane both reinstall the focus
subclass — required because Chromium recreates the
Chrome_RenderWidgetHostHWND child on every navigation, stranding the
old subclass on a destroyed HWND.
Functions§
- on_
after_ created_ browser_ pane - Called from
AgentMuxHandler::on_after_createdwhen the browser being registered is a pane (label prefixbrowser-pane-*). - on_
before_ close_ browser_ pane - Called from
AgentMuxHandler::on_before_closeafter the browser has been removed fromstate.browsersand the label has been identified as a pane label (prefixbrowser-pane-*). - on_
load_ end_ browser_ pane - Called from
AgentMuxHandler::on_load_endwhenis_browser_paneis true. - on_
loading_ state_ change_ browser_ pane - Pane-specific
on_loading_state_changebody. Called fromAgentMuxHandler::on_loading_state_changewhenis_browser_pane == true. - resolve_
pane_ 🔒block_ id - Resolve the
block_idfor a pane browser. Panes are registered instate.browsersunder labels likebrowser-pane-<uuid>-<seq>. Find the label whose browser handle matches the given one byis_same, then strip the prefix and the trailing-<seq>to recover the uuid.