diff --git a/Libraries/LibWebView/CMakeLists.txt b/Libraries/LibWebView/CMakeLists.txt index b4f469c7a0d..659952be070 100644 --- a/Libraries/LibWebView/CMakeLists.txt +++ b/Libraries/LibWebView/CMakeLists.txt @@ -80,30 +80,6 @@ if (HAS_FONTCONFIG) target_link_libraries(LibWebView PRIVATE Fontconfig::Fontconfig) endif() -add_library(LibWebViewPlatform INTERFACE) -if (ENABLE_QT) - add_library(LibWebViewQt STATIC - EventLoop/EventLoopImplementationQt.cpp - EventLoop/EventLoopImplementationQtEventTarget.cpp - ) - - set_target_properties(LibWebViewQt PROPERTIES AUTOMOC ON AUTORCC OFF AUTOUIC OFF) - find_package(Qt6 REQUIRED COMPONENTS Core) - target_link_libraries(LibWebViewQt PRIVATE LibCore) - target_link_libraries(LibWebViewQt PUBLIC Qt::Core) - if (WIN32) - find_package(pthread REQUIRED) - target_include_directories(LibWebViewQt PRIVATE $) - endif() - target_link_libraries(LibWebViewPlatform INTERFACE LibWebViewQt) -elseif (APPLE) - add_library(LibWebViewCocoa STATIC - EventLoop/EventLoopImplementationMacOS.mm - ) - target_link_libraries(LibWebViewCocoa PUBLIC "-framework Cocoa") - target_link_libraries(LibWebViewPlatform INTERFACE LibWebViewCocoa) -endif() - if (ENABLE_INSTALL_HEADERS) foreach(header ${GENERATED_SOURCES}) get_filename_component(extension ${header} EXT) diff --git a/UI/AppKit/Application/Application.mm b/UI/AppKit/Application/Application.mm index 760dd12c3ad..7d6155a625b 100644 --- a/UI/AppKit/Application/Application.mm +++ b/UI/AppKit/Application/Application.mm @@ -4,9 +4,9 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include -#include #include #import @@ -26,7 +26,7 @@ Application::Application() = default; NonnullOwnPtr Application::create_platform_event_loop() { if (!browser_options().headless_mode.has_value()) { - Core::EventLoopManager::install(*new WebView::EventLoopManagerMacOS); + Core::EventLoopManager::install(*new EventLoopManagerMacOS); [::Application sharedApplication]; } diff --git a/Libraries/LibWebView/EventLoop/EventLoopImplementationMacOS.h b/UI/AppKit/Application/EventLoopImplementationMacOS.h similarity index 83% rename from Libraries/LibWebView/EventLoop/EventLoopImplementationMacOS.h rename to UI/AppKit/Application/EventLoopImplementationMacOS.h index 71e00145f99..d501ce90f5f 100644 --- a/Libraries/LibWebView/EventLoop/EventLoopImplementationMacOS.h +++ b/UI/AppKit/Application/EventLoopImplementationMacOS.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023-2024, Tim Flynn + * Copyright (c) 2023-2025, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ @@ -9,11 +9,10 @@ #include #include #include -#include -namespace WebView { +namespace Ladybird { -class WEBVIEW_API EventLoopManagerMacOS final : public Core::EventLoopManager { +class EventLoopManagerMacOS final : public Core::EventLoopManager { public: virtual NonnullOwnPtr make_implementation() override; @@ -29,7 +28,7 @@ public: virtual void unregister_signal(int) override; }; -class WEBVIEW_API EventLoopImplementationMacOS final : public Core::EventLoopImplementation { +class EventLoopImplementationMacOS final : public Core::EventLoopImplementation { public: // FIXME: This currently only manages the main NSApp event loop, as that is all we currently // interact with. When we need multiple event loops, or an event loop that isn't the diff --git a/Libraries/LibWebView/EventLoop/EventLoopImplementationMacOS.mm b/UI/AppKit/Application/EventLoopImplementationMacOS.mm similarity index 99% rename from Libraries/LibWebView/EventLoop/EventLoopImplementationMacOS.mm rename to UI/AppKit/Application/EventLoopImplementationMacOS.mm index 3ef870c8ccb..7564dc6135c 100644 --- a/Libraries/LibWebView/EventLoop/EventLoopImplementationMacOS.mm +++ b/UI/AppKit/Application/EventLoopImplementationMacOS.mm @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023-2024, Tim Flynn + * Copyright (c) 2023-2025, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ @@ -9,11 +9,11 @@ #include #include #include +#include #include #include #include #include -#include #import #import @@ -22,7 +22,7 @@ #include #include -namespace WebView { +namespace Ladybird { struct ThreadData; static thread_local OwnPtr s_this_thread_data; diff --git a/UI/AppKit/CMakeLists.txt b/UI/AppKit/CMakeLists.txt index 9e9349db53d..08e2a95840e 100644 --- a/UI/AppKit/CMakeLists.txt +++ b/UI/AppKit/CMakeLists.txt @@ -1,6 +1,7 @@ add_library(ladybird_impl STATIC Application/Application.mm Application/ApplicationDelegate.mm + Application/EventLoopImplementationMacOS.mm Interface/Autocomplete.mm Interface/Event.mm Interface/InfoBar.mm diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt index d02cec2d0c5..ad7a0b3a6e9 100644 --- a/UI/CMakeLists.txt +++ b/UI/CMakeLists.txt @@ -68,7 +68,7 @@ else() set(LADYBIRD_TARGET ladybird PRIVATE) endif() -set(LADYBIRD_LIBS AK LibCore LibFileSystem LibGfx LibImageDecoderClient LibIPC LibJS LibMain LibWeb LibWebView LibWebViewPlatform LibRequests LibURL) +set(LADYBIRD_LIBS AK LibCore LibFileSystem LibGfx LibImageDecoderClient LibIPC LibJS LibMain LibWeb LibWebView LibRequests LibURL) target_link_libraries(${LADYBIRD_TARGET} PRIVATE ${LADYBIRD_LIBS}) target_link_libraries(${LADYBIRD_TARGET} PRIVATE OpenSSL::Crypto OpenSSL::SSL) diff --git a/UI/Qt/Application.cpp b/UI/Qt/Application.cpp index f213276a651..7eec98f0c2f 100644 --- a/UI/Qt/Application.cpp +++ b/UI/Qt/Application.cpp @@ -5,9 +5,9 @@ */ #include -#include #include #include +#include #include #include @@ -102,14 +102,14 @@ void Application::create_platform_options(WebView::BrowserOptions&, WebView::Req NonnullOwnPtr Application::create_platform_event_loop() { if (!browser_options().headless_mode.has_value()) { - Core::EventLoopManager::install(*new WebView::EventLoopManagerQt); + Core::EventLoopManager::install(*new EventLoopManagerQt); m_application = make(arguments()); } auto event_loop = WebView::Application::create_platform_event_loop(); if (!browser_options().headless_mode.has_value()) - static_cast(event_loop->impl()).set_main_loop(); + static_cast(event_loop->impl()).set_main_loop(); return event_loop; } diff --git a/UI/Qt/CMakeLists.txt b/UI/Qt/CMakeLists.txt index 927bfe3d995..7449acb7aff 100644 --- a/UI/Qt/CMakeLists.txt +++ b/UI/Qt/CMakeLists.txt @@ -3,6 +3,8 @@ target_sources(ladybird PRIVATE Application.cpp Autocomplete.cpp BrowserWindow.cpp + EventLoopImplementationQt.cpp + EventLoopImplementationQtEventTarget.cpp FindInPageWidget.cpp Icon.cpp LocationEdit.cpp diff --git a/Libraries/LibWebView/EventLoop/EventLoopImplementationQt.cpp b/UI/Qt/EventLoopImplementationQt.cpp similarity index 98% rename from Libraries/LibWebView/EventLoop/EventLoopImplementationQt.cpp rename to UI/Qt/EventLoopImplementationQt.cpp index 08e81789bc4..6bab1c37570 100644 --- a/Libraries/LibWebView/EventLoop/EventLoopImplementationQt.cpp +++ b/UI/Qt/EventLoopImplementationQt.cpp @@ -16,8 +16,8 @@ #include #include #include -#include -#include +#include +#include #include #include @@ -26,7 +26,7 @@ #include #include -namespace WebView { +namespace Ladybird { struct ThreadData; static thread_local OwnPtr s_this_thread_data; diff --git a/Libraries/LibWebView/EventLoop/EventLoopImplementationQt.h b/UI/Qt/EventLoopImplementationQt.h similarity index 99% rename from Libraries/LibWebView/EventLoop/EventLoopImplementationQt.h rename to UI/Qt/EventLoopImplementationQt.h index 59a7298a8b8..1b25b16ed51 100644 --- a/Libraries/LibWebView/EventLoop/EventLoopImplementationQt.h +++ b/UI/Qt/EventLoopImplementationQt.h @@ -14,7 +14,7 @@ class QEvent; class QEventLoop; class QSocketNotifier; -namespace WebView { +namespace Ladybird { class EventLoopImplementationQt; class EventLoopImplementationQtEventTarget; diff --git a/Libraries/LibWebView/EventLoop/EventLoopImplementationQtEventTarget.cpp b/UI/Qt/EventLoopImplementationQtEventTarget.cpp similarity index 63% rename from Libraries/LibWebView/EventLoop/EventLoopImplementationQtEventTarget.cpp rename to UI/Qt/EventLoopImplementationQtEventTarget.cpp index 2bdca22f9b5..39d291f519b 100644 --- a/Libraries/LibWebView/EventLoop/EventLoopImplementationQtEventTarget.cpp +++ b/UI/Qt/EventLoopImplementationQtEventTarget.cpp @@ -4,10 +4,10 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include -#include +#include +#include -namespace WebView { +namespace Ladybird { bool EventLoopImplementationQtEventTarget::event(QEvent* event) { diff --git a/Libraries/LibWebView/EventLoop/EventLoopImplementationQtEventTarget.h b/UI/Qt/EventLoopImplementationQtEventTarget.h similarity index 93% rename from Libraries/LibWebView/EventLoop/EventLoopImplementationQtEventTarget.h rename to UI/Qt/EventLoopImplementationQtEventTarget.h index 4bc251e1915..b38344eb89a 100644 --- a/Libraries/LibWebView/EventLoop/EventLoopImplementationQtEventTarget.h +++ b/UI/Qt/EventLoopImplementationQtEventTarget.h @@ -9,7 +9,7 @@ #include #include -namespace WebView { +namespace Ladybird { class EventLoopImplementationQtEventTarget final : public QObject { Q_OBJECT