From e1e6e4c90071a7e4e7a12b9f529ca1da6d71e0c1 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Wed, 10 Feb 2021 10:32:52 +0100 Subject: Add WebEngineWidgets, WebEngineQuick modules cmake build Fix some library dependencies and make proper header includes in core. Task-number: QTBUG-91760 Change-Id: I415361dd42ef2cc39716ce3f5f56e6e8556ac4c8 Reviewed-by: Allan Sandfeld Jensen --- CMakeLists.txt | 2 + src/CMakeLists.txt | 3 +- src/core/authentication_dialog_controller.h | 3 +- src/core/client_cert_select_controller.h | 2 +- src/core/color_chooser_controller.h | 3 +- src/core/compositor/compositor.h | 2 +- src/core/favicon_manager.h | 2 +- src/core/file_picker_controller.h | 3 +- src/core/find_text_helper.h | 5 +-- src/core/profile_adapter.h | 10 ++--- src/core/profile_adapter_client.h | 2 +- src/core/render_widget_host_view_qt_delegate.h | 3 +- src/core/touch_handle_drawable_client.h | 2 +- src/core/touch_selection_menu_controller.h | 2 +- src/core/web_contents_adapter.h | 4 +- src/core/web_contents_adapter_client.h | 2 +- src/core/web_engine_error.h | 2 +- src/core/web_engine_settings.h | 4 +- src/webenginequick/CMakeLists.txt | 48 ++++++++++++++++++++++ src/webenginequick/api/qquickwebengineprofile.cpp | 18 ++++---- .../api/qquickwebenginescriptcollection.cpp | 2 +- src/webenginequick/api/qquickwebengineview.cpp | 2 +- src/webenginequick/configure.cmake | 17 ++++++++ src/webenginequick/plugin/CMakeLists.txt | 13 ++++++ src/webenginewidgets/CMakeLists.txt | 31 ++++++++++++++ src/webenginewidgets/api/qwebengineview.cpp | 4 +- src/webenginewidgets/api/qwebengineview_p.h | 2 +- .../render_widget_host_view_qt_delegate_widget.cpp | 2 +- 28 files changed, 150 insertions(+), 45 deletions(-) create mode 100644 src/webenginequick/CMakeLists.txt create mode 100644 src/webenginequick/configure.cmake create mode 100644 src/webenginequick/plugin/CMakeLists.txt create mode 100644 src/webenginewidgets/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index fd16c061d..a84f1ed58 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,6 +48,8 @@ endif() add_subdirectory(src/core/api) add_subdirectory(src/process) +add_subdirectory(src/webenginewidgets) +add_subdirectory(src/webenginequick) qt_build_repo_end() ### NINJA diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4f3858ef6..e9b445135 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -18,10 +18,11 @@ project(QtWebEngineRepo LANGUAGES CXX C) find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core) -find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Gui Widgets Network OpenGL OpenGLWidgets Quick Qml QuickTest Test) qt_build_repo_begin() add_subdirectory(core) add_subdirectory(process) +add_subdirectory(webenginewidgets) +add_subdirectory(webenginequick) qt_build_repo_end() diff --git a/src/core/authentication_dialog_controller.h b/src/core/authentication_dialog_controller.h index 631a95c34..ef2f2c724 100644 --- a/src/core/authentication_dialog_controller.h +++ b/src/core/authentication_dialog_controller.h @@ -51,8 +51,7 @@ #ifndef AUTHENTICATION_DIALOG_CONTROLLER_H #define AUTHENTICATION_DIALOG_CONTROLLER_H -#include "qtwebenginecoreglobal_p.h" - +#include #include namespace QtWebEngineCore { diff --git a/src/core/client_cert_select_controller.h b/src/core/client_cert_select_controller.h index 3a733f56f..e98c15802 100644 --- a/src/core/client_cert_select_controller.h +++ b/src/core/client_cert_select_controller.h @@ -51,7 +51,7 @@ #ifndef CLIENT_CERT_SELECT_CONTROLLER_H #define CLIENT_CERT_SELECT_CONTROLLER_H -#include "qtwebenginecoreglobal_p.h" +#include #include #include diff --git a/src/core/color_chooser_controller.h b/src/core/color_chooser_controller.h index 66222bb77..493847f4e 100644 --- a/src/core/color_chooser_controller.h +++ b/src/core/color_chooser_controller.h @@ -51,8 +51,7 @@ #ifndef COLOR_CHOOSER_CONTROLLER_H #define COLOR_CHOOSER_CONTROLLER_H -#include "qtwebenginecoreglobal_p.h" - +#include #include QT_FORWARD_DECLARE_CLASS(QColor) diff --git a/src/core/compositor/compositor.h b/src/core/compositor/compositor.h index 316178891..6e9a13e48 100644 --- a/src/core/compositor/compositor.h +++ b/src/core/compositor/compositor.h @@ -40,7 +40,7 @@ #ifndef COMPOSITOR_H #define COMPOSITOR_H -#include "qtwebenginecoreglobal_p.h" +#include QT_BEGIN_NAMESPACE class QImage; diff --git a/src/core/favicon_manager.h b/src/core/favicon_manager.h index a8247d15f..a6e5822a9 100644 --- a/src/core/favicon_manager.h +++ b/src/core/favicon_manager.h @@ -51,7 +51,7 @@ #ifndef FAVICON_MANAGER_H #define FAVICON_MANAGER_H -#include "qtwebenginecoreglobal_p.h" +#include #include #include #include diff --git a/src/core/file_picker_controller.h b/src/core/file_picker_controller.h index 0b84c889e..bba0bae37 100644 --- a/src/core/file_picker_controller.h +++ b/src/core/file_picker_controller.h @@ -51,8 +51,7 @@ #ifndef FILE_PICKER_CONTROLLER_H #define FILE_PICKER_CONTROLLER_H -#include "qtwebenginecoreglobal_p.h" - +#include #include #include diff --git a/src/core/find_text_helper.h b/src/core/find_text_helper.h index 9843dc8b5..8a19b15d8 100644 --- a/src/core/find_text_helper.h +++ b/src/core/find_text_helper.h @@ -51,9 +51,8 @@ #ifndef FIND_TEXT_HELPER_H #define FIND_TEXT_HELPER_H -#include "qtwebenginecoreglobal_p.h" - -#include "qwebenginecallback_p.h" +#include +#include #include namespace content { diff --git a/src/core/profile_adapter.h b/src/core/profile_adapter.h index e6e9ab7cb..fecb338ad 100644 --- a/src/core/profile_adapter.h +++ b/src/core/profile_adapter.h @@ -51,7 +51,7 @@ #ifndef PROFILE_ADAPTER_H #define PROFILE_ADAPTER_H -#include "qtwebenginecoreglobal_p.h" +#include #include #include @@ -59,10 +59,10 @@ #include #include -#include "api/qwebengineclientcertificatestore.h" -#include "api/qwebenginecookiestore.h" -#include "api/qwebengineurlrequestinterceptor.h" -#include "api/qwebengineurlschemehandler.h" +#include +#include +#include +#include #include "net/qrc_url_scheme_handler.h" QT_FORWARD_DECLARE_CLASS(QObject) diff --git a/src/core/profile_adapter_client.h b/src/core/profile_adapter_client.h index 07c00044b..6a2ce6ba0 100644 --- a/src/core/profile_adapter_client.h +++ b/src/core/profile_adapter_client.h @@ -51,7 +51,7 @@ #ifndef PROFILE_ADAPTER_CLIENT_H #define PROFILE_ADAPTER_CLIENT_H -#include "qtwebenginecoreglobal_p.h" +#include #include #include #include diff --git a/src/core/render_widget_host_view_qt_delegate.h b/src/core/render_widget_host_view_qt_delegate.h index f9306dba9..1df1322c7 100644 --- a/src/core/render_widget_host_view_qt_delegate.h +++ b/src/core/render_widget_host_view_qt_delegate.h @@ -51,8 +51,7 @@ #ifndef RENDER_WIDGET_HOST_VIEW_QT_DELEGATE_H #define RENDER_WIDGET_HOST_VIEW_QT_DELEGATE_H -#include "qtwebenginecoreglobal_p.h" - +#include #include #include #include diff --git a/src/core/touch_handle_drawable_client.h b/src/core/touch_handle_drawable_client.h index a2c87948a..d7db78f02 100644 --- a/src/core/touch_handle_drawable_client.h +++ b/src/core/touch_handle_drawable_client.h @@ -40,7 +40,7 @@ #ifndef TOUCH_HANDLE_DRAWABLE_CLIENT_H #define TOUCH_HANDLE_DRAWABLE_CLIENT_H -#include "qtwebenginecoreglobal_p.h" +#include #include namespace QtWebEngineCore { diff --git a/src/core/touch_selection_menu_controller.h b/src/core/touch_selection_menu_controller.h index 34137b05b..8955c7294 100644 --- a/src/core/touch_selection_menu_controller.h +++ b/src/core/touch_selection_menu_controller.h @@ -40,7 +40,7 @@ #ifndef TOUCH_SELECTION_MENU_CONTROLLER_H #define TOUCH_SELECTION_MENU_CONTROLLER_H -#include "qtwebenginecoreglobal_p.h" +#include #include namespace QtWebEngineCore { diff --git a/src/core/web_contents_adapter.h b/src/core/web_contents_adapter.h index ef710579b..b05ddeb4d 100644 --- a/src/core/web_contents_adapter.h +++ b/src/core/web_contents_adapter.h @@ -51,8 +51,8 @@ #ifndef WEB_CONTENTS_ADAPTER_H #define WEB_CONTENTS_ADAPTER_H -#include "qtwebenginecoreglobal_p.h" -#include "qwebenginecontextmenurequest_p.h" +#include +#include #include "web_contents_adapter_client.h" #include #include diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h index 1e2c7bbec..d9fab8fbb 100644 --- a/src/core/web_contents_adapter_client.h +++ b/src/core/web_contents_adapter_client.h @@ -51,7 +51,7 @@ #ifndef WEB_CONTENTS_ADAPTER_CLIENT_H #define WEB_CONTENTS_ADAPTER_CLIENT_H -#include "qtwebenginecoreglobal_p.h" +#include #include "profile_adapter.h" diff --git a/src/core/web_engine_error.h b/src/core/web_engine_error.h index cda9e4625..7277ffa9d 100644 --- a/src/core/web_engine_error.h +++ b/src/core/web_engine_error.h @@ -51,7 +51,7 @@ #ifndef WEB_ENGINE_ERROR_H #define WEB_ENGINE_ERROR_H -#include "qtwebenginecoreglobal_p.h" +#include class Q_WEBENGINECORE_PRIVATE_EXPORT WebEngineError { diff --git a/src/core/web_engine_settings.h b/src/core/web_engine_settings.h index 5d00a5d6f..a2366e2f6 100644 --- a/src/core/web_engine_settings.h +++ b/src/core/web_engine_settings.h @@ -51,8 +51,8 @@ #ifndef WEB_ENGINE_SETTINGS_H #define WEB_ENGINE_SETTINGS_H -#include "qtwebenginecoreglobal_p.h" -#include "qwebenginesettings.h" +#include +#include #include #include #include diff --git a/src/webenginequick/CMakeLists.txt b/src/webenginequick/CMakeLists.txt new file mode 100644 index 000000000..aeb2882a1 --- /dev/null +++ b/src/webenginequick/CMakeLists.txt @@ -0,0 +1,48 @@ +find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS Gui Qml Quick) +find_package(Qt6 ${PROJECT_VERSION} CONFIG QUIET OPTIONAL_COMPONENTS PrintSupport) + +get_configure_mode(configureMode) + +add_subdirectory(plugin) +qt_internal_add_module(WebEngineQuick + ${configureMode} + SOURCES + api/qquickwebengineaction.cpp api/qquickwebengineaction_p.h + api/qquickwebengineaction_p_p.h + api/qquickwebengineclientcertificateselection.cpp api/qquickwebengineclientcertificateselection_p.h + api/qquickwebenginedialogrequests.cpp api/qquickwebenginedialogrequests_p.h + api/qquickwebenginefaviconprovider.cpp + api/qquickwebenginefaviconprovider_p_p.h + api/qquickwebenginehistory.cpp api/qquickwebenginehistory_p.h + api/qquickwebenginenavigationrequest.cpp api/qquickwebenginenavigationrequest_p.h + api/qquickwebenginenewviewrequest.cpp api/qquickwebenginenewviewrequest_p.h + api/qquickwebengineprofile.cpp api/qquickwebengineprofile.h api/qquickwebengineprofile_p.h + api/qquickwebenginescriptcollection.cpp api/qquickwebenginescriptcollection.h + api/qquickwebenginesettings.cpp api/qquickwebenginesettings_p.h + api/qquickwebenginesingleton.cpp api/qquickwebenginesingleton_p.h + api/qquickwebenginetouchhandleprovider.cpp + api/qquickwebenginetouchhandleprovider_p_p.h + api/qquickwebengineview.cpp api/qquickwebengineview_p.h + api/qquickwebengineview_p_p.h + api/qtwebengineglobal.cpp api/qtwebengineglobal.h api/qtwebengineglobal_p.h + render_widget_host_view_qt_delegate_quick.cpp render_widget_host_view_qt_delegate_quick.h + render_widget_host_view_qt_delegate_quickwindow.cpp render_widget_host_view_qt_delegate_quickwindow.h + ui_delegates_manager.cpp ui_delegates_manager.h + DEFINES + QT_BUILD_WEBENGINE_LIB + INCLUDE_DIRECTORIES + ../core + api + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QuickPrivate + Qt::WebEngineCorePrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick + Qt::WebEngineCore +) +make_install_only(WebEngineQuick) diff --git a/src/webenginequick/api/qquickwebengineprofile.cpp b/src/webenginequick/api/qquickwebengineprofile.cpp index 98ce9904e..54da37309 100644 --- a/src/webenginequick/api/qquickwebengineprofile.cpp +++ b/src/webenginequick/api/qquickwebengineprofile.cpp @@ -38,25 +38,23 @@ ****************************************************************************/ #include "qquickwebengineprofile.h" - #include "qquickwebengineprofile_p.h" #include "qquickwebenginesettings_p.h" -#include "qwebenginescriptcollection.h" -#include "qwebenginescriptcollection_p.h" #include "qquickwebenginescriptcollection.h" #include "qquickwebengineview_p_p.h" -#include "qwebenginecookiestore.h" -#include "qwebenginenotification.h" -#include -#include -#include -#include - #include "profile_adapter.h" #include "web_engine_settings.h" +#include +#include +#include +#include #include #include +#include +#include +#include +#include using QtWebEngineCore::ProfileAdapter; diff --git a/src/webenginequick/api/qquickwebenginescriptcollection.cpp b/src/webenginequick/api/qquickwebenginescriptcollection.cpp index c0939d72f..6537e8e67 100644 --- a/src/webenginequick/api/qquickwebenginescriptcollection.cpp +++ b/src/webenginequick/api/qquickwebenginescriptcollection.cpp @@ -39,7 +39,7 @@ #include "qquickwebenginescriptcollection.h" #include "qwebenginescriptcollection.h" -#include "qwebenginescriptcollection_p.h" +#include #include #include #include diff --git a/src/webenginequick/api/qquickwebengineview.cpp b/src/webenginequick/api/qquickwebengineview.cpp index 710e593c5..5847cb46f 100644 --- a/src/webenginequick/api/qquickwebengineview.cpp +++ b/src/webenginequick/api/qquickwebengineview.cpp @@ -63,7 +63,7 @@ #include "qwebengineloadrequest.h" #include "qwebenginequotarequest.h" #include "qwebenginescriptcollection.h" -#include "qwebenginescriptcollection_p.h" +#include #include "qwebengineregisterprotocolhandlerrequest.h" #if QT_CONFIG(webenginequick_testsupport) #include "qquickwebenginetestsupport_p.h" diff --git a/src/webenginequick/configure.cmake b/src/webenginequick/configure.cmake new file mode 100644 index 000000000..5f095ca51 --- /dev/null +++ b/src/webenginequick/configure.cmake @@ -0,0 +1,17 @@ +qt_feature("webenginequick-qml" PRIVATE + LABEL "Support Qt WebEngine Qml" + PURPOSE "Provides WebEngine Qml support." +) +qt_feature("webenginequick-ui-delegates" PRIVATE + SECTION "WebEngine" + LABEL "UI Delegates" +) +qt_feature("webenginequick-testsupport" PRIVATE + LABEL "Test Support" + AUTODETECT FALSE +) +qt_configure_add_summary_section(NAME "Qt WebEngineQuick") +qt_configure_add_summary_entry(ARGS "webenginequick-qml") +qt_configure_add_summary_entry(ARGS "webenginequick-ui-delegates") +qt_configure_add_summary_entry(ARGS "webenginequick-testsupport") +qt_configure_end_summary_section() diff --git a/src/webenginequick/plugin/CMakeLists.txt b/src/webenginequick/plugin/CMakeLists.txt new file mode 100644 index 000000000..10a6c4d87 --- /dev/null +++ b/src/webenginequick/plugin/CMakeLists.txt @@ -0,0 +1,13 @@ +qt_internal_add_qml_module(qtwebengineplugin + URI "QtWebEngine" + VERSION "${PROJECT_VERSION}" + CLASSNAME QtWebEnginePlugin + SKIP_TYPE_REGISTRATION + SOURCES + plugin.cpp + LIBRARIES + Qt::CorePrivate + Qt::WebEngineCorePrivate + Qt::WebEngineQuickPrivate +) +make_install_only(qtwebengineplugin) diff --git a/src/webenginewidgets/CMakeLists.txt b/src/webenginewidgets/CMakeLists.txt new file mode 100644 index 000000000..5274a45bf --- /dev/null +++ b/src/webenginewidgets/CMakeLists.txt @@ -0,0 +1,31 @@ +find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS Gui Widgets Quick QuickWidgets) +find_package(Qt6 ${PROJECT_VERSION} CONFIG QUIET OPTIONAL_COMPONENTS PrintSupport) + +get_configure_mode(configureMode) + +qt_internal_add_module(WebEngineWidgets + ${configureMode} + SOURCES + api/qtwebenginewidgetsglobal.h + api/qwebenginenotificationpresenter.cpp api/qwebenginenotificationpresenter_p.h + api/qwebengineview.cpp api/qwebengineview.h api/qwebengineview_p.h + render_widget_host_view_qt_delegate_widget.cpp render_widget_host_view_qt_delegate_widget.h + DEFINES + QT_BUILD_WEBENGINEWIDGETS_LIB + INCLUDE_DIRECTORIES + ../core + api + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QuickWidgets + Qt::WidgetsPrivate + Qt::WebEngineCorePrivate + Qt::QuickPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Widgets + Qt::WebEngineCore +) +make_install_only(WebEngineWidgets) diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index f929a2691..1d099aa30 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.cpp @@ -40,8 +40,8 @@ #include "qwebengineview.h" #include "qwebengineview_p.h" -#include "qwebenginepage_p.h" -#include "qwebengineprofile.h" +#include +#include #include "render_widget_host_view_qt_delegate_widget.h" #include "web_contents_adapter.h" #include "file_picker_controller.h" diff --git a/src/webenginewidgets/api/qwebengineview_p.h b/src/webenginewidgets/api/qwebengineview_p.h index 47694ab24..40f195522 100644 --- a/src/webenginewidgets/api/qwebengineview_p.h +++ b/src/webenginewidgets/api/qwebengineview_p.h @@ -54,7 +54,7 @@ #include #include "qwebenginecontextmenurequest.h" #include "render_view_context_menu_qt.h" -#include "qwebenginepage_p.h" +#include #include namespace QtWebEngineCore { diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp index 5d8932fb7..0869b254e 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp @@ -41,7 +41,7 @@ #include "render_widget_host_view_qt_delegate_client.h" -#include "qwebenginepage_p.h" +#include #include "qwebengineview.h" #include "qwebengineview_p.h" -- cgit v1.2.3