diff --git a/Libraries/LibWeb/HTML/Navigable.cpp b/Libraries/LibWeb/HTML/Navigable.cpp index 902b146993b..d9b46a22984 100644 --- a/Libraries/LibWeb/HTML/Navigable.cpp +++ b/Libraries/LibWeb/HTML/Navigable.cpp @@ -1402,12 +1402,14 @@ WebIDL::ExceptionOr Navigable::navigate(NavigateParams params) auto source_document = params.source_document; auto exceptions_enabled = params.exceptions_enabled; + auto& active_document = *this->active_document(); auto& realm = active_document.realm(); + auto& page_client = active_document.page().client(); // AD-HOC: If we are not able to continue in this process, request a new process from the UI. - if (!active_document.page().client().is_url_suitable_for_same_process_navigation(active_document.url(), params.url)) { - active_document.page().client().request_new_process_for_navigation(params.url); + if (is_top_level_traversable() && !page_client.is_url_suitable_for_same_process_navigation(active_document.url(), params.url)) { + page_client.request_new_process_for_navigation(params.url); return {}; }