mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-08 16:12:23 +02:00
When a page opens a popup, the child tab shares the parent's WebContent process via initialize_client_as_child(). Both tabs register as views on the same WebContentClient. If the child tab then does a cross-site navigation, create_new_process_for_cross_site_navigation() would call unregister_view() (correct) and then unconditionally send CloseServer (wrong). This killed the WebContent process even though the parent tab was still using it. The unconditional async_close_server() predates the shared-process popup model. It is no longer needed since unregister_view() already sends CloseServer when the last view is removed.
43 KiB
43 KiB