summaryrefslogtreecommitdiffstats
path: root/src/core/api/qwebenginedownloadrequest.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Add missing property docsPaul Wicking2025-11-061-38/+41
| | | | | | Task-number: QTBUG-140629 Change-Id: Iab2d22dba0ff8728786f3554bb537808735782cd Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* CRA mark src/core/apiMoss Heim2025-08-121-0/+1
| | | | | | | | QUIP: 23 Fixes: QTBUG-138720 Pick-to: 6.10 6.9 6.8 Change-Id: I9c064bef911e36c12553fc6cebb7408fb02bcc0b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix QWebEngineDownloadRequest::pause()Szabolcs David2025-02-241-11/+7
| | | | | | | | | | | | | | Calling pause() (or any method which causes state update) in a directly connected signal handler of a download request causes an assertion fail in DownloadItemImpl::UpdateObservers() because it is protected from nested updates. Use QTimer::singleShot() to detach download requests and updates from the direct code path. Add auto test to check if pausing and resuming a download work. Pick-to: 6.8 6.9 Change-Id: Ia8c977a626fd0d39ca51df42984381a75cca2101 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use QStringList::append() where the string can be moved into the listPeter Varga2025-02-211-1/+1
| | | | | | | | | | | As a drive-by, refactor web_engine_library_info.cpp's fromEnv occurrences to use them in the if blocks only and make the code a little bit more readable. Pick-to: 6.8 6.9 Change-Id: Ib3ee6390003bc6e196398979d992e71b7fc50a8a Reviewed-by: Moss Heim <moss.heim@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Make QString and QByteArray strings constants if not modifiedPeter Varga2025-02-211-1/+1
| | | | | | Pick-to: 6.8 6.9 Change-Id: If6c704cf5dada72d2c5c069fcbbcfea16af845ac Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Port to new Q_UNREACHABLE_RETURN()Marc Mutz2025-02-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator to convert sequences of Q_UNREACHABLE() + return into Q_UNREACHABLE_RETURN(), newly added to qtbase. const std::string unr = "unr", val = "val", ret = "ret"; auto makeUnreachableReturn = cat("Q_UNREACHABLE_RETURN(", ifBound(val, cat(node(val)), cat("")), ")"); auto ignoringSwitchCases = [](auto stmt) { return anyOf(stmt, switchCase(subStmt(stmt))); }; makeRule(stmt(ignoringSwitchCases(stmt(isExpandedFromMacro("Q_UNREACHABLE")).bind(unr)), nextStmt(returnStmt(optionally(hasReturnValue(expr().bind(val)))).bind(ret))), {changeTo(node(unr), cat(makeUnreachableReturn, ";")), // TODO: why is the ; lost w/o this? changeTo(node(ret), cat(""))}, cat("use ", makeUnreachableReturn)); a.k.a qt-use-unreachable-return. subStmt() and nextStmt() are non-standard matchers. Also made a manual scan to update the patch to 6.10. Pick-to: 6.9 Change-Id: Ic612e11dce9180f5e3e81b377985332e6f26bacb Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Make download API asynchronousSzabolcs David2024-10-241-18/+33
| | | | | | | | | | | | | | | | | | | | | | | | Modify the already existing downloadRequest() API. Now the requests not necessarily have to be answered in a directly connected signal handler and the API users can postpone their user's decision. The only exceptions are automatically accepted save page requests. There is no better place to call their callback than directly after the signal emission. Adapt auto tests to the new lifecycle of download items. Modify the quicknanobrowser example to use a simple async method to wait for the user's decision. Keep simplebrowser to use its old synchronous method to illustrate that it's still possible. Correct documentation at some places. [ChangeLog] QWebEngineProfile::downloadRequested() is not limited to synchronous usage anymore. QWebEngineDownloadRequest can be accepted or rejected later without blocking the browsing session. Fixes: QTBUG-118584 Change-Id: Ic1be6508126574dc77aa686f85bf35feafdb080d Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix unconditional pointer access in QWebEngineDownloadRequest::pageMichael Brüning2023-12-071-1/+1
| | | | | | | | | | | The adapterClient pointer in QWebEngineDownloadRequestPrivate can be initialized to a nullptr in some scenarios, but was used without checking if the pointer is actually set. Pick-to: 6.6 6.5 Task-number: QTBUG-119763 Change-Id: I7a8653e7f0f5d920dbe69785fb3ce3518c96cc24 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Allow cancelling automatically accepted download requestsSzabolcs David2023-10-171-6/+12
| | | | | | | | | | | | | Calling QWebEngineDownloadRequest::cancel() had no effect if the download request was accepted by default. These downloads had no corresponding internal DownloadItem yet, but we tried to cancel them using the DownloadManager. The safest option is to always check if the DownloadItem exists in Chromium. Pick-to: 6.6 Task-number: QTBUG-117624 Change-Id: I8f92d45e00e088aea7d22d5b7271b5b09adf6cbb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix initialization of QWebEngineDownloadRequest::totalBytes for WidgetsPeter Varga2023-03-011-15/+4
| | | | | | | | | | | | QQuickWebEngineProfile already initializes totalBytes. Also clean up QWebEngineDownloadRequestPrivate and fix typo in documentation. Pick-to: 5.15 6.4 6.5 Fixes: QTBUG-104869 Change-Id: I8c4b79c076ddc63180960e22a9488b45ff6c4402 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-221-38/+2
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I869ffda1080e283f231eb0dc4477b260f2054d99 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Include moc filesAllan Sandfeld Jensen2022-05-311-0/+2
| | | | | | | | Faster to build and gives smaller binaries Fixes: QTBUG-103291 Change-Id: Iab52995e03c13a4c5b185750028c449a19d98d93 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Remove duplicated 'downloadProgress' in favor of separate signalsKirill Burtsev2021-07-211-14/+0
| | | | | | Pick-to: 6.2 Change-Id: Ib825d63c89e591e740b206f43c3eadbf32319daa Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Bump copyrightsAllan Sandfeld Jensen2021-07-141-1/+1
| | | | | | Pick-to: 6.2 Change-Id: I8eb8bfba45abb340816b8c2072cca4486c1f37ab Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Clean up includes, forward declarations and friends in core apiPeter Varga2021-07-081-1/+0
| | | | | | Pick-to: 6.2 Change-Id: I58e2dc2443bca75b0d315694c9f6503251a7be02 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Fix documentation issues for Qt WebEngineTopi Reinio2021-07-011-16/+11
| | | | | | | | | | 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>
* Add page() and view() back to download-itemAllan Sandfeld Jensen2021-06-211-4/+10
| | | | | | | | 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>
* Fix some compiler warningsPeter Varga2021-06-101-13/+13
| | | | | | | | | | | | | - Remove deprecated Qt::AA_EnableHighDpiScaling and Qt::AA_UseHighDpiPixmaps from examples. High-DPI scaling is always enabled. - Reorder initialization of members of QWebEngineDownloadRequestPrivate. Also remove m_ prefix from public members' name. - Remove unused parameters from methods of DummyDelegate. - Add missing overrides in auto tests. Pick-to: 6.2 Change-Id: I18d6973b8bee574b37b73fbaaa8d57002ac8ba2d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix QWebEngineDownloadRequest signalsBalazs Egedi2021-05-071-5/+13
| | | | | | | | | | | | | | | | | downloadFileNameChanged and downloadDirectoryChanged signals were removed in 08375ee7 Rename QWebEngineDownloadItem -> QWebEngineDownloadRequest. Reintroduce these signals because they are still part of the API. Also test these in Widgets auto test. QQuickWebEngineDownloadItem::pathChanged were also removed in 75393077 Remove obsolete, deprecated api from qwebenginedownloaditem. Remove the pathChanged signal checks from the test because it was deprecated. The test tst_download.qml does not have quickcontrols1 dependency. Update it in the project file and re-enable the test. Change-Id: I702e04dfe2179beafc558a628bfa07f4090fede2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Drop dependency on page in profileMichal Klocek2020-11-181-2/+4
| | | | | Change-Id: Idbec1657522272c895dc1822e83e0d9592c33343 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Rename QWebEngineDownloadItem -> QWebEngineDownloadRequestMichal Klocek2020-08-181-0/+680
This fits better with other QWebEngine*Requests. [ChangeLog] QWebEngineDownloadItem is now QWebEngineDownloadRequest, also in qml. Change-Id: I506e9fac746b4f23ac0936c2fbe1c7472f4fda36 Reviewed-by: Michael Brüning <michael.bruning@qt.io>