diff --git a/Userland/Services/WebDriver/Client.cpp b/Userland/Services/WebDriver/Client.cpp index 18de3eaa8d..6af99076c3 100644 --- a/Userland/Services/WebDriver/Client.cpp +++ b/Userland/Services/WebDriver/Client.cpp @@ -49,18 +49,6 @@ ErrorOr, Web::WebDriver::Error> Client::find_session_with return Web::WebDriver::Error::from_code(Web::WebDriver::ErrorCode::InvalidSessionId, "Invalid session id"); } -ErrorOr, Web::WebDriver::Error> Client::take_session_with_id(StringView session_id) -{ - auto session_id_or_error = session_id.to_uint<>(); - if (!session_id_or_error.has_value()) - return Web::WebDriver::Error::from_code(Web::WebDriver::ErrorCode::InvalidSessionId, "Invalid session id"); - - if (auto session = s_sessions.take(*session_id_or_error); session.has_value()) - return session.release_value(); - - return Web::WebDriver::Error::from_code(Web::WebDriver::ErrorCode::InvalidSessionId, "Invalid session id"); -} - void Client::close_session(unsigned session_id) { if (s_sessions.remove(session_id)) @@ -196,7 +184,7 @@ Web::WebDriver::Response Client::delete_session(Web::WebDriver::Parameters param dbgln_if(WEBDRIVER_DEBUG, "Handling DELETE /session/"); // 1. If the current session is an active session, try to close the session. - auto session = TRY(take_session_with_id(parameters[0])); + auto session = TRY(find_session_with_id(parameters[0])); TRY(session->stop()); // 2. Return success with data null. diff --git a/Userland/Services/WebDriver/Client.h b/Userland/Services/WebDriver/Client.h index 981bf46387..10d4450a4e 100644 --- a/Userland/Services/WebDriver/Client.h +++ b/Userland/Services/WebDriver/Client.h @@ -36,7 +36,6 @@ private: Client(NonnullOwnPtr, LaunchBrowserCallbacks, Core::Object* parent); ErrorOr, Web::WebDriver::Error> find_session_with_id(StringView session_id); - ErrorOr, Web::WebDriver::Error> take_session_with_id(StringView session_id); virtual Web::WebDriver::Response new_session(Web::WebDriver::Parameters parameters, JsonValue payload) override; virtual Web::WebDriver::Response delete_session(Web::WebDriver::Parameters parameters, JsonValue payload) override; diff --git a/Userland/Services/WebDriver/Session.cpp b/Userland/Services/WebDriver/Session.cpp index 392edeeece..0c6fd87434 100644 --- a/Userland/Services/WebDriver/Session.cpp +++ b/Userland/Services/WebDriver/Session.cpp @@ -97,7 +97,7 @@ Web::WebDriver::Response Session::stop() web_content_connection().close_session(); // 2. Remove the current session from active sessions. - // NOTE: Handled by WebDriver::Client. + m_client->close_session(session_id()); // 3. Perform any implementation-specific cleanup steps. if (m_browser_pid.has_value()) {