diff --git a/Ladybird/CMakeLists.txt b/Ladybird/CMakeLists.txt index 6ee7c8fdfc..8361a9e1e6 100644 --- a/Ladybird/CMakeLists.txt +++ b/Ladybird/CMakeLists.txt @@ -81,22 +81,23 @@ set(SOURCES ${BROWSER_SOURCE_DIR}/CookieJar.cpp ${BROWSER_SOURCE_DIR}/Database.cpp ${BROWSER_SOURCE_DIR}/History.cpp - BrowserWindow.cpp - ConsoleWidget.cpp - EventLoopImplementationQt.cpp - EventLoopImplementationQtEventTarget.cpp HelperProcess.cpp - InspectorWidget.cpp - LocationEdit.cpp - ModelTranslator.cpp - Settings.cpp - SettingsDialog.cpp - Tab.cpp - TVGIconEngine.cpp Utilities.cpp - WebContentView.cpp - ladybird.qrc - main.cpp + Qt/BrowserWindow.cpp + Qt/ConsoleWidget.cpp + Qt/EventLoopImplementationQt.cpp + Qt/EventLoopImplementationQtEventTarget.cpp + Qt/InspectorWidget.cpp + Qt/LocationEdit.cpp + Qt/ModelTranslator.cpp + Qt/Settings.cpp + Qt/SettingsDialog.cpp + Qt/Tab.cpp + Qt/TVGIconEngine.cpp + Qt/StringUtils.cpp + Qt/WebContentView.cpp + Qt/ladybird.qrc + Qt/main.cpp ) qt_add_executable(ladybird ${SOURCES}) @@ -107,14 +108,14 @@ target_include_directories(ladybird PRIVATE ${SERENITY_SOURCE_DIR}/Userland/) target_include_directories(ladybird PRIVATE ${SERENITY_SOURCE_DIR}/Userland/Applications/) target_include_directories(ladybird PRIVATE ${SERENITY_SOURCE_DIR}/Userland/Services/) -qt_add_executable(headless-browser +add_executable(headless-browser ${SERENITY_SOURCE_DIR}/Userland/Utilities/headless-browser.cpp ${SERENITY_SOURCE_DIR}/Userland/Services/WebContent/WebDriverConnection.cpp HelperProcess.cpp Utilities.cpp) target_include_directories(headless-browser PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) -target_link_libraries(headless-browser PRIVATE Qt::Core LibWeb LibWebView LibWebSocket LibCrypto LibFileSystem LibGemini LibHTTP LibJS LibGfx LibMain LibTLS LibIPC LibDiff LibProtocol) +target_link_libraries(headless-browser PRIVATE LibWeb LibWebView LibWebSocket LibCrypto LibFileSystem LibGemini LibHTTP LibJS LibGfx LibMain LibTLS LibIPC LibDiff LibProtocol) set_target_properties(ladybird PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER org.SerenityOS.Ladybird diff --git a/Ladybird/AndroidPlatform.cpp b/Ladybird/Qt/AndroidPlatform.cpp similarity index 100% rename from Ladybird/AndroidPlatform.cpp rename to Ladybird/Qt/AndroidPlatform.cpp diff --git a/Ladybird/AudioCodecPluginQt.cpp b/Ladybird/Qt/AudioCodecPluginQt.cpp similarity index 100% rename from Ladybird/AudioCodecPluginQt.cpp rename to Ladybird/Qt/AudioCodecPluginQt.cpp diff --git a/Ladybird/AudioCodecPluginQt.h b/Ladybird/Qt/AudioCodecPluginQt.h similarity index 100% rename from Ladybird/AudioCodecPluginQt.h rename to Ladybird/Qt/AudioCodecPluginQt.h diff --git a/Ladybird/AudioThread.cpp b/Ladybird/Qt/AudioThread.cpp similarity index 100% rename from Ladybird/AudioThread.cpp rename to Ladybird/Qt/AudioThread.cpp diff --git a/Ladybird/AudioThread.h b/Ladybird/Qt/AudioThread.h similarity index 100% rename from Ladybird/AudioThread.h rename to Ladybird/Qt/AudioThread.h diff --git a/Ladybird/BrowserWindow.cpp b/Ladybird/Qt/BrowserWindow.cpp similarity index 99% rename from Ladybird/BrowserWindow.cpp rename to Ladybird/Qt/BrowserWindow.cpp index 8ec06405a5..df0d8fef57 100644 --- a/Ladybird/BrowserWindow.cpp +++ b/Ladybird/Qt/BrowserWindow.cpp @@ -11,10 +11,11 @@ #include "ConsoleWidget.h" #include "Settings.h" #include "SettingsDialog.h" -#include "Utilities.h" +#include "StringUtils.h" #include "WebContentView.h" #include #include +#include #include #include #include @@ -25,8 +26,6 @@ #include #include -extern DeprecatedString s_serenity_resource_root; - namespace Ladybird { extern Settings* s_settings; diff --git a/Ladybird/BrowserWindow.h b/Ladybird/Qt/BrowserWindow.h similarity index 100% rename from Ladybird/BrowserWindow.h rename to Ladybird/Qt/BrowserWindow.h diff --git a/Ladybird/ConsoleWidget.cpp b/Ladybird/Qt/ConsoleWidget.cpp similarity index 99% rename from Ladybird/ConsoleWidget.cpp rename to Ladybird/Qt/ConsoleWidget.cpp index 01cf82376a..4867034fe7 100644 --- a/Ladybird/ConsoleWidget.cpp +++ b/Ladybird/Qt/ConsoleWidget.cpp @@ -8,7 +8,7 @@ */ #include "ConsoleWidget.h" -#include "Utilities.h" +#include "StringUtils.h" #include "WebContentView.h" #include #include diff --git a/Ladybird/ConsoleWidget.h b/Ladybird/Qt/ConsoleWidget.h similarity index 100% rename from Ladybird/ConsoleWidget.h rename to Ladybird/Qt/ConsoleWidget.h diff --git a/Ladybird/EventLoopImplementationQt.cpp b/Ladybird/Qt/EventLoopImplementationQt.cpp similarity index 100% rename from Ladybird/EventLoopImplementationQt.cpp rename to Ladybird/Qt/EventLoopImplementationQt.cpp diff --git a/Ladybird/EventLoopImplementationQt.h b/Ladybird/Qt/EventLoopImplementationQt.h similarity index 100% rename from Ladybird/EventLoopImplementationQt.h rename to Ladybird/Qt/EventLoopImplementationQt.h diff --git a/Ladybird/EventLoopImplementationQtEventTarget.cpp b/Ladybird/Qt/EventLoopImplementationQtEventTarget.cpp similarity index 100% rename from Ladybird/EventLoopImplementationQtEventTarget.cpp rename to Ladybird/Qt/EventLoopImplementationQtEventTarget.cpp diff --git a/Ladybird/EventLoopImplementationQtEventTarget.h b/Ladybird/Qt/EventLoopImplementationQtEventTarget.h similarity index 100% rename from Ladybird/EventLoopImplementationQtEventTarget.h rename to Ladybird/Qt/EventLoopImplementationQtEventTarget.h diff --git a/Ladybird/InspectorWidget.cpp b/Ladybird/Qt/InspectorWidget.cpp similarity index 100% rename from Ladybird/InspectorWidget.cpp rename to Ladybird/Qt/InspectorWidget.cpp diff --git a/Ladybird/InspectorWidget.h b/Ladybird/Qt/InspectorWidget.h similarity index 100% rename from Ladybird/InspectorWidget.h rename to Ladybird/Qt/InspectorWidget.h diff --git a/Ladybird/LocationEdit.cpp b/Ladybird/Qt/LocationEdit.cpp similarity index 99% rename from Ladybird/LocationEdit.cpp rename to Ladybird/Qt/LocationEdit.cpp index eb7bae563b..ea83a44836 100644 --- a/Ladybird/LocationEdit.cpp +++ b/Ladybird/Qt/LocationEdit.cpp @@ -5,7 +5,7 @@ */ #include "LocationEdit.h" -#include "Utilities.h" +#include "StringUtils.h" #include #include #include diff --git a/Ladybird/LocationEdit.h b/Ladybird/Qt/LocationEdit.h similarity index 100% rename from Ladybird/LocationEdit.h rename to Ladybird/Qt/LocationEdit.h diff --git a/Ladybird/ModelTranslator.cpp b/Ladybird/Qt/ModelTranslator.cpp similarity index 98% rename from Ladybird/ModelTranslator.cpp rename to Ladybird/Qt/ModelTranslator.cpp index 3d0f663c5e..293e8cd1d5 100644 --- a/Ladybird/ModelTranslator.cpp +++ b/Ladybird/Qt/ModelTranslator.cpp @@ -5,7 +5,7 @@ */ #include "ModelTranslator.h" -#include "Utilities.h" +#include "StringUtils.h" #include namespace Ladybird { diff --git a/Ladybird/ModelTranslator.h b/Ladybird/Qt/ModelTranslator.h similarity index 100% rename from Ladybird/ModelTranslator.h rename to Ladybird/Qt/ModelTranslator.h diff --git a/Ladybird/RequestManagerQt.cpp b/Ladybird/Qt/RequestManagerQt.cpp similarity index 100% rename from Ladybird/RequestManagerQt.cpp rename to Ladybird/Qt/RequestManagerQt.cpp diff --git a/Ladybird/RequestManagerQt.h b/Ladybird/Qt/RequestManagerQt.h similarity index 100% rename from Ladybird/RequestManagerQt.h rename to Ladybird/Qt/RequestManagerQt.h diff --git a/Ladybird/Settings.cpp b/Ladybird/Qt/Settings.cpp similarity index 95% rename from Ladybird/Settings.cpp rename to Ladybird/Qt/Settings.cpp index 4a8a7ec3e7..33aa802cb3 100644 --- a/Ladybird/Settings.cpp +++ b/Ladybird/Qt/Settings.cpp @@ -5,9 +5,10 @@ */ #include "Settings.h" -#include "Utilities.h" +#include "StringUtils.h" #include #include +#include namespace Ladybird { diff --git a/Ladybird/Settings.h b/Ladybird/Qt/Settings.h similarity index 100% rename from Ladybird/Settings.h rename to Ladybird/Qt/Settings.h diff --git a/Ladybird/SettingsDialog.cpp b/Ladybird/Qt/SettingsDialog.cpp similarity index 100% rename from Ladybird/SettingsDialog.cpp rename to Ladybird/Qt/SettingsDialog.cpp diff --git a/Ladybird/SettingsDialog.h b/Ladybird/Qt/SettingsDialog.h similarity index 100% rename from Ladybird/SettingsDialog.h rename to Ladybird/Qt/SettingsDialog.h diff --git a/Ladybird/Qt/StringUtils.cpp b/Ladybird/Qt/StringUtils.cpp new file mode 100644 index 0000000000..f7e44d7b52 --- /dev/null +++ b/Ladybird/Qt/StringUtils.cpp @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2022, Andreas Kling + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include "StringUtils.h" + +AK::DeprecatedString ak_deprecated_string_from_qstring(QString const& qstring) +{ + return AK::DeprecatedString(qstring.toUtf8().data()); +} + +ErrorOr ak_string_from_qstring(QString const& qstring) +{ + return String::from_utf8(StringView(qstring.toUtf8().data(), qstring.size())); +} + +QString qstring_from_ak_deprecated_string(AK::DeprecatedString const& ak_deprecated_string) +{ + return QString::fromUtf8(ak_deprecated_string.characters(), ak_deprecated_string.length()); +} + +QString qstring_from_ak_string(String const& ak_string) +{ + auto view = ak_string.bytes_as_string_view(); + return QString::fromUtf8(view.characters_without_null_termination(), view.length()); +} diff --git a/Ladybird/Qt/StringUtils.h b/Ladybird/Qt/StringUtils.h new file mode 100644 index 0000000000..415ccdb84c --- /dev/null +++ b/Ladybird/Qt/StringUtils.h @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2022, Andreas Kling + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include +#include +#include +#include + +AK::DeprecatedString ak_deprecated_string_from_qstring(QString const&); +ErrorOr ak_string_from_qstring(QString const&); +QString qstring_from_ak_deprecated_string(AK::DeprecatedString const&); +QString qstring_from_ak_string(String const&); diff --git a/Ladybird/TVGIconEngine.cpp b/Ladybird/Qt/TVGIconEngine.cpp similarity index 98% rename from Ladybird/TVGIconEngine.cpp rename to Ladybird/Qt/TVGIconEngine.cpp index 0ec4aac205..d13bbbcc87 100644 --- a/Ladybird/TVGIconEngine.cpp +++ b/Ladybird/Qt/TVGIconEngine.cpp @@ -5,7 +5,7 @@ */ #include "TVGIconEngine.h" -#include "Utilities.h" +#include "StringUtils.h" #include #include #include diff --git a/Ladybird/TVGIconEngine.h b/Ladybird/Qt/TVGIconEngine.h similarity index 100% rename from Ladybird/TVGIconEngine.h rename to Ladybird/Qt/TVGIconEngine.h diff --git a/Ladybird/Tab.cpp b/Ladybird/Qt/Tab.cpp similarity index 99% rename from Ladybird/Tab.cpp rename to Ladybird/Qt/Tab.cpp index d5dcf77500..18fb6d44a5 100644 --- a/Ladybird/Tab.cpp +++ b/Ladybird/Qt/Tab.cpp @@ -9,8 +9,8 @@ #include "ConsoleWidget.h" #include "InspectorWidget.h" #include "Settings.h" +#include "StringUtils.h" #include "TVGIconEngine.h" -#include "Utilities.h" #include #include #include diff --git a/Ladybird/Tab.h b/Ladybird/Qt/Tab.h similarity index 100% rename from Ladybird/Tab.h rename to Ladybird/Qt/Tab.h diff --git a/Ladybird/WebContentView.cpp b/Ladybird/Qt/WebContentView.cpp similarity index 99% rename from Ladybird/WebContentView.cpp rename to Ladybird/Qt/WebContentView.cpp index c1d45e4911..df0f91af53 100644 --- a/Ladybird/WebContentView.cpp +++ b/Ladybird/Qt/WebContentView.cpp @@ -6,8 +6,7 @@ */ #include "WebContentView.h" -#include "HelperProcess.h" -#include "Utilities.h" +#include "StringUtils.h" #include #include #include @@ -17,6 +16,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/Ladybird/WebContentView.h b/Ladybird/Qt/WebContentView.h similarity index 99% rename from Ladybird/WebContentView.h rename to Ladybird/Qt/WebContentView.h index 2c633cfa37..191013e5d3 100644 --- a/Ladybird/WebContentView.h +++ b/Ladybird/Qt/WebContentView.h @@ -7,12 +7,12 @@ #pragma once -#include "Types.h" #include #include #include #include #include +#include #include #include #include diff --git a/Ladybird/WebSocketClientManagerQt.cpp b/Ladybird/Qt/WebSocketClientManagerQt.cpp similarity index 100% rename from Ladybird/WebSocketClientManagerQt.cpp rename to Ladybird/Qt/WebSocketClientManagerQt.cpp diff --git a/Ladybird/WebSocketClientManagerQt.h b/Ladybird/Qt/WebSocketClientManagerQt.h similarity index 100% rename from Ladybird/WebSocketClientManagerQt.h rename to Ladybird/Qt/WebSocketClientManagerQt.h diff --git a/Ladybird/WebSocketImplQt.cpp b/Ladybird/Qt/WebSocketImplQt.cpp similarity index 99% rename from Ladybird/WebSocketImplQt.cpp rename to Ladybird/Qt/WebSocketImplQt.cpp index 882a7a0394..31ba1d8add 100644 --- a/Ladybird/WebSocketImplQt.cpp +++ b/Ladybird/Qt/WebSocketImplQt.cpp @@ -8,7 +8,7 @@ */ #include "WebSocketImplQt.h" -#include "Utilities.h" +#include "StringUtils.h" #include #include #include diff --git a/Ladybird/WebSocketImplQt.h b/Ladybird/Qt/WebSocketImplQt.h similarity index 100% rename from Ladybird/WebSocketImplQt.h rename to Ladybird/Qt/WebSocketImplQt.h diff --git a/Ladybird/WebSocketQt.cpp b/Ladybird/Qt/WebSocketQt.cpp similarity index 100% rename from Ladybird/WebSocketQt.cpp rename to Ladybird/Qt/WebSocketQt.cpp diff --git a/Ladybird/WebSocketQt.h b/Ladybird/Qt/WebSocketQt.h similarity index 100% rename from Ladybird/WebSocketQt.h rename to Ladybird/Qt/WebSocketQt.h diff --git a/Ladybird/Qt/ladybird.qrc b/Ladybird/Qt/ladybird.qrc new file mode 100644 index 0000000000..65b5ec8788 --- /dev/null +++ b/Ladybird/Qt/ladybird.qrc @@ -0,0 +1,8 @@ + + + ../Icons/ladybird.png + ../Icons/back.tvg + ../Icons/forward.tvg + ../Icons/reload.tvg + + diff --git a/Ladybird/main.cpp b/Ladybird/Qt/main.cpp similarity index 98% rename from Ladybird/main.cpp rename to Ladybird/Qt/main.cpp index ca3acdee97..c75f03a86f 100644 --- a/Ladybird/main.cpp +++ b/Ladybird/Qt/main.cpp @@ -6,13 +6,13 @@ #include "BrowserWindow.h" #include "EventLoopImplementationQt.h" -#include "HelperProcess.h" #include "Settings.h" -#include "Utilities.h" #include "WebContentView.h" #include #include #include +#include +#include #include #include #include diff --git a/Ladybird/Utilities.cpp b/Ladybird/Utilities.cpp index 0e6a9c443c..38fdc99c96 100644 --- a/Ladybird/Utilities.cpp +++ b/Ladybird/Utilities.cpp @@ -1,5 +1,6 @@ /* * Copyright (c) 2022, Andreas Kling + * Copyright (c) 2023, Andrew Kaster * * SPDX-License-Identifier: BSD-2-Clause */ @@ -7,30 +8,16 @@ #include "Utilities.h" #include #include +#include #include -#include DeprecatedString s_serenity_resource_root; -AK::DeprecatedString ak_deprecated_string_from_qstring(QString const& qstring) +ErrorOr application_directory() { - return AK::DeprecatedString(qstring.toUtf8().data()); -} - -ErrorOr ak_string_from_qstring(QString const& qstring) -{ - return String::from_utf8(StringView(qstring.toUtf8().data(), qstring.size())); -} - -QString qstring_from_ak_deprecated_string(AK::DeprecatedString const& ak_deprecated_string) -{ - return QString::fromUtf8(ak_deprecated_string.characters(), ak_deprecated_string.length()); -} - -QString qstring_from_ak_string(String const& ak_string) -{ - auto view = ak_string.bytes_as_string_view(); - return QString::fromUtf8(view.characters_without_null_termination(), view.length()); + auto current_executable_path = TRY(Core::System::current_executable_path()); + auto dirname = LexicalPath::dirname(current_executable_path.to_deprecated_string()); + return String::from_deprecated_string(dirname); } void platform_init() @@ -49,7 +36,7 @@ void platform_init() auto home_lagom = DeprecatedString::formatted("{}/.lagom", home); if (FileSystem::is_directory(home_lagom)) return home_lagom; - auto app_dir = ak_deprecated_string_from_qstring(QCoreApplication::applicationDirPath()); + auto app_dir = application_directory().release_value_but_fixme_should_propagate_errors().to_deprecated_string(); # ifdef AK_OS_MACOS return LexicalPath(app_dir).parent().append("Resources"sv).string(); # else @@ -61,11 +48,9 @@ void platform_init() ErrorOr> get_paths_for_helper_process(StringView process_name) { - auto application_path = TRY(ak_string_from_qstring(QCoreApplication::applicationDirPath())); + auto application_path = TRY(application_directory()); Vector paths; - TRY(paths.try_append(TRY(String::formatted("./{}/{}", process_name, process_name)))); - TRY(paths.try_append(TRY(String::formatted("{}/{}/{}", application_path, process_name, process_name)))); TRY(paths.try_append(TRY(String::formatted("{}/{}", application_path, process_name)))); TRY(paths.try_append(TRY(String::formatted("./{}", process_name)))); // NOTE: Add platform-specific paths here diff --git a/Ladybird/Utilities.h b/Ladybird/Utilities.h index 971254de94..8194d2339a 100644 --- a/Ladybird/Utilities.h +++ b/Ladybird/Utilities.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2022, Andreas Kling + * Copyright (c) 2023, Andrew Kaster * * SPDX-License-Identifier: BSD-2-Clause */ @@ -10,13 +11,9 @@ #include #include #include -#include -AK::DeprecatedString ak_deprecated_string_from_qstring(QString const&); -ErrorOr ak_string_from_qstring(QString const&); -QString qstring_from_ak_deprecated_string(AK::DeprecatedString const&); -QString qstring_from_ak_string(String const&); void platform_init(); +ErrorOr application_directory(); ErrorOr> get_paths_for_helper_process(StringView process_name); extern DeprecatedString s_serenity_resource_root; diff --git a/Ladybird/WebContent/CMakeLists.txt b/Ladybird/WebContent/CMakeLists.txt index 79cb33dc01..fe69ccd092 100644 --- a/Ladybird/WebContent/CMakeLists.txt +++ b/Ladybird/WebContent/CMakeLists.txt @@ -6,18 +6,19 @@ set(WEBCONTENT_SOURCES ${WEBCONTENT_SOURCE_DIR}/PageHost.cpp ${WEBCONTENT_SOURCE_DIR}/WebContentConsoleClient.cpp ${WEBCONTENT_SOURCE_DIR}/WebDriverConnection.cpp - ../AudioCodecPluginQt.cpp - ../AudioThread.cpp - ../EventLoopImplementationQt.cpp - ../EventLoopImplementationQtEventTarget.cpp ../FontPlugin.cpp ../HelperProcess.cpp ../ImageCodecPlugin.cpp - ../RequestManagerQt.cpp ../Utilities.cpp - ../WebSocketClientManagerQt.cpp - ../WebSocketQt.cpp - ../WebSocketImplQt.cpp + ../Qt/AudioCodecPluginQt.cpp + ../Qt/AudioThread.cpp + ../Qt/EventLoopImplementationQt.cpp + ../Qt/EventLoopImplementationQtEventTarget.cpp + ../Qt/RequestManagerQt.cpp + ../Qt/StringUtils.cpp + ../Qt/WebSocketClientManagerQt.cpp + ../Qt/WebSocketQt.cpp + ../Qt/WebSocketImplQt.cpp main.cpp ) diff --git a/Ladybird/WebContent/main.cpp b/Ladybird/WebContent/main.cpp index 7c88639ecf..a858e2cf24 100644 --- a/Ladybird/WebContent/main.cpp +++ b/Ladybird/WebContent/main.cpp @@ -4,15 +4,15 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include "../AudioCodecPluginQt.h" -#include "../EventLoopImplementationQt.h" -#include "../FontPlugin.h" -#include "../HelperProcess.h" -#include "../ImageCodecPlugin.h" -#include "../RequestManagerQt.h" -#include "../Utilities.h" -#include "../WebSocketClientManagerQt.h" #include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -41,8 +41,6 @@ static ErrorOr load_content_filters(); static ErrorOr load_autoplay_allowlist(); -extern DeprecatedString s_serenity_resource_root; - ErrorOr serenity_main(Main::Arguments arguments) { QCoreApplication app(arguments.argc, arguments.argv); diff --git a/Ladybird/WebDriver/CMakeLists.txt b/Ladybird/WebDriver/CMakeLists.txt index 5f770c63f2..e2e7092c76 100644 --- a/Ladybird/WebDriver/CMakeLists.txt +++ b/Ladybird/WebDriver/CMakeLists.txt @@ -8,13 +8,13 @@ set(SOURCES main.cpp ) -qt_add_executable(WebDriver ${SOURCES}) +add_executable(WebDriver ${SOURCES}) target_include_directories(WebDriver PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..) target_include_directories(WebDriver PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/..) target_include_directories(WebDriver PRIVATE ${SERENITY_SOURCE_DIR}/Userland) target_include_directories(WebDriver PRIVATE ${SERENITY_SOURCE_DIR}/Userland/Services) -target_link_libraries(WebDriver PRIVATE Qt::Core Qt::Network LibCore LibFileSystem LibGfx LibIPC LibJS LibMain LibWeb LibWebSocket) +target_link_libraries(WebDriver PRIVATE LibCore LibFileSystem LibGfx LibIPC LibJS LibMain LibWeb LibWebSocket) add_dependencies(WebDriver headless-browser) if (ANDROID) link_android_libs(WebDriver) diff --git a/Ladybird/WebDriver/main.cpp b/Ladybird/WebDriver/main.cpp index 76fcf3b672..941bd12489 100644 --- a/Ladybird/WebDriver/main.cpp +++ b/Ladybird/WebDriver/main.cpp @@ -4,8 +4,8 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include "../Utilities.h" #include +#include #include #include #include @@ -14,11 +14,8 @@ #include #include #include -#include #include -extern DeprecatedString s_serenity_resource_root; - static ErrorOr launch_process(StringView application, ReadonlySpan arguments) { auto paths = TRY(get_paths_for_helper_process(application)); @@ -57,9 +54,6 @@ static ErrorOr launch_headless_browser(DeprecatedString const& socket_pat ErrorOr serenity_main(Main::Arguments arguments) { - // Note: only creating this to get access to its static methods in Utilities - QCoreApplication application(arguments.argc, arguments.argv); - auto listen_address = "0.0.0.0"sv; int port = 8000; diff --git a/Ladybird/ladybird.qrc b/Ladybird/ladybird.qrc deleted file mode 100644 index ed6d80ccd2..0000000000 --- a/Ladybird/ladybird.qrc +++ /dev/null @@ -1,8 +0,0 @@ - - - Icons/ladybird.png - Icons/back.tvg - Icons/forward.tvg - Icons/reload.tvg - - diff --git a/Meta/gn/secondary/Ladybird/BUILD.gn b/Meta/gn/secondary/Ladybird/BUILD.gn index 91c0037dd5..17ee27e316 100644 --- a/Meta/gn/secondary/Ladybird/BUILD.gn +++ b/Meta/gn/secondary/Ladybird/BUILD.gn @@ -12,20 +12,20 @@ group("ladybird") { moc_qt_objects("generate_moc") { sources = [ - "BrowserWindow.h", - "ConsoleWidget.h", - "EventLoopImplementationQtEventTarget.h", - "InspectorWidget.h", - "LocationEdit.h", - "ModelTranslator.h", - "SettingsDialog.h", - "Tab.h", - "WebContentView.h", + "Qt/BrowserWindow.h", + "Qt/ConsoleWidget.h", + "Qt/EventLoopImplementationQtEventTarget.h", + "Qt/InspectorWidget.h", + "Qt/LocationEdit.h", + "Qt/ModelTranslator.h", + "Qt/SettingsDialog.h", + "Qt/Tab.h", + "Qt/WebContentView.h", ] } compile_qt_resource_file("compile_resource_file") { - sources = [ "ladybird.qrc" ] + sources = [ "Qt/ladybird.qrc" ] } link_qt("ladybird_qt_components") { @@ -79,21 +79,22 @@ executable("ladybird_executable") { "//Userland/Applications/Browser/CookieJar.cpp", "//Userland/Applications/Browser/Database.cpp", "//Userland/Applications/Browser/History.cpp", - "BrowserWindow.cpp", - "ConsoleWidget.cpp", - "EventLoopImplementationQt.cpp", - "EventLoopImplementationQtEventTarget.cpp", "HelperProcess.cpp", - "InspectorWidget.cpp", - "LocationEdit.cpp", - "ModelTranslator.cpp", - "Settings.cpp", - "SettingsDialog.cpp", - "TVGIconEngine.cpp", - "Tab.cpp", + "Qt/BrowserWindow.cpp", + "Qt/ConsoleWidget.cpp", + "Qt/EventLoopImplementationQt.cpp", + "Qt/EventLoopImplementationQtEventTarget.cpp", + "Qt/InspectorWidget.cpp", + "Qt/LocationEdit.cpp", + "Qt/ModelTranslator.cpp", + "Qt/Settings.cpp", + "Qt/SettingsDialog.cpp", + "Qt/StringUtils.cpp", + "Qt/TVGIconEngine.cpp", + "Qt/Tab.cpp", + "Qt/WebContentView.cpp", + "Qt/main.cpp", "Utilities.cpp", - "WebContentView.cpp", - "main.cpp", ] sources += get_target_outputs(":generate_moc") + get_target_outputs(":compile_resource_file") @@ -103,16 +104,9 @@ executable("ladybird_executable") { output_name = "ladybird" } -link_qt("headless_browser_qt") { - qt_components = [ "Core" ] -} - executable("headless-browser") { include_dirs = [ "//Userland/Services" ] - configs += [ - ":ladybird_config", - ":headless_browser_qt", - ] + configs += [ ":ladybird_config" ] deps = [ "//Userland/Libraries/LibCore", "//Userland/Libraries/LibCrypto", diff --git a/Meta/gn/secondary/Ladybird/WebContent/BUILD.gn b/Meta/gn/secondary/Ladybird/WebContent/BUILD.gn index 99910f29af..a67d0a09fa 100644 --- a/Meta/gn/secondary/Ladybird/WebContent/BUILD.gn +++ b/Meta/gn/secondary/Ladybird/WebContent/BUILD.gn @@ -4,10 +4,10 @@ import("//Meta/gn/build/libs/pulse/enable.gni") moc_qt_objects("generate_moc") { sources = [ - "//Ladybird/AudioCodecPluginQt.h", - "//Ladybird/AudioThread.h", - "//Ladybird/EventLoopImplementationQtEventTarget.h", - "//Ladybird/RequestManagerQt.h", + "//Ladybird/Qt/AudioCodecPluginQt.h", + "//Ladybird/Qt/AudioThread.h", + "//Ladybird/Qt/EventLoopImplementationQtEventTarget.h", + "//Ladybird/Qt/RequestManagerQt.h", ] } @@ -48,18 +48,19 @@ executable("WebContent") { "//Userland/Libraries/LibWebView:WebDriverServerEndpoint", ] sources = [ - "../AudioCodecPluginQt.cpp", - "../AudioThread.cpp", - "../EventLoopImplementationQt.cpp", - "../EventLoopImplementationQtEventTarget.cpp", - "../FontPlugin.cpp", - "../HelperProcess.cpp", - "../ImageCodecPlugin.cpp", - "../RequestManagerQt.cpp", - "../Utilities.cpp", - "../WebSocketClientManagerQt.cpp", - "../WebSocketImplQt.cpp", - "../WebSocketQt.cpp", + "//Ladybird/FontPlugin.cpp", + "//Ladybird/HelperProcess.cpp", + "//Ladybird/ImageCodecPlugin.cpp", + "//Ladybird/Qt/AudioCodecPluginQt.cpp", + "//Ladybird/Qt/AudioThread.cpp", + "//Ladybird/Qt/EventLoopImplementationQt.cpp", + "//Ladybird/Qt/EventLoopImplementationQtEventTarget.cpp", + "//Ladybird/Qt/RequestManagerQt.cpp", + "//Ladybird/Qt/StringUtils.cpp", + "//Ladybird/Qt/WebSocketClientManagerQt.cpp", + "//Ladybird/Qt/WebSocketImplQt.cpp", + "//Ladybird/Qt/WebSocketQt.cpp", + "//Ladybird/Utilities.cpp", "//Userland/Services/WebContent/ConnectionFromClient.cpp", "//Userland/Services/WebContent/ConsoleGlobalEnvironmentExtensions.cpp", "//Userland/Services/WebContent/PageHost.cpp", diff --git a/Meta/gn/secondary/Ladybird/WebDriver/BUILD.gn b/Meta/gn/secondary/Ladybird/WebDriver/BUILD.gn index 47397ca455..708d2b4551 100644 --- a/Meta/gn/secondary/Ladybird/WebDriver/BUILD.gn +++ b/Meta/gn/secondary/Ladybird/WebDriver/BUILD.gn @@ -1,17 +1,7 @@ import("//Ladybird/link_qt.gni") -link_qt("WebDriver_qt") { - qt_components = [ - "Core", - "Network", - ] -} - executable("WebDriver") { - configs += [ - "//Ladybird:ladybird_config", - ":WebDriver_qt", - ] + configs += [ "//Ladybird:ladybird_config" ] include_dirs = [ "//Userland/Services", "//Ladybird", @@ -31,7 +21,7 @@ executable("WebDriver") { "//Userland/Libraries/LibWebView:WebDriverServerEndpoint", ] sources = [ - "../Utilities.cpp", + "//Ladybird/Utilities.cpp", "//Userland/Services/WebDriver/Client.cpp", "//Userland/Services/WebDriver/Session.cpp", "//Userland/Services/WebDriver/WebContentConnection.cpp", diff --git a/Userland/Utilities/headless-browser.cpp b/Userland/Utilities/headless-browser.cpp index cf1d096fb6..e00bff50dc 100644 --- a/Userland/Utilities/headless-browser.cpp +++ b/Userland/Utilities/headless-browser.cpp @@ -43,7 +43,6 @@ #if !defined(AK_OS_SERENITY) # include # include -# include #endif class HeadlessWebContentView final : public WebView::ViewImplementation { @@ -374,9 +373,6 @@ static ErrorOr run_tests(HeadlessWebContentView& view, StringView test_root ErrorOr serenity_main(Main::Arguments arguments) { -#if !defined(AK_OS_SERENITY) - QCoreApplication app(arguments.argc, arguments.argv); -#endif Core::EventLoop event_loop; int screenshot_timeout = 1;