summaryrefslogtreecommitdiffstats
path: root/src/core/api/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Add QWebEngineFrame and basic APIMoss Heim2024-05-031-0/+1
| | | | | | | | | | | | This object represents a frame on a web page, e.g. a <frame> or <iframe> element. Frames can be found through QWebEnginePage::mainFrame() and findFrameByName(). Also provides some basic getters on QWebEngineFrame and tests. Change-Id: If3905c6ecd14cf6c3508c65edc98f49415739489 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use NO_GENERATE_CPP_EXPORTS explicitlyAlexey Edelev2024-03-251-0/+1
| | | | | | | | | | | Use NO_GENERATE_CPP_EXPORTS explicitly for modules that don't need the autogenerated exports header file. Task-number: QTBUG-90492 Change-Id: Ifb068ca6eb404fefe4587346df8c511413f372f5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Moss Heim <moss.heim@qt.io>
* CMake: Fix deployment of QtWebEngine projects on LinuxJoerg Bornemann2023-12-221-0/+2
| | | | | | | | | | | | | | | | This adds a deployment hook for the generic deployment tool, which deploys - QtWebEngineProcess to QT_DEPLOY_PREFIX/libexec - resources to QT_DEPLOY_DATA_DIR/resources - locales to QT_DEPLOY_TRANSLATIONS_DIR/qtwebengine_locales Since we're picking this to lower branches, we cannot expect that QT_DEPLOY_LIBEXEC_DIR is set. Therefore, we initialize it if it doesn't exist. Pick-to: 6.5 6.6 6.7 Task-number: QTBUG-119077 Change-Id: I39fde919044d011376d8beb7e892dc9b5205c028 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix mac build with x86_64hMichal Klocek2023-12-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | We do not not really support x86_64h on mac with gn, so in case of "-DCMAKE_OSX_ARCHITECTURES=x86_64h" do x86_64 build anyway. Make arch test most strict as we did not really control the outcome. Add some architectures names as they were missing. Fix leaking cpu setting. Clean up toolchain setup which differs based on target os (win,linux,mac,ios,android). Note for some platforms we generate toolchain, for some we used gn provided ones. Fixes: QTBUG-118120 Pick-to: 6.7 6.6 Change-Id: Ia6fa8a59f55c1ebf37c10e469172520505214d38 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add new API for screen capturingMartin Negyokru2023-12-151-0/+1
| | | | | | | | | | | | [ChangeLog][WebEngineCore] Add QWebEnginePage::desktopMediaRequested() signal [ChangeLog][WebEngineQuick] Add QQuickWebEngineView::desktopMediaRequested() signal Pick-to: 6.7 Fixes: QTBUG-112142 Task-number: QTBUG-70077 Change-Id: I4bfad88732b45fb68b77f7617440bcb50b248a11 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add API to override User Agent Client HintsSzabolcs David2023-12-141-0/+1
| | | | | | | | | | | Implement QWebEngineClientHints class to provide API for each user agent client hints. Task-number: QTBUG-112826 Task-number: QTBUG-112825 Change-Id: I3091d60fb363bbafc16c8e48195c1fd82e8a81bb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Chromium 118 adaptationsAllan Sandfeld Jensen2023-12-091-0/+1
| | | | | Change-Id: I8eea99a472cc597ff9864b570c90b28b79b3751e Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Also stamp the v8_context_snapshot in debug and release builds on macOSMichael Brüning2023-10-251-5/+5
| | | | | | | | | | | | Even though debug-and-release builds on macOS are not the recommeded way anymore and ate not used in the CI they are currently still supported and should continue working. Pick-to: 6.6 Fixes: QTBUG-118505 Change-Id: Ib15bcb9983bf3664bf10cb5038cb6a928ab51bf6 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Anu Aliyas <anu.aliyas@qt.io>
* Use ABSOLUTE path if QT_ALLOW_SYMLINK_IN_PATHS is enabledAmir Masoud Abdol2023-09-181-4/+6
| | | | | | | | | | | | | When building with symlink allowed, we shouldn't resolve the symlink, and instead use ABSOLUTE path. The `qt_internal_get_filename_path_mode` returns ABSOLUTE only if we are on macOS, and QT_ALLOW_SYMLINK_IN_PATHS is enabled. Otherwise, path_mode will be REALPATH. Pick-to: 6.5 6.6 Task-number: QTBUG-113463 Change-Id: I99b84004781ebf748cb1db2ba068d71a72d0daa4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Remove QWebEngineUrlResponseInterceptor APIMichael Brüning2023-08-241-2/+0
| | | | | | | | | | | | | | | | | It has been found to not have any real effect, therefore, we remove it again to not release a non-functional API and create false expectations in users. This reverts commits 3f5de5fab74e6c152cdf5d04f3d893feaa31790b ab21f39c6a54be331dd8a155d3374bfe790e0274 (parts) 082eef1916a86d6d5e0c751d271c7c8a1a5e457d 5e257fb57a211f95556ec387fe6f262a60cbb6fe Pick-to: 6.6 Task-number: QTBUG-61071 Change-Id: Ifb33e32128e77dfffed863a1a7501ba21796692d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use a different file name for v8 context snapshot in debug modeAnu Aliyas2023-07-281-5/+15
| | | | | | | | | | - Use a different file name for v8 context snapshot in debug mode so that release and debug snapshots can live side-by-side. Fixes: QTBUG-115369 Change-Id: Ibe90e7abd45b9cd8b8471d3167b74876b6c4b4b2 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix and silence warnings after Chromium 112 adaptationsPeter Varga2023-07-271-1/+10
| | | | | | Pick-to: 6.6 Change-Id: Ib8fbcdc28d935b5634149a71b5391278edb4d472 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Do comments from api 6.6 reviewMichal Klocek2023-07-261-1/+2
| | | | | | | | | | Additionally make destructor out of line in qwebengineurlrequestinterceptor as it mirrors qwebenigneurlresponeinterceptor. Pick-to: 6.6 Change-Id: I0cdf7eae9faa671415359368560fb8f6aabf05fe Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Support FIDO2 user verificationAnu Aliyas2023-07-121-0/+1
| | | | | | | | | | | - Implemented AuthenticatorRequestClientDelegateQt support to handle authenticator requests. - Added FIDO user verification and resident credential support Fixes: QTBUG-90938 Fixes: QTBUG-90941 Change-Id: I6367791e1e9e8aaac27c376408377f838832f426 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Remove the manual undef of the min/max macros, or def NOMINMAXAmir Masoud Abdol2023-06-091-1/+0
| | | | | | | | | | | We now add NOMINMAX to PlatformCommonInternal target which will be linked to everything else, so min/max will not be defined upon the inclusion of `windows.h`, or other headers. Pick-to: 6.5 6.6 Change-Id: Ib6d0719126b1fa2b324ba4dfea8db69093280c37 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Generate chromium_attributions.qdoc before running qdoc -prepareTopi Reinio2023-05-311-1/+1
| | | | | | | | | | | | | | | | | | | If chromium_attributions.qdoc doesn't exist by the time QDoc is run in -prepare mode, Chromium attribution pages are not listed in qtwebengine.index file and therefore not visible to documentation sets outside Qt WebEngine. This meant that the attributions were not listed on the main Qt Licensing documentation page (that lives in qtdoc). Make the prepare_docs_WebEngineCore target depend on generate_chromium_attributions to ensure the correct order for doc generation. Pick-to: 6.5 Fixes: QTBUG-113806 Change-Id: I4e2a16974d1c6d29c3942becfbb46f0078cf3113 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix build race condition between data_dep and WebEngineCore.stampMichal Klocek2023-05-031-1/+4
| | | | | | | | | | | | | For v8 context generator data_dep race condition occurs on universal builds. As data_dep is runtime dependency, it will be not included into our linker WebEngineCore.stamp, changing the behavior in gn would look ugly as it would require introducing another flag to just to handle this case to force this dependency for build time. Therefore add extra v8_context_snapshot.stamp to cmake to cover that case. Change-Id: Ia8b2320fc8e615235bde483d282dfca73a38f215 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add v8 context snapshot support/featureMichal Klocek2023-05-031-2/+13
| | | | | Change-Id: I93e615293160d80c8a65b0152d2f820cfadbdb9d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Allow configuration of DNS-over-HTTPSYigit Akcay2023-04-281-0/+2
| | | | | | | | | | | | Implement QWebEngineGlobalSettings, a singleton class that contains global web engine settings (currently only for DoH). Allow the user to configure the stub host resolver to enable DNS-over-HTTPS. Fixes: QTBUG-98284 Change-Id: I1b06737c84e1b8d613aa257f4a891f82cac21013 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Require gn for generating docsMichal Klocek2023-03-301-0/+1
| | | | | | | | | | | | | Make sure gn is build before doc target, otherwise parallel top level build might not succeed. As configure runs the gn binary is not compiled so use scripting mode to execute gn call during build time. Pick-to: 6.5 Task-number: QTBUG-108751 Change-Id: I7e851de90e2a3ec52f5259d51f677b23d8245bcb Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add gn target to code attributions generatorMichal Klocek2023-03-281-13/+12
| | | | | | | | | Use gn_target for code attributions generation. Task-number: QTBUG-88482 Pick-to: 6.5 Change-Id: I4e5d063dec2347c10eb715a467bdd376e39e60af Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Use docs target for chromium code attributionsMichal Klocek2023-03-241-1/+1
| | | | | | | | | | The target docs_WebEngieCore, which in the end calls generate_docs_WebEngineCore, is not a dependency for any other target in generated ninja file. Pick-to: 6.5 Change-Id: Ic2f1c93fed8fbb1a44e2f99365b15b7ec3e636f2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QWebEngineUrlResponseInterceptor: Implement new URL response interceptorYigit Akcay2023-03-101-1/+2
| | | | | | | | | | | | | | | | | | | | | This patch adds the QWebEngineUrlResponseInterceptor abstract class, which, when implemented, allows a user to intercept response headers and modify them in any way they like. A response interceptor can be set via QWebEngineProfile::setUrlResponseInterceptor(), QQuickWebEngineProfile::setUrlResponseInterceptor() or QWebEnginePage::setUrlResponseInterceptor(). Also, the QWebEngineUrlResponseInfo class is implemented, which contains the request and response data to be used with the response interceptor. If a response interceptor is set in the profile and page, the one in the profile takes precedence. Fixes: QTBUG-61071 Change-Id: I484d14373ff597b1d531541c066f0102bae28c72 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-261-1/+1
| | | | | | Task-number: QTBUG-105718 Change-Id: I2ad190e5536cdbdc8d2656e61892545d66911a02 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add license headers to cmake filesLucie Gérard2022-07-071-0/+3
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I118bd63694cfe2c9a413af4a38828a31727f8e86 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Implement File System Access permission APISzabolcs David2022-05-261-0/+1
| | | | | | | | | | | | Allow web pages to safely access the local file system by exposing a permission API. Permissions are stored in-memory. The built-in access rules are the same as the behavior of Chrome: JS can't request access to system libraries, sensitive directories and the application itself. Task-number: QTBUG-97829 Change-Id: Ic675422cafbad5a90243b4fa8f0749c46afa192c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Support cross-compilation on macOSMichal Klocek2022-04-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | So far we only supported a cross-compiling with universal builds, however qmake also supports 'regular' cross compilation (by setting '-device-option'). This is semi-supported with qt-cmake as we need to provide additional configure defines like: * CMAKE_OSX_ARCHITECTURES=arm64 * CMAKE_SYSTEM_NAME=Darwin * CMAKE_OSX_DEPLOYMENT_TARGET=10.14 It might seem to be a far fetched issue, however in case of webengine doing the cross compilation for only one architecture allows to save compile times when testing only arm64 builds. Note we do not need to create gn toolchains for that case, however unlike universal builds it requires host qt build for tools. Pick-to: 6.3 6.2 Change-Id: Ica8470fdd4cad4866c1470e0403ffd019eaf39a6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix location of WebEngineProcess on build machines for framework buildsMichal Klocek2022-04-071-0/+8
| | | | | | | | | | | | | | | | | | | | | For some unknown reason we had built qtwebengine process in 'libexecdir' and installed later into 'libdir' for module frameworks builds. Unfortunately this can not work if you run tests on same build machines as bundle for webenginecore will be loaded form build dir and not form installation dir resulting in load of webengineprocess form incorrect 'libdir'. Set simply correct build paths, so they match install ones: framework build uses 'libdir' and non framework one 'libdirexec'. Remove bogus copy line as it is no longer needed for super builds. Copy resources locally to build tree so local build tree test can use them during execution. Pick-to: 6.3 6.2 Change-Id: Ib61ac5659330386ca43c9e403d5fe4d5e214158f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Adaptations for Chromium 94Allan Sandfeld Jensen2021-12-021-1/+1
| | | | | Change-Id: I9fb8998a3a7762b0aea70993ca231f0bbf4f7761 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix some issues with icu for dict toolMichal Klocek2021-10-281-0/+1
| | | | | | | | | | | | | | | | The dict tool can be run during the build, therefore copy just in case icu data file to tool application path, so it does not require installation and can run no matter if it is a prefix non prefix build. Guard for webengine_system_icu since there is no icu file in that case. Remove awesome looking genex from examples. Pick-to: 6.2 Change-Id: I2fd5ecf6c99ae1d003a1ac1c7bce2bb61a05f73f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix setup for 'no-prefix' buildsMichal Klocek2021-10-281-21/+14
| | | | | | | | | | | | | | | | | | | QT_SUPERBUILD is never cached and user can run only qtbase as super build and compile any other module as separate module build, moreover this can be also 'no prefix' build. Fix missing checks to support that case and clean up install of resources. For mac framework builds copy bundle to right place in case of 'no-prefix' builds. Fixes: QTBUG-94604 Task-number: QTBUG-96375 Pick-to: 6.2 Change-Id: I4ab7d4fed2c2be93f2a048a510419849361883ba Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add Chromium attributions targetMichal Klocek2021-10-141-0/+13
| | | | | | Pick-to: 6.2 Change-Id: I4e659dffa119a8c9f41a266cd71e9afb9c36362e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Enable no opengl buildsMichal Klocek2021-09-041-1/+1
| | | | | | | | | | | | | By mistake opengl was marked as required library, but should be just optional. Fix compilation issues. This should enable build on yet another coin node. Pick-to: 6.2 Change-Id: Id87404928e6b042d902fcfe0a7fed99a6806456f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adjust install and copy path for locales and resourcesMichal Klocek2021-08-311-11/+19
| | | | | | | | | | | | In case of top level build with prefix, make sure we also copy resources and locales to build dir, so tests can be executed without installing. Pick-to: 6.2 Task-number: QTBUG-95590 Change-Id: Ie64e650259b2c38a6eda8d15a94f7101ad8380a8 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix installation paths of resources and localesMichal Klocek2021-08-291-2/+2
| | | | | | | Fixes: QTBUG-95231 Pick-to: 6.2 Change-Id: I9aa2c42f97b903d17a709767f26b0b4dde4db8b5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Rewrite gn-cmake integrationMichal Klocek2021-08-291-9/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous gn-cmake integration was driven towards having the complete cmake build tree which included gn build artifacts. These were marked as IMPORTED in cmake build files, this way cmake "knew" all object files and static libs coming from gn. To achieve that we needed to run the cmake configure twice. First to feed gn with the build information from cmake and then the second run to import all the build information to cmake based on gn run. As a side effect of this the first run cmake was creating incomplete targets, so we could use generator expressions to gather all the data needed for gn run. The second run of cmake was able to create fully initialized targets. We used 'external project' to run cmake the second time. This approach worked well when doing "module" builds and having two targets, one in the main project and one in external was not an issue. Moreover, this approach could be integrated nicely since CI does only "module" builds. Unfortunately "top level" builds are implemented to import all qt targets into one build tree. This created issue for qtwebengine since fully initialized targets were 'hidden' by 'external project' and including half baked (dummy) targets from the main project resulted in bunch of issues related to the dependency tracking and build race conditions. Also using 'external project' complicated installation rules and in the end installation worked differently than in other modules. With current approach we use response files, so we hide all build artifacts coming from gn and feed cmake with those response files. This way we run the cmake configure once and we create all the targets once. Using rsp files hacks linker options in cmake, so this approach is sub-optimal, however allows to have working "top level" builds. It is worth mentioning here that the final module linking has to take place with cmake's part of build since doing one static lib in gn is not possible due to the toolchain limitation (msvc is not able to process static libs over 4Gb and has no support for thin archives, so only a shared lib is doable at time of writing) Following changes are made: * remove 'external project' for qtwebengine target, we keep it however for ninja ,gn and a host project * call gn from cmake in a scripting mode during build and not configure run, this way BUILD.gn is assembled as a build step so after generator expressions are executed * BUILD.gn is assembled now from 4 files: - root template BUILD.root.gn.in - compiler data gn_config_c.cmake, gn_config_cxx.cmake - sources data gn_cofnig_target.cmake * since we use gn wrapper script use gn.args file to pass arguments instead of a command line, so this file can be now easily modified when running gn and ninja 'manually' * since a script mode does not support handling of properties with TARGET as such, use the DIRECTORY scope in some of our functions which handle GN_TARGET * use qt_build_repo() in main CMakeFile and remove all coin and top level build hacks * remove 'external project' for examples and tests, this is no longer required as all qt targets are not hidden by external project * remove leftovers from gn feedback call used for GN_TARGET * improve installation rules, WebEgineCore target is not by default installed during build, therefore we need to copy resources and translations to root so tests and examples still can be built without a module being installed first * adjust GN lookup paths, we look for gn in main configure and during scripting mode when gn is executed Fixes: QTBUG-94349 Fixes: QTBUG-94709 Fixes: QTBUG-94922 Fixes: QTBUG-94997 Fixes: QTBUG-95051 Fixes: QTBUG-95152 Fixes: QTBUG-95158 Fixes: QTBUG-95972 Task-number: QTBUG-95231 Task-number: QTBUG-95590 Pick-to: 6.2 Change-Id: I5e7a34287ee59d904103fe310fc7c6a36a8dfbc9 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove QWebEngineCallbackAllan Sandfeld Jensen2021-08-101-1/+0
| | | | | | | | | Was no longer used in exposed APIs Pick-to: 6.2 Fixes: QTBUG-74588 Change-Id: Iaf4943983655fc79e67df28f5cd4c4961b360579 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Refactor cmake buildMichal Klocek2021-07-201-3/+0
| | | | | | | | | | Add macros to share common cmake code blocks with QtPdf. Reconsider later to do proper scoping and change those to functions if make sense. Pick-to: 6.2 Change-Id: I500acdba1415feab373a012dcf9a9ddedf33cfac Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Get rid of private methods of QWebEngineNewWindowRequestPeter Varga2021-07-121-1/+1
| | | | | | Pick-to: 6.2 Change-Id: I40072b45ceffa1a2c92027a4c01239974b8ac498 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for 90-basedAllan Sandfeld Jensen2021-07-081-0/+8
| | | | | | Pick-to: 6.2 Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Add WebEngine qdocconf for documentationAllan Sandfeld Jensen2021-06-081-0/+4
| | | | | | | | | Probably still needs internal naming updates. Task-number: QTBUG-94130 Change-Id: I3f2522b16a78475d42f9f689cf2d2e994130cf7b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Rename WebEngineLoadRequest to WebEngineLoadingInfoKirill Burtsev2021-06-041-1/+1
| | | | | | | | | | | | Rename it, since it's not a real request (in a sense that there is nothing to accept or reject), and it is also emitted on loading start and failure. [ChangeLog][QWebEngineQuick] WebEngineLoadRequest is renamed to WebEngineLoadingInfo Change-Id: I75b25da456eb4507451014070525a6a8e9d6753d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move QQuickWebEngineNavigationRequest to CoreAllan Sandfeld Jensen2021-06-041-0/+1
| | | | | | | | | Adds navigationRequested() to QWebEnginePage and exposes more information about navigation requests than the old acceptNavigationRequest() method. Change-Id: Ibb8d750bacd1060c3086ffe2c85336abd216bab0 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Drop printsupport dependency from coreSzabolcs David2021-06-031-5/+1
| | | | | | | | | Prevent linkage of core to widgets by moving printing API from QWebEnginePage to View and using QPagedPaintDevice (the QtGui ancestor of QPrinter) where it's needed. Change-Id: I6ea96edb495b0dcaaa584bbe72632fda025c18d3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move createWindow to a signalAllan Sandfeld Jensen2021-06-031-0/+1
| | | | | | | | | | | | | | Ports QQuickWebEngineNewViewRequest to QtWebEngineCore. [ChangeLog][QtWebEngineQuick][WebEngineView] WebEngineView::NewViewRequested is now handled with WebEngineView::acceptAsNewView() instead of with WebEngineNewViewRequest::openIn(). Task-number: QTBUG-74587 Change-Id: I9b27128948076e13f2c228458e1e7491df12153d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add missing dependecies, update shasMichal Klocek2021-05-251-1/+5
| | | | | | | | | | | Include WebChannel,Positioning cmake packages into WebEngineQuick and WebEngineWidgets. WebEngineCore depends on it so this should be pick up automatically, but in the case of clean build and due to how things work in cmake this is required otherwise linker genex will complain. Change-Id: I54fe8ffdb824e1fd0c0dcdfbbb43b1bcf06411bb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Refactor and create gn targetMichal Klocek2021-05-221-1/+1
| | | | | | | | | | | | | | | | | Refactor the gn handling and add: * the gn target for encapsulating resources needed to run chromium builds * the support for SOURCES, INCLUDES, DEFINES, COMPILE OPTIONS. * the multi config support for cmake and enable debug, release builds * CONDITION evaluation for the gn target and the gn arg list * the linux specific config and all missing source sets * use REALPATH instead of ABSOLUTE, this fixes missing drive letter on windows Task-number: QTBUG-91760 Change-Id: Ib283d8ab817ff36ee9c94c2b8f44785709c45258 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add QtWebEngineCore module cmake buildMichal Klocek2021-05-191-0/+74
Create QtWebEngineCore, QtWebEngineProcess and drive headers sync from the libs project. Main project build should not generate any header files, since the logic in qtbase assumes fixed QT_BUILD_DIR, which is by default CMAKE_BINARY_DIR for prefix builds. Drive all syncqt calls from the libs project and leave the main build just for the feature evolution and the build summary reporting. This fixes header installation issues, however this patch requires also sync.profile update which is done later, to keep the qmake build still functional. Note this patch only adds debug builds for linux. Task-number: QTBUG-91760 Change-Id: I516c26206baa1cf6b966629a694dadce7f79dbec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>