summaryrefslogtreecommitdiffstats
path: root/src/webenginequick
Commit message (Collapse)AuthorAgeFilesLines
* Do not access accessibility from qt post routinesMichal Klocek2021-11-161-1/+5
| | | | | | | | | | | | | | | | | | | It seems accessing accessibility from qt post routines ends badly since caches are gone already. Add closingDown() function to web context, which is similar to QCoreApplication::closingDown(), however return true on post routine. Guard delete accessibility calls. Note the widget part is not necessary, but added for completeness, since only qml can release profiles due to garbage collection. Fixes: QTBUG-90904 Pick-to: 6.2 6.2.2 5.15 Change-Id: Ic0e7115cd17eb58f3d58f70fefbc197dfb7a6493 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* FaviconImageResponseRunnable: fix -Werror=deprecatedMarc Mutz2021-11-161-2/+2
| | | | | | | | | | C++20 deprecates [=]'s implicit capture of this, but the replacement [=, this] isn't available in C++17. So, need to bite the bullet and list every captured variable manually. Pick-to: 6.2 Change-Id: I47c62f9bf93e5d7b6c64cdbdac73bdcc9ecab8b5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Fix qdoc warnings and enable zero warning limitVenugopal Shivashankar2021-11-151-4/+4
| | | | | Change-Id: Ifa2914e7bca9c224670a1891785d0ba8262cd61b Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Clean up build optionsMichal Klocek2021-10-282-5/+1
| | | | | | | | | | | | | | We can configure webenigne repository with FEATURE_qtpdf_build and FEATURE_qtwebegine_build so make them public. The handling is still affected by QTBUG-96936,however private vs public features will most likely get better handling soon. Fix build summary to better reflect build options. Pick-to: 6.2 Change-Id: Ic6ef54a68b68d0f05c520a058665e6294efbe041 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add onTouchSelectionMenuRequested QML handlerBalazs Egedi2021-10-267-0/+440
| | | | | | Task-number: QTBUG-85043 Change-Id: Iecd2f5ae20fcf031937a1d44cc154f2e2a3ff52f Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Remove the rest of qmake based configurationMichal Klocek2021-10-144-144/+0
| | | | | | | | | | The only not cover part in cmake port are: * ios builds for qtpdf * qt static dependecies for qpdf Pick-to: 6.2 Change-Id: Iefe624c35d847b4a9c3cd970192487340b1657f9 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Change protected members to private in UIDelegatesManagerBalazs Egedi2021-09-301-1/+1
| | | | | | | | | There is no derived class from UIDelegatesManager any more. Pick-to: 6.2 Task-number: QTBUG-93666 Change-Id: I7316e7e37f1f5f5a40d0f2ea71344f093ab5ad1b Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix "We mean it." warningsPeter Varga2021-09-231-0/+11
| | | | | | Pick-to: 6.2 Change-Id: I70a491617faff31901162cb382b388a7594816fa Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Rename Quick examples' folder from webengine to webenginequickBalazs Egedi2021-09-133-4/+4
| | | | | | | | Fix webengine directory path in project files and comments Pick-to: 6.2 6.2.0 Change-Id: I06ed9ee41111e7135fa9feb152ad2a5eb2262b76 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix drag and drop againAllan Sandfeld Jensen2021-09-101-4/+4
| | | | | | | | | | Return the right QObjects Fixes: QTBUG-96308 Change-Id: If04be10fe19db6b8c0552c7df588961c711c1250 Reviewed-by: Michael Brüning <michael.bruning@qt.io> (cherry picked from commit e85e4ab275fb0a0c072f19ed3d5c5b5b46de8321) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix handling of new window requestKirill Burtsev2021-09-052-13/+9
| | | | | | | | | | | | | | | | | | | | Fixes heap-use-after-free for WebContentsAdapter, which is replaced in the case, when new window set to be opened and adopted by the same page, which triggered this request: for example, when 'this' is returned by 'createWindow' override. Achieve this by scheduling 'deleteLater' on an old adapter. This was already implemented that way for internal 'adoptWebContents', but was overlooked for page's 'createWindow' API. So just unify handling logic. Also, adapt 'customUserAgentInNewTab' test, since adopting existing WebContents from different profile is not supposed to work, and now enforced by the check in 'adoptWebContents'. Unfortunately, test should also be blacklisted, since it's appeared that custom user agent is still not reliably set for newly created window. Task-number: QTBUG-76249 Fixes: QTBUG-94772 Pick-to: 6.2 Change-Id: Ic9dff33eae99cc242a294d45a92be96306cef93d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Enable no opengl buildsMichal Klocek2021-09-041-0/+4
| | | | | | | | | | | | | 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>
* Rewrite gn-cmake integrationMichal Klocek2021-08-292-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Restore enums for QQuickWebEngineView from old-new API classesKirill Burtsev2021-08-262-2/+51
| | | | | | | | | Restore SC, but at least deprecate these enums in view Pick-to: 6.2 Change-Id: Ic2a263b0ec175c56b8bf450fae9576bfefca2928 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Enable touch events in webenginequick by defaultBalazs Egedi2021-08-261-0/+1
| | | | | | | Task-number: QTBUG-95924 Pick-to: 6.2 Change-Id: If6905e8c98c0468c74bb96f9a22267cb9ce4ed16 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add missing touch-related delegates to CMakeBalazs Egedi2021-08-261-0/+2
| | | | | | | Task-number: QTBUG-93666 Pick-to: 6.2 Change-Id: Id959077f4aeb8f6e4d619d88a683b8f5f7447775 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Fix remaining documentation warningsTopi Reinio2021-08-261-6/+5
| | | | | | | | | | | * WebEngineCertificateError::ignoreCertificateError() was renamed to acceptCertificate(). * Use correct \instantiates class for WebEngineNewWindowRequest. Pick-to: 6.2 Task-number: QTBUG-95860 Change-Id: I42cc4a8939625b432cb4c6f68b26423b6dc3fa7d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix rendering and crash with popupsAllan Sandfeld Jensen2021-08-201-4/+4
| | | | | | | | | | Were not rendering right after the "Move scenegraph handling out of core" change. Pick-to: 6.2 Task-number: QTBUG-95924 Change-Id: I30e206084573a64aeb8a93ca54b46f8a23aa81b3 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Move the rest of the super module documentation to core moduleAllan Sandfeld Jensen2021-08-199-1829/+0
| | | | | | | | Previously parts were moved, but these were left behind in the quick module. Pick-to: 6.2 Change-Id: Icef469e14d073170ec5b2296048874d2b7439385 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Rename quick's 'newViewRequested' to 'newWindowRequested'Kirill Burtsev2021-08-187-38/+38
| | | | | | | | Match new api within the page API. Pick-to: 6.2 Change-Id: Ib2af2f5270f368813cecab8f1c6b7366d3b7172f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Document changes in qt6Allan Sandfeld Jensen2021-08-181-0/+6
| | | | | | | | Pick-to: 6.2 Fixes: QTBUG-94933 Change-Id: I8777b8136afad0e93c0762433471476840802ba6 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Hide unneeded Quick C++ APIsKirill Burtsev2021-08-176-7/+7
| | | | | | | | They are not supposed to be a part of public Quick API Pick-to: 6.2 Change-Id: Ib04ea022192d0eec559c28a48bc87fabda932564 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update documentation notes for build with WebEngine modulesKirill Burtsev2021-08-174-16/+30
| | | | | | | | | | Add cmake usage snippets for module's libraries. Remove quick version from code snippets. Fix minor documentation warnings. Fixes: QTBUG-94937 Pick-to: 6.2 Change-Id: I2e5c8616ceeab495f604e135bb2aa2261c50c68d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Reintroduce File Picker controlBalazs Egedi2021-08-091-11/+5
| | | | | | | | | | - Using FileDialog from QuickDialogs2 - Enabled the UIDelegates test Task-number: QTBUG-93666 Pick-to: 6.2 Change-Id: I8438a2498e864bc93abf26f2527d7883ac26ca9b Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Implement QML Color DialogBalazs Egedi2021-08-041-12/+274
| | | | | | | | | | Quick Controls 2 does not contain Color Dialog, the Labs version does not run on every OS. Task-number: QTBUG-93666 Pick-to: 6.2 Change-Id: Idfb1fd017a7f7b74c4ad135575a9727607dacac4 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* WebEngineNavigationRequest: add accept/reject and deprecate setActionKirill Burtsev2021-07-212-6/+7
| | | | | | | | | | | | Match naming with others and use accept/reject methods to handle request. Also, allow to use request object after call scope in QML. [ChangeLog][QWebEngineQuick][WebEngineNavigationRequest] setAction(action) is deprecated in favor of new accept/reject methods Pick-to: 6.2 Change-Id: I83252370e2e83017008f6951f98b7ecad119e232 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Get rid of Quick's TestSupport APIPeter Varga2021-07-2012-451/+5
| | | | | | | | | | | - Moved TestInputContext and TestInputEvent APIs to tst_qmltests. - Removed loadVisuallyCommitted and use Item.grabToImage to check if page is rendered. - Removed windowCloseRejected signal and use a hidden callback instead. Pick-to: 6.2 Change-Id: Ica6e4c6017426e0171d738a6a59afa557c786698 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Clean up quick APIPeter Varga2021-07-1926-169/+152
| | | | | | Pick-to: 6.2 Change-Id: I9407d407b203b8e2bb13768e5a899624ea47282a Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Merge UI2DelegatesManager into UIDelegatesManagerBalazs Egedi2021-07-184-111/+5
| | | | | | | | | | Drop Quick Controls 1 support. Task-number: QTBUG-93666 Pick-to: 6.2 Change-Id: I68580ef4649141d3d1507fd207088794e7764d2a Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix documentation of WebEngineView::backgroundColorSzabolcs David2021-07-141-1/+1
| | | | | | | | | | Type is color instead of bool. Pick-to: 6.2 Task-number: QTBUG-86021 Change-Id: I9c083096b545cf56a31174f121d0c245321874ff Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Get rid of private methods of QWebEngineNewWindowRequestPeter Varga2021-07-121-4/+6
| | | | | | Pick-to: 6.2 Change-Id: I40072b45ceffa1a2c92027a4c01239974b8ac498 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Remove outdated QT_VERSION_CHECKsAllan Sandfeld Jensen2021-07-094-16/+0
| | | | | | Pick-to: 6.2 Change-Id: I4c4b78af0bd7da5912b5e0136f9cfdb3c4268a7e Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Fix Qt include conventions in public headersFriedemann Kleint2021-07-092-5/+5
| | | | | | | | Specify the module and use the .h files. Pick-to: 6.2 Change-Id: I7c2bb1a635d10e25c874f18736120efde6ce2ca4 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* QWebEngineQuick: Fix export macrosFriedemann Kleint2021-07-0816-25/+25
| | | | | | | | | Add Quick to the name. Pick-to: 6.2 Change-Id: I898f946d2dc6b306314330d3d3fbbfc8a3001557 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove QQuickWebEngineFormValidationMessageRequestAllan Sandfeld Jensen2021-07-074-164/+0
| | | | | | | | Has been deprecated and non functional for years. Pick-to: 6.2 Change-Id: I77966c00e2aaa5828bb276e9647b5ba38b99c81a Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Remove deprecated useforglobalcertificateverificationPeter Varga2021-07-063-80/+0
| | | | | | | | | | | | It enabled an unrecommended OCSP path on Linux [ChangeLog] (Q)WebEngineSettings::useForGlobalCertificateVerification has been removed. Pick-to: 6.2 Task-number: QTBUG-91467 Change-Id: I9f5d1ad5e4fcb59abd31e6a133ded7bf8319c811 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Restore WebEngineNewViewRequest::openIn methodAllan Sandfeld Jensen2021-07-066-18/+171
| | | | | | | Pick-to: 6.2 Change-Id: Ib765970d4c57f742a53cd4d2c870b00628d527aa Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Fix enums access in qml for api typesKirill Burtsev2021-07-011-1/+19
| | | | | | | | | | Add missing namespace qml registration for WebEngineLoadingInfo, CertificateError Pick-to: 6.2 Change-Id: I154070df3ab685b36d000cdfc064a074d002afc0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Doc: Fix documentation issues for Qt WebEngineTopi Reinio2021-07-0111-47/+33
| | | | | | | | | | API and documentation changes since 5.15 caused multiple warnings from QDoc; this change addresses most of them. Some warnings indicate missing documentation, those issues still remain. Pick-to: 6.2 Change-Id: I96be38b7daac37a7e35c149b4b3ec3f18c4415c9 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Remove Quick Controls 1 UIDelegates and introduce UIDelegates testBalazs Egedi2021-07-0131-841/+256
| | | | | | | | | | | - Renamed Controls2Delegates to ControlsDelegates - Removed option to use Quick Controls 1 delegates - Added test to check if controls are shown Task-number: QTBUG-93666 Change-Id: Iccca948615309285db7fc57d14fb1cdcdef28051 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Doc: Fix broken linkPaul Wicking2021-06-251-1/+1
| | | | | | | | | | | | According to the Internet Archive Wayback Machine, this link was redirected to https://developers.google.com/web/tools/chrome-devtools/debug/console/ already back in 2016. That URL now redirects again. Update the \externalpage accordingly and fix a 404 broken link. Pick-to: 6.2 Change-Id: I6185c4c777bd891aeca409a155de4c8cab84994c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix C++ documentation references to QtWebEngineQuickAllan Sandfeld Jensen2021-06-232-3/+3
| | | | | | Pick-to: 6.2 Change-Id: Ic43fb3fb8c5e12fd14b19979749a2f1d5015644a Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Use new qml registration system and new qml cmake apiMichal Klocek2021-06-2324-2025/+347
| | | | | | | | | | | | | | | | | To be able to use the new qml cmake api, which can also now generate plugin stubs and do the metatype registration, a project has to use specific project file structure, otherwise the meta type registration generator will fail to include properly headers. Shuffle a bit file locations for test_support and change how qml modules are built. We still need to keep plugin.cpp for ithe quick module plugin, because we use image providers and this requires the qml engine instance to register. Pick-to: 6.2 Change-Id: I083b58dac4edc586efca9fae821e5ea645cc2092 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Add QPageRanges to PDF printingAllan Sandfeld Jensen2021-06-221-2/+5
| | | | | | | Pick-to: 6.2 Task-number: QTBUG-73497 Change-Id: I0a66c4f1767c54b0bcc9f9a3b61e29c43ec20177 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add page() and view() back to download-itemAllan Sandfeld Jensen2021-06-217-13/+160
| | | | | | | | Restores a QML type but this time derived from the core type. Pick-to: 6.2 Change-Id: I09ddb6672f7262ae31e4c57f09d019f71abccd41 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Port qqc2 delegates to Qt6 and cmake buildMichal Klocek2021-06-2011-54/+88
| | | | | | | | | | | | | | | It seems that dialogs in qqc2 are still not native windows, but embedded qquickitems. We used qqc1 dialogs so they look good on desktop and behave like dialogs. With Qt6 qcc1 are gone, therefore switch dialogs to qqc2. Unfortunately they no longer behaves as dialogs (controls are just placed in the middle of a parent window), but still it is better than nothing. Pick-to: 6.2 Task-number: QTBUG-93666 Change-Id: I282ac9c8228eb0bfeefce9b8ef4f657f02a597e7 Reviewed-by: Balazs Egedi <egedib@inf.u-szeged.hu> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Add 'testsupport' to cmake buildsMichal Klocek2021-06-194-2/+31
| | | | | | | | | This enables running more tests. Fix issues with tst_qquickwebengineviewgraphics. Pick-to: 6.2 Change-Id: Ib223b4e723a7192c18202e8d5dd65d83872f3336 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add API for favicon databasePeter Varga2021-06-186-34/+250
| | | | | | | | | | | | [ChangeLog][QtWebEngineCore][QWebEngineProfile] Add new API to access icon database asynchronously. [ChangeLog][QtWebEngineQuick] image:/favicon/ URLs now can be used to access icon database. Pick-to: 6.2 Task-number: QTBUG-51184 Change-Id: I6096ad9a4210670ed59458c4fa099a02595e8a1e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Clean up header includes and friend classes in corePeter Varga2021-06-171-0/+1
| | | | | | Pick-to: 6.2 Change-Id: I394821d57a9cf379869d3611996c8394fbc6c60e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix QWebEngineQuick namespace for webenginequick moduleMichal Klocek2021-06-1519-36/+37
| | | | | | | | | | | This is followup change for QtWebEngineQuick rename. [ChangeLog][QtWebEngineQuick] Use namespace QtWebEngineQuick QtWebEngine::initialize() is now QtWebEnigneQuick::initialize() Pick-to: 6.2 Change-Id: I90acab04ff0240b399a863c88eff915efa360f6f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>