diff --git a/Ladybird/AppKit/main.mm b/Ladybird/AppKit/main.mm index 7055d1b5e5..cb4f840484 100644 --- a/Ladybird/AppKit/main.mm +++ b/Ladybird/AppKit/main.mm @@ -46,9 +46,7 @@ ErrorOr serenity_main(Main::Arguments arguments) args_parser.parse(arguments); auto sql_server_paths = TRY(get_paths_for_helper_process("SQLServer"sv)); - auto sql_client = TRY(SQL::SQLClient::launch_server_and_create_client(move(sql_server_paths))); - - auto database = TRY(WebView::Database::create(move(sql_client))); + auto database = TRY(WebView::Database::create(move(sql_server_paths))); auto cookie_jar = TRY(WebView::CookieJar::create(*database)); Optional initial_url; diff --git a/Ladybird/CMakeLists.txt b/Ladybird/CMakeLists.txt index 1320b75425..1d6d5a33dd 100644 --- a/Ladybird/CMakeLists.txt +++ b/Ladybird/CMakeLists.txt @@ -150,7 +150,7 @@ target_sources(ladybird PUBLIC FILE_SET ladybird TYPE HEADERS BASE_DIRS ${SERENITY_SOURCE_DIR} FILES ${LADYBIRD_HEADERS} ) -target_link_libraries(ladybird PRIVATE LibCore LibFileSystem LibGfx LibGUI LibIPC LibJS LibMain LibPublicSuffix LibWeb LibWebView LibSQL LibProtocol) +target_link_libraries(ladybird PRIVATE LibCore LibFileSystem LibGfx LibGUI LibIPC LibJS LibMain LibPublicSuffix LibWeb LibWebView LibProtocol) target_include_directories(ladybird PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) target_include_directories(ladybird PRIVATE ${SERENITY_SOURCE_DIR}/Userland/) diff --git a/Ladybird/Qt/main.cpp b/Ladybird/Qt/main.cpp index da28dcc070..27f93c6c00 100644 --- a/Ladybird/Qt/main.cpp +++ b/Ladybird/Qt/main.cpp @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -99,8 +98,7 @@ ErrorOr serenity_main(Main::Arguments arguments) if (enable_sql_database) { auto sql_server_paths = TRY(get_paths_for_helper_process("SQLServer"sv)); - auto sql_client = TRY(SQL::SQLClient::launch_server_and_create_client(move(sql_server_paths))); - database = TRY(WebView::Database::create(move(sql_client))); + database = TRY(WebView::Database::create(move(sql_server_paths))); } auto cookie_jar = database ? TRY(WebView::CookieJar::create(*database)) : WebView::CookieJar::create(); diff --git a/Userland/Libraries/LibWebView/Database.cpp b/Userland/Libraries/LibWebView/Database.cpp index 6c5c2c8832..c0afb48d70 100644 --- a/Userland/Libraries/LibWebView/Database.cpp +++ b/Userland/Libraries/LibWebView/Database.cpp @@ -17,6 +17,16 @@ ErrorOr> Database::create() return create(move(sql_client)); } +#if !defined(AK_OS_SERENITY) + +ErrorOr> Database::create(Vector candidate_sql_server_paths) +{ + auto sql_client = TRY(SQL::SQLClient::launch_server_and_create_client(move(candidate_sql_server_paths))); + return create(move(sql_client)); +} + +#endif + ErrorOr> Database::create(NonnullRefPtr sql_client) { auto connection_id = sql_client->connect(database_name); diff --git a/Userland/Libraries/LibWebView/Database.h b/Userland/Libraries/LibWebView/Database.h index 20166b3f56..3963098f97 100644 --- a/Userland/Libraries/LibWebView/Database.h +++ b/Userland/Libraries/LibWebView/Database.h @@ -29,7 +29,9 @@ class Database : public RefCounted { public: static ErrorOr> create(); - static ErrorOr> create(NonnullRefPtr); +#if !defined(AK_OS_SERENITY) + static ErrorOr> create(Vector candidate_sql_server_paths); +#endif ErrorOr prepare_statement(StringView statement); @@ -57,6 +59,8 @@ public: } private: + static ErrorOr> create(NonnullRefPtr); + struct ExecutionKey { constexpr bool operator==(ExecutionKey const&) const = default;