From a77daf77bdc44d8150f3da698dcf3aa1f4917347 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Mon, 20 Mar 2023 18:46:59 -0400 Subject: [PATCH] WebDriver: Do not activate tabs created by the New Window endpoint The spec states that creating new windows "must be done without invoking the focusing steps for the created browsing context". It also states we should do so by "running the window open steps", but nowhere in those steps is there an option to invoke or skip any focusing steps. So we do so with a custom WebContent IPC parameter. --- Userland/Services/WebContent/WebDriverConnection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Userland/Services/WebContent/WebDriverConnection.cpp b/Userland/Services/WebContent/WebDriverConnection.cpp index 8f36ee54c8..f95cece4cc 100644 --- a/Userland/Services/WebContent/WebDriverConnection.cpp +++ b/Userland/Services/WebContent/WebDriverConnection.cpp @@ -567,7 +567,7 @@ Messages::WebDriverClient::NewWindowResponse WebDriverConnection::new_window(Jso // created browsing context should be in a new OS window. In all other cases the details of how the browsing // context is presented to the user are implementation defined. // FIXME: Reuse code of window.open() instead of calling choose_a_browsing_context - auto [browsing_context, window_type] = m_page_client.page().top_level_browsing_context().choose_a_browsing_context("_blank"sv, true); + auto [browsing_context, window_type] = m_page_client.page().top_level_browsing_context().choose_a_browsing_context("_blank"sv, true, Web::HTML::ActivateTab::No); // 6. Let handle be the associated window handle of the newly created window. auto handle = browsing_context->window_handle();