summaryrefslogtreecommitdiff
path: root/src/webenginequick/api/qquickwebengineview.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Keep page's zoom level on loading new urlsKirill Burtsev2022-05-161-6/+12
| | | | | | | | | | | | | Ammends d236c5a8a3. Zoom level was set as a temporal one, which is invalidated each time when a renderer process or widget are changed (on new navigation, for example), so it needs to be reapplied. Fixes: QTBUG-101030 Change-Id: Iecff9686fbe2b79e99b46f67cab92f66127be085 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 1e27d42a8071532b6cc30a9bcc5f700edc56952a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix crash on WebEngine(View|Profile).userScripts.collection getKirill Burtsev2022-02-101-6/+28
| | | | | | | | | | | | | | | | To create a javascript list on 'collection' method qml engine is needed for a qml scope, but it's only available for objects, which are created by the QML Engine itself. The only object in hierarchy of classes is an actual WebEngineView, so get it from there on collection init. Also implement delayed initialization of scripts collection for the usage of default profile through WebEngine singleton, and for the reason that it's not really needed until really asked by user code. Fixes: QTBUG-96597 Change-Id: I61e76652a5d0fd5609070fd541816503908f2dc8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit f5fbc34fc16fc9c6e7f7e8bbbf60f5b343b9466d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Do not access accessibility from qt post routinesMichal Klocek2021-11-231-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 Change-Id: Ic0e7115cd17eb58f3d58f70fefbc197dfb7a6493 Reviewed-by: Michael Brüning <michael.bruning@qt.io> (cherry picked from commit 89bb3c97eee9cd4bf9fb536f024715e606e49ae0)
* Fix drag and drop againAllan Sandfeld Jensen2021-09-091-4/+4
| | | | | | | | | Return the right QObjects Pick-to: 6.2.0 dev Fixes: QTBUG-96308 Change-Id: If04be10fe19db6b8c0552c7df588961c711c1250 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix handling of new window requestKirill Burtsev2021-09-061-12/+8
| | | | | | | | | | | | | | | | | | | | | 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 Change-Id: Ic9dff33eae99cc242a294d45a92be96306cef93d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit e04d8c65b350146fc4458ded5576c4a07601d041) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Restore enums for QQuickWebEngineView from old-new API classesKirill Burtsev2021-08-311-0/+18
| | | | | | | | | | Restore SC, but at least deprecate these enums in view Change-Id: Ic2a263b0ec175c56b8bf450fae9576bfefca2928 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 97eb62fe8ff83ae77103f5d8ae10debb1a5ff16b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Rename quick's 'newViewRequested' to 'newWindowRequested'Kirill Burtsev2021-08-191-10/+10
| | | | | | | | | Match new api within the page API. Change-Id: Ib2af2f5270f368813cecab8f1c6b7366d3b7172f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 339017523ed418a9dc48d9343e5dc63eb1f29ec1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Hide unneeded Quick C++ APIsKirill Burtsev2021-08-181-1/+1
| | | | | | | | | They are not supposed to be a part of public Quick API Change-Id: Ib04ea022192d0eec559c28a48bc87fabda932564 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit e264ac67505312a352d55a35b11192d60375f63a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* WebEngineNavigationRequest: add accept/reject and deprecate setActionKirill Burtsev2021-07-211-5/+6
| | | | | | | | | | | | | 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 Change-Id: I83252370e2e83017008f6951f98b7ecad119e232 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 13254e7950a032ebbeb11b1cf54b850c8326fb30) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Get rid of Quick's TestSupport APIPeter Varga2021-07-211-53/+4
| | | | | | | | | | | | - 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. Change-Id: Ica6e4c6017426e0171d738a6a59afa557c786698 Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 9c663f51c63f7661edcc604ce89171b3f037543d) Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Clean up quick APIPeter Varga2021-07-201-44/+50
| | | | | | | Change-Id: I9407d407b203b8e2bb13768e5a899624ea47282a Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 6f97b43350f7949029045a37f226dd81e23e25d1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Merge UI2DelegatesManager into UIDelegatesManagerBalazs Egedi2021-07-191-1/+1
| | | | | | | | | | | Drop Quick Controls 1 support. Task-number: QTBUG-93666 Change-Id: I68580ef4649141d3d1507fd207088794e7764d2a Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 96cc8cc8a93ece10031a6638b68ca9c88050ac13) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Get rid of private methods of QWebEngineNewWindowRequestPeter Varga2021-07-121-4/+6
| | | | | | | Change-Id: I40072b45ceffa1a2c92027a4c01239974b8ac498 Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 5be01d2ffd3dbc2b023dd1ffb75d376019ee934e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Remove outdated QT_VERSION_CHECKsAllan Sandfeld Jensen2021-07-091-4/+0
| | | | | | | Change-Id: I4c4b78af0bd7da5912b5e0136f9cfdb3c4268a7e Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io> (cherry picked from commit e62dde53f093dd2c404a65cf99e854081396632b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Restore WebEngineNewViewRequest::openIn methodAllan Sandfeld Jensen2021-07-061-7/+7
| | | | | | | | Change-Id: Ib765970d4c57f742a53cd4d2c870b00628d527aa Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io> (cherry picked from commit ca4ba8beb736efcd95445cc801e2b5a77642a931) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Remove Quick Controls 1 UIDelegates and introduce UIDelegates testBalazs Egedi2021-07-061-22/+1
| | | | | | | | | | | | | - 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> (cherry picked from commit 4fe808a8c0ecd143199781e9644a46e4b1b90653) Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use new qml registration system and new qml cmake apiMichal Klocek2021-06-291-1/+1
| | | | | | | | | | | | | | | | | | 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. Change-Id: I083b58dac4edc586efca9fae821e5ea645cc2092 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 6c6d0051dc3b206ac817c745a76822625830ef22) Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add QPageRanges to PDF printingAllan Sandfeld Jensen2021-06-221-2/+5
| | | | | | | | Task-number: QTBUG-73497 Change-Id: I0a66c4f1767c54b0bcc9f9a3b61e29c43ec20177 Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 0887e880ced988704559505816b520972e6876c6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Clean up header includes and friend classes in corePeter Varga2021-06-171-0/+1
| | | | | | | Change-Id: I394821d57a9cf379869d3611996c8394fbc6c60e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 450a491b2d6c74512a3f30c0fb15eabd51e15cbc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Replace Q_NULLPTR and pointer 0 with nullptrAllan Sandfeld Jensen2021-06-101-3/+3
| | | | | | | Change-Id: Ifd7acf49b22be1532ba98371982af4b14f08e6fc Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> (cherry picked from commit 4a5a1ab7849bba6aed87132296c79ca9dba6d113) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Replace testsupport's QQuickWebEngineErrorPage with isErrorPageAllan Sandfeld Jensen2021-06-061-40/+6
| | | | | | | | | | | | | | | | Merge and unify handling of loading started/finished for quick and widgets by removing separate quick's type for monitoring error page load and replace it with an isErrorPage method in WebEngineLoadRequest to indicate, that load ended with an error page being displayed. Effectively this only slightly changes when loading finished gets emitted: now the signal is just postponed until error page is finished loading after initial failure. [ChangeLog][QWebEngineQuick][WebEngineLoadingInfo] New property 'isErrorPage' which indicates that the load resulted in an error page Change-Id: I3e59dc488429d776f7c8e083b6d0489fb30a65fc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Rename WebEngineLoadRequest to WebEngineLoadingInfoKirill Burtsev2021-06-041-8/+8
| | | | | | | | | | | | 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>
* WebEngineView: rename navigationHistory to historyKirill Burtsev2021-06-041-1/+1
| | | | | | | | | | Match widgets API name for the same QWebEngineHistory class [ChangeLog][QWebEngineQuick][WebEngineView] 'navigationHistory' property is now just 'history' Change-Id: I78507929baa84c8be08f79050568d04868171b3f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge WebEngineHistory's quick implementation into QWebEngineHistoryKirill Burtsev2021-06-041-3/+5
| | | | | | | | | | [ChangeLog][QWebEngineCore][QWebEngineHistory] New methods to access navigation history as a model through new class QWebEngineHistoryModel. [ChangeLog][QWebEngineQuick] QQuickWebEngineHistory is merged into QWebEngineHistory. Task-number: QTBUG-74585 Change-Id: I9f9a73bbaf3954282dfc220cfc2c4cb08a37fb73 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Replace FaviconManager with Chromium's Favicon ComponentPeter Varga2021-06-041-17/+14
| | | | | | Task-number: QTBUG-51184 Change-Id: Ie050cb23f2c86841a66ec384bfbcdf0713cffa7c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move QQuickWebEngineNavigationRequest to CoreAllan Sandfeld Jensen2021-06-041-2/+2
| | | | | | | | | 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>
* Move createWindow to a signalAllan Sandfeld Jensen2021-06-031-32/+42
| | | | | | | | | | | | | | 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 WebEngineWidgets, WebEngineQuick modules cmake buildMichal Klocek2021-05-191-1/+1
| | | | | | | | | Fix some library dependencies and make proper header includes in core. Task-number: QTBUG-91760 Change-Id: I415361dd42ef2cc39716ce3f5f56e6e8556ac4c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-05-121-3/+1
| | | | | | | | | | | | | | | | | | Conflicts: examples/webenginewidgets/printme/printhandler.cpp src/3rdparty src/core/api/qwebenginepage_p.h src/core/content_browser_client_qt.h src/core/web_contents_adapter_client.h src/core/web_contents_delegate_qt.cpp src/core/web_contents_delegate_qt.h src/webenginequick/api/qquickwebengineview_p_p.h tests/auto/quick/qmltests/data/tst_download.qml tests/auto/quick/qmltests/data/tst_viewSoure.qml tests/auto/widgets/loadsignals/tst_loadsignals.cpp tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp Change-Id: I9c1819ec15e13d4f8e244defe860e26274b5d4be
* Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-04-131-0/+5
| | | | Change-Id: Ia01415e5a44b1df9ed8b3966ff3b39a414b1563c
* Fix 'WebEngine' ambiguity for Qt6Michal Klocek2021-04-131-0/+2457
'WebEngine' is a qml module, however name itself is ambiguous. Thefore now with Qt6 and with cmake port name the module as WebEngineQuick. Change-Id: I948672dd5d389a01c6a31ec871459164fd989c0f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>