diff options
Diffstat (limited to 'src')
106 files changed, 298 insertions, 70 deletions
diff --git a/src/core/api/qtwebenginecoreglobal.cpp b/src/core/api/qtwebenginecoreglobal.cpp index 931022931..18da6bd43 100644 --- a/src/core/api/qtwebenginecoreglobal.cpp +++ b/src/core/api/qtwebenginecoreglobal.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qtwebenginecoreglobal_p.h" diff --git a/src/core/api/qtwebenginecoreglobal.h b/src/core/api/qtwebenginecoreglobal.h index 0041a72be..8c271de11 100644 --- a/src/core/api/qtwebenginecoreglobal.h +++ b/src/core/api/qtwebenginecoreglobal.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QTWEBENGINECOREGLOBAL_H #define QTWEBENGINECOREGLOBAL_H diff --git a/src/core/api/qtwebenginecoreglobal_p.h b/src/core/api/qtwebenginecoreglobal_p.h index f434e7114..3571754f5 100644 --- a/src/core/api/qtwebenginecoreglobal_p.h +++ b/src/core/api/qtwebenginecoreglobal_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QTWEBENGINECOREGLOBAL_P_H #define QTWEBENGINECOREGLOBAL_P_H diff --git a/src/core/api/qwebenginecertificateerror.cpp b/src/core/api/qwebenginecertificateerror.cpp index 60ec3c95b..e5ea8190e 100644 --- a/src/core/api/qwebenginecertificateerror.cpp +++ b/src/core/api/qwebenginecertificateerror.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginecertificateerror.h" diff --git a/src/core/api/qwebenginecertificateerror.h b/src/core/api/qwebenginecertificateerror.h index 73a3ac090..0021f7506 100644 --- a/src/core/api/qwebenginecertificateerror.h +++ b/src/core/api/qwebenginecertificateerror.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINECERTIFICATEERROR_H #define QWEBENGINECERTIFICATEERROR_H diff --git a/src/core/api/qwebengineclientcertificateselection.cpp b/src/core/api/qwebengineclientcertificateselection.cpp index d6402353c..da46a67e8 100644 --- a/src/core/api/qwebengineclientcertificateselection.cpp +++ b/src/core/api/qwebengineclientcertificateselection.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2018 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebengineclientcertificateselection.h" #include "client_cert_select_controller.h" diff --git a/src/core/api/qwebengineclientcertificateselection.h b/src/core/api/qwebengineclientcertificateselection.h index 559d1753b..ccea66731 100644 --- a/src/core/api/qwebengineclientcertificateselection.h +++ b/src/core/api/qwebengineclientcertificateselection.h @@ -1,5 +1,6 @@ // Copyright (C) 2018 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINECLIENTCERTSELECTION_H #define QWEBENGINECLIENTCERTSELECTION_H diff --git a/src/core/api/qwebengineclientcertificatestore.cpp b/src/core/api/qwebengineclientcertificatestore.cpp index 3d231c05f..38580768e 100644 --- a/src/core/api/qwebengineclientcertificatestore.cpp +++ b/src/core/api/qwebengineclientcertificatestore.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2018 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebengineclientcertificatestore.h" diff --git a/src/core/api/qwebengineclientcertificatestore.h b/src/core/api/qwebengineclientcertificatestore.h index fcebbe2b1..522d01eeb 100644 --- a/src/core/api/qwebengineclientcertificatestore.h +++ b/src/core/api/qwebengineclientcertificatestore.h @@ -1,5 +1,6 @@ // Copyright (C) 2018 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINECLIENTCERTIFICATESTORE_H #define QWEBENGINECLIENTCERTIFICATESTORE_H diff --git a/src/core/api/qwebengineclienthints.cpp b/src/core/api/qwebengineclienthints.cpp index 2f930c181..9560bf835 100644 --- a/src/core/api/qwebengineclienthints.cpp +++ b/src/core/api/qwebengineclienthints.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebengineclienthints.h" diff --git a/src/core/api/qwebengineclienthints.h b/src/core/api/qwebengineclienthints.h index 8579b20a9..ef9c59ed9 100644 --- a/src/core/api/qwebengineclienthints.h +++ b/src/core/api/qwebengineclienthints.h @@ -1,5 +1,6 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINECLIENTHINTS_H #define QWEBENGINECLIENTHINTS_H diff --git a/src/core/api/qwebenginecontextmenurequest.cpp b/src/core/api/qwebenginecontextmenurequest.cpp index 25de1fe6b..00c3c32f1 100644 --- a/src/core/api/qwebenginecontextmenurequest.cpp +++ b/src/core/api/qwebenginecontextmenurequest.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginecontextmenurequest.h" #include "qwebenginecontextmenurequest_p.h" diff --git a/src/core/api/qwebenginecontextmenurequest.h b/src/core/api/qwebenginecontextmenurequest.h index 6e6f6338c..1d3a2932b 100644 --- a/src/core/api/qwebenginecontextmenurequest.h +++ b/src/core/api/qwebenginecontextmenurequest.h @@ -1,5 +1,6 @@ // Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINECONTEXTMENUREQUEST_H #define QWEBENGINECONTEXTMENUREQUEST_H diff --git a/src/core/api/qwebenginecontextmenurequest_p.h b/src/core/api/qwebenginecontextmenurequest_p.h index 0e774f534..558cc13d5 100644 --- a/src/core/api/qwebenginecontextmenurequest_p.h +++ b/src/core/api/qwebenginecontextmenurequest_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINECONTEXTMENUREQUEST_P_H #define QWEBENGINECONTEXTMENUREQUEST_P_H diff --git a/src/core/api/qwebenginecookiestore.cpp b/src/core/api/qwebenginecookiestore.cpp index 6c4536a4a..49eb47205 100644 --- a/src/core/api/qwebenginecookiestore.cpp +++ b/src/core/api/qwebenginecookiestore.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginecookiestore.h" #include "qwebenginecookiestore_p.h" diff --git a/src/core/api/qwebenginecookiestore.h b/src/core/api/qwebenginecookiestore.h index 347d0c45c..ebc0be8e8 100644 --- a/src/core/api/qwebenginecookiestore.h +++ b/src/core/api/qwebenginecookiestore.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINECOOKIESTORE_H #define QWEBENGINECOOKIESTORE_H diff --git a/src/core/api/qwebenginecookiestore_p.h b/src/core/api/qwebenginecookiestore_p.h index 51200436d..1aba0bc52 100644 --- a/src/core/api/qwebenginecookiestore_p.h +++ b/src/core/api/qwebenginecookiestore_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINECOOKIESTORE_P_H #define QWEBENGINECOOKIESTORE_P_H diff --git a/src/core/api/qwebenginedesktopmediarequest.cpp b/src/core/api/qwebenginedesktopmediarequest.cpp index 1fdbfa655..d965522bc 100644 --- a/src/core/api/qwebenginedesktopmediarequest.cpp +++ b/src/core/api/qwebenginedesktopmediarequest.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "desktop_media_controller.h" #include "qwebenginedesktopmediarequest.h" diff --git a/src/core/api/qwebenginedesktopmediarequest.h b/src/core/api/qwebenginedesktopmediarequest.h index ebf66bce4..c8cc6d817 100644 --- a/src/core/api/qwebenginedesktopmediarequest.h +++ b/src/core/api/qwebenginedesktopmediarequest.h @@ -1,5 +1,6 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEDESKTOPMEDIAREQUEST_H #define QWEBENGINEDESKTOPMEDIAREQUEST_H diff --git a/src/core/api/qwebenginedesktopmediarequest_p.h b/src/core/api/qwebenginedesktopmediarequest_p.h index 3add71bc0..a1e6b8dae 100644 --- a/src/core/api/qwebenginedesktopmediarequest_p.h +++ b/src/core/api/qwebenginedesktopmediarequest_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default // // W A R N I N G diff --git a/src/core/api/qwebenginedownloadrequest.cpp b/src/core/api/qwebenginedownloadrequest.cpp index 536d193b7..2c90d4c94 100644 --- a/src/core/api/qwebenginedownloadrequest.cpp +++ b/src/core/api/qwebenginedownloadrequest.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginedownloadrequest.h" #include "qwebenginedownloadrequest_p.h" diff --git a/src/core/api/qwebenginedownloadrequest.h b/src/core/api/qwebenginedownloadrequest.h index 36604188e..c64b5cfa4 100644 --- a/src/core/api/qwebenginedownloadrequest.h +++ b/src/core/api/qwebenginedownloadrequest.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEDOWNLOADREQUEST_H #define QWEBENGINEDOWNLOADREQUEST_H diff --git a/src/core/api/qwebenginedownloadrequest_p.h b/src/core/api/qwebenginedownloadrequest_p.h index e829f94b1..4e74894a7 100644 --- a/src/core/api/qwebenginedownloadrequest_p.h +++ b/src/core/api/qwebenginedownloadrequest_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEDOWNLOADREQUEST_P_H #define QWEBENGINEDOWNLOADREQUEST_P_H diff --git a/src/core/api/qwebengineextensioninfo.cpp b/src/core/api/qwebengineextensioninfo.cpp index 0a1525a07..2c4731e3a 100644 --- a/src/core/api/qwebengineextensioninfo.cpp +++ b/src/core/api/qwebengineextensioninfo.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2025 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebengineextensioninfo.h" #include "qwebengineextensioninfo_p.h" diff --git a/src/core/api/qwebengineextensioninfo.h b/src/core/api/qwebengineextensioninfo.h index 5ab02d60e..1c242dcb2 100644 --- a/src/core/api/qwebengineextensioninfo.h +++ b/src/core/api/qwebengineextensioninfo.h @@ -1,5 +1,6 @@ // Copyright (C) 2025 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEEXTENSIONINFO_H_ #define QWEBENGINEEXTENSIONINFO_H_ diff --git a/src/core/api/qwebengineextensioninfo_p.h b/src/core/api/qwebengineextensioninfo_p.h index 79f505cf8..385395054 100644 --- a/src/core/api/qwebengineextensioninfo_p.h +++ b/src/core/api/qwebengineextensioninfo_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2025 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEEXTENSION_P_H_ #define QWEBENGINEEXTENSION_P_H_ diff --git a/src/core/api/qwebengineextensionmanager.cpp b/src/core/api/qwebengineextensionmanager.cpp index ed83df5e8..71d3326c3 100644 --- a/src/core/api/qwebengineextensionmanager.cpp +++ b/src/core/api/qwebengineextensionmanager.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2025 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebengineextensionmanager.h" diff --git a/src/core/api/qwebengineextensionmanager.h b/src/core/api/qwebengineextensionmanager.h index a908be97b..15919605d 100644 --- a/src/core/api/qwebengineextensionmanager.h +++ b/src/core/api/qwebengineextensionmanager.h @@ -1,5 +1,6 @@ // Copyright (C) 2025 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEEXTENSIONMANAGER_H_ #define QWEBENGINEEXTENSIONMANAGER_H_ diff --git a/src/core/api/qwebenginefilesystemaccessrequest.cpp b/src/core/api/qwebenginefilesystemaccessrequest.cpp index 0834468f6..6ef500bfe 100644 --- a/src/core/api/qwebenginefilesystemaccessrequest.cpp +++ b/src/core/api/qwebenginefilesystemaccessrequest.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2022 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginefilesystemaccessrequest.h" diff --git a/src/core/api/qwebenginefilesystemaccessrequest.h b/src/core/api/qwebenginefilesystemaccessrequest.h index 7707c607c..b379edf40 100644 --- a/src/core/api/qwebenginefilesystemaccessrequest.h +++ b/src/core/api/qwebenginefilesystemaccessrequest.h @@ -1,5 +1,6 @@ // Copyright (C) 2022 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEFILESYSTEMACCESSREQUEST_H #define QWEBENGINEFILESYSTEMACCESSREQUEST_H diff --git a/src/core/api/qwebenginefindtextresult.cpp b/src/core/api/qwebenginefindtextresult.cpp index ce953ddff..34096f3eb 100644 --- a/src/core/api/qwebenginefindtextresult.cpp +++ b/src/core/api/qwebenginefindtextresult.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginefindtextresult.h" diff --git a/src/core/api/qwebenginefindtextresult.h b/src/core/api/qwebenginefindtextresult.h index d506a50f5..789f11894 100644 --- a/src/core/api/qwebenginefindtextresult.h +++ b/src/core/api/qwebenginefindtextresult.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEFINDTEXTRESULT_H #define QWEBENGINEFINDTEXTRESULT_H diff --git a/src/core/api/qwebengineframe.cpp b/src/core/api/qwebengineframe.cpp index 6eb628ffa..fb69ac6b0 100644 --- a/src/core/api/qwebengineframe.cpp +++ b/src/core/api/qwebengineframe.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebengineframe.h" diff --git a/src/core/api/qwebengineframe.h b/src/core/api/qwebengineframe.h index 02f442f4f..62de87fea 100644 --- a/src/core/api/qwebengineframe.h +++ b/src/core/api/qwebengineframe.h @@ -1,5 +1,6 @@ // Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEFRAME_H #define QWEBENGINEFRAME_H diff --git a/src/core/api/qwebenginefullscreenrequest.cpp b/src/core/api/qwebenginefullscreenrequest.cpp index ddfaae099..406e27684 100644 --- a/src/core/api/qwebenginefullscreenrequest.cpp +++ b/src/core/api/qwebenginefullscreenrequest.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginefullscreenrequest.h" diff --git a/src/core/api/qwebenginefullscreenrequest.h b/src/core/api/qwebenginefullscreenrequest.h index 07a2b8059..5632e2a7e 100644 --- a/src/core/api/qwebenginefullscreenrequest.h +++ b/src/core/api/qwebenginefullscreenrequest.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEFULLSCREENREQUEST_H #define QWEBENGINEFULLSCREENREQUEST_H diff --git a/src/core/api/qwebengineglobalsettings.cpp b/src/core/api/qwebengineglobalsettings.cpp index 6aadd5517..1fef72f15 100644 --- a/src/core/api/qwebengineglobalsettings.cpp +++ b/src/core/api/qwebengineglobalsettings.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #include "qwebengineglobalsettings.h" #include "qwebengineglobalsettings_p.h" diff --git a/src/core/api/qwebengineglobalsettings.h b/src/core/api/qwebengineglobalsettings.h index a9eff6d12..f13849a34 100644 --- a/src/core/api/qwebengineglobalsettings.h +++ b/src/core/api/qwebengineglobalsettings.h @@ -1,5 +1,6 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #ifndef QWEBENGINEGLOBALSETTINGS_H #define QWEBENGINEGLOBALSETTINGS_H diff --git a/src/core/api/qwebengineglobalsettings_p.h b/src/core/api/qwebengineglobalsettings_p.h index 8e35ad68c..28adba677 100644 --- a/src/core/api/qwebengineglobalsettings_p.h +++ b/src/core/api/qwebengineglobalsettings_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #ifndef QWEBENGINEGLOBALSETTINGS_P_H #define QWEBENGINEGLOBALSETTINGS_P_H diff --git a/src/core/api/qwebenginehistory.cpp b/src/core/api/qwebenginehistory.cpp index 5d2fc8e9e..a6b44ce61 100644 --- a/src/core/api/qwebenginehistory.cpp +++ b/src/core/api/qwebenginehistory.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginehistory.h" #include "qwebenginehistory_p.h" diff --git a/src/core/api/qwebenginehistory.h b/src/core/api/qwebenginehistory.h index fd54e62a5..796fb0b6b 100644 --- a/src/core/api/qwebenginehistory.h +++ b/src/core/api/qwebenginehistory.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEHISTORY_H #define QWEBENGINEHISTORY_H diff --git a/src/core/api/qwebenginehistory_p.h b/src/core/api/qwebenginehistory_p.h index fe28f4a0e..e4099081b 100644 --- a/src/core/api/qwebenginehistory_p.h +++ b/src/core/api/qwebenginehistory_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEHISTORY_P_H #define QWEBENGINEHISTORY_P_H diff --git a/src/core/api/qwebenginehttprequest.cpp b/src/core/api/qwebenginehttprequest.cpp index 0039533d6..8f6cd07d9 100644 --- a/src/core/api/qwebenginehttprequest.cpp +++ b/src/core/api/qwebenginehttprequest.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #include "qplatformdefs.h" #include <QtCore/qshareddata.h> diff --git a/src/core/api/qwebenginehttprequest.h b/src/core/api/qwebenginehttprequest.h index 6c0298f86..3147b8d05 100644 --- a/src/core/api/qwebenginehttprequest.h +++ b/src/core/api/qwebenginehttprequest.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #ifndef QWEBENGINEHTTPREQUEST_H #define QWEBENGINEHTTPREQUEST_H diff --git a/src/core/api/qwebengineloadinginfo.cpp b/src/core/api/qwebengineloadinginfo.cpp index e60c70edb..60e502616 100644 --- a/src/core/api/qwebengineloadinginfo.cpp +++ b/src/core/api/qwebengineloadinginfo.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include <qwebengineloadinginfo.h> diff --git a/src/core/api/qwebengineloadinginfo.h b/src/core/api/qwebengineloadinginfo.h index 098f8936a..8b14983ff 100644 --- a/src/core/api/qwebengineloadinginfo.h +++ b/src/core/api/qwebengineloadinginfo.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINELOADINGINFO_H #define QWEBENGINELOADINGINFO_H diff --git a/src/core/api/qwebenginemessagepumpscheduler.cpp b/src/core/api/qwebenginemessagepumpscheduler.cpp index 860696c37..1b37b3ac7 100644 --- a/src/core/api/qwebenginemessagepumpscheduler.cpp +++ b/src/core/api/qwebenginemessagepumpscheduler.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2019 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginemessagepumpscheduler_p.h" diff --git a/src/core/api/qwebenginemessagepumpscheduler_p.h b/src/core/api/qwebenginemessagepumpscheduler_p.h index b2c51415a..84f21e3aa 100644 --- a/src/core/api/qwebenginemessagepumpscheduler_p.h +++ b/src/core/api/qwebenginemessagepumpscheduler_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2019 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEMESSAGEPUMPSCHEDULER_P_H #define QWEBENGINEMESSAGEPUMPSCHEDULER_P_H diff --git a/src/core/api/qwebenginenavigationrequest.cpp b/src/core/api/qwebenginenavigationrequest.cpp index a83a9289d..4fa00f956 100644 --- a/src/core/api/qwebenginenavigationrequest.cpp +++ b/src/core/api/qwebenginenavigationrequest.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginenavigationrequest.h" diff --git a/src/core/api/qwebenginenavigationrequest.h b/src/core/api/qwebenginenavigationrequest.h index a810a59fe..b4d75e71e 100644 --- a/src/core/api/qwebenginenavigationrequest.h +++ b/src/core/api/qwebenginenavigationrequest.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINENAVIGATIONREQUEST_H #define QWEBENGINENAVIGATIONREQUEST_H diff --git a/src/core/api/qwebenginenewwindowrequest.cpp b/src/core/api/qwebenginenewwindowrequest.cpp index 500f3ac2b..7f8e62f69 100644 --- a/src/core/api/qwebenginenewwindowrequest.cpp +++ b/src/core/api/qwebenginenewwindowrequest.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginenewwindowrequest.h" #include "qwebenginenewwindowrequest_p.h" diff --git a/src/core/api/qwebenginenewwindowrequest.h b/src/core/api/qwebenginenewwindowrequest.h index 86d182581..c5b821df0 100644 --- a/src/core/api/qwebenginenewwindowrequest.h +++ b/src/core/api/qwebenginenewwindowrequest.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINENEWWINDOWREQUEST_H #define QWEBENGINENEWWINDOWREQUEST_H diff --git a/src/core/api/qwebenginenewwindowrequest_p.h b/src/core/api/qwebenginenewwindowrequest_p.h index 979d3fe2d..8e3a45860 100644 --- a/src/core/api/qwebenginenewwindowrequest_p.h +++ b/src/core/api/qwebenginenewwindowrequest_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINENEWWINDOWREQUEST_P_H #define QWEBENGINENEWWINDOWREQUEST_P_H diff --git a/src/core/api/qwebenginenotification.cpp b/src/core/api/qwebenginenotification.cpp index 0c72848c6..7f705dfba 100644 --- a/src/core/api/qwebenginenotification.cpp +++ b/src/core/api/qwebenginenotification.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2017 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginenotification.h" diff --git a/src/core/api/qwebenginenotification.h b/src/core/api/qwebenginenotification.h index 646413d39..99442f0cd 100644 --- a/src/core/api/qwebenginenotification.h +++ b/src/core/api/qwebenginenotification.h @@ -1,5 +1,6 @@ // Copyright (C) 2017 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINENOTIFICATION_H #define QWEBENGINENOTIFICATION_H diff --git a/src/core/api/qwebenginepage.cpp b/src/core/api/qwebenginepage.cpp index cfc549ecc..bfa184e5c 100644 --- a/src/core/api/qwebenginepage.cpp +++ b/src/core/api/qwebenginepage.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginepage.h" #include "authenticator_request_dialog_controller.h" diff --git a/src/core/api/qwebenginepage.h b/src/core/api/qwebenginepage.h index ada0af9da..9bee1f98e 100644 --- a/src/core/api/qwebenginepage.h +++ b/src/core/api/qwebenginepage.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEPAGE_H #define QWEBENGINEPAGE_H diff --git a/src/core/api/qwebenginepage_p.h b/src/core/api/qwebenginepage_p.h index 5e81a0cf9..76b4a4d9d 100644 --- a/src/core/api/qwebenginepage_p.h +++ b/src/core/api/qwebenginepage_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEPAGE_P_H #define QWEBENGINEPAGE_P_H diff --git a/src/core/api/qwebenginepermission.cpp b/src/core/api/qwebenginepermission.cpp index 5fa1ed484..ec62f0e4c 100644 --- a/src/core/api/qwebenginepermission.cpp +++ b/src/core/api/qwebenginepermission.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginepermission.h" #include "qwebenginepermission_p.h" diff --git a/src/core/api/qwebenginepermission.h b/src/core/api/qwebenginepermission.h index 476c8bdd4..9a62320bf 100644 --- a/src/core/api/qwebenginepermission.h +++ b/src/core/api/qwebenginepermission.h @@ -1,5 +1,6 @@ // Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEPERMISSION_H #define QWEBENGINEPERMISSION_H diff --git a/src/core/api/qwebenginepermission_p.h b/src/core/api/qwebenginepermission_p.h index fe4dc62f8..c6b525b31 100644 --- a/src/core/api/qwebenginepermission_p.h +++ b/src/core/api/qwebenginepermission_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEPERMISSION_P_H #define QWEBENGINEPERMISSION_P_H diff --git a/src/core/api/qwebengineprofile.cpp b/src/core/api/qwebengineprofile.cpp index 5b523dd87..b6c308cf6 100644 --- a/src/core/api/qwebengineprofile.cpp +++ b/src/core/api/qwebengineprofile.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #include "qwebengineprofile.h" #include "qwebengineprofile_p.h" @@ -103,6 +104,9 @@ using QtWebEngineCore::ProfileAdapter; \value AllowPersistentCookies Cookies marked persistent are saved to and restored from disk, whereas session cookies are only stored to disk for crash recovery. This is the default setting. + \value OnlyPersistentCookies + Cookies marked persistent are saved to and restored from disk, whereas session cookies + are not stored to disk, even for crash recovery. \value ForcePersistentCookies Both session and persistent cookies are saved to and restored from disk. */ diff --git a/src/core/api/qwebengineprofile.h b/src/core/api/qwebengineprofile.h index fe00e6f5d..f30c9fc82 100644 --- a/src/core/api/qwebengineprofile.h +++ b/src/core/api/qwebengineprofile.h @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #ifndef QWEBENGINEPROFILE_H #define QWEBENGINEPROFILE_H @@ -48,7 +49,8 @@ public: enum PersistentCookiesPolicy { NoPersistentCookies, AllowPersistentCookies, - ForcePersistentCookies + ForcePersistentCookies, + OnlyPersistentCookies, }; Q_ENUM(PersistentCookiesPolicy) diff --git a/src/core/api/qwebengineprofile_p.h b/src/core/api/qwebengineprofile_p.h index d4b3513cd..c814c79aa 100644 --- a/src/core/api/qwebengineprofile_p.h +++ b/src/core/api/qwebengineprofile_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #ifndef QWEBENGINEPROFILE_P_H #define QWEBENGINEPROFILE_P_H diff --git a/src/core/api/qwebengineprofilebuilder.cpp b/src/core/api/qwebengineprofilebuilder.cpp index 9adc12dac..f8a6cae7c 100644 --- a/src/core/api/qwebengineprofilebuilder.cpp +++ b/src/core/api/qwebengineprofilebuilder.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #include "qwebengineprofilebuilder.h" #include "qwebengineprofile_p.h" diff --git a/src/core/api/qwebengineprofilebuilder.h b/src/core/api/qwebengineprofilebuilder.h index 1a03d3aa1..bbbb46b65 100644 --- a/src/core/api/qwebengineprofilebuilder.h +++ b/src/core/api/qwebengineprofilebuilder.h @@ -1,5 +1,6 @@ // Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #ifndef QWEBENGINEPROFILEBUILDER_H #define QWEBENGINEPROFILEBUILDER_H diff --git a/src/core/api/qwebengineprofilebuilder_p.h b/src/core/api/qwebengineprofilebuilder_p.h index a0750d47a..a9b6793b2 100644 --- a/src/core/api/qwebengineprofilebuilder_p.h +++ b/src/core/api/qwebengineprofilebuilder_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #ifndef QWEBENGINEPROFILEBUILDER_P_H #define QWEBENGINEPROFILEBUILDER_P_H diff --git a/src/core/api/qwebenginequotarequest.cpp b/src/core/api/qwebenginequotarequest.cpp index 3c312216d..ea3a0c6f4 100644 --- a/src/core/api/qwebenginequotarequest.cpp +++ b/src/core/api/qwebenginequotarequest.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2017 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginequotarequest.h" diff --git a/src/core/api/qwebenginequotarequest.h b/src/core/api/qwebenginequotarequest.h index f542f5576..15f1dc06a 100644 --- a/src/core/api/qwebenginequotarequest.h +++ b/src/core/api/qwebenginequotarequest.h @@ -1,5 +1,6 @@ // Copyright (C) 2017 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEQUOTAREQUEST_H #define QWEBENGINEQUOTAREQUEST_H diff --git a/src/core/api/qwebengineregisterprotocolhandlerrequest.cpp b/src/core/api/qwebengineregisterprotocolhandlerrequest.cpp index 3e52302e4..733f90349 100644 --- a/src/core/api/qwebengineregisterprotocolhandlerrequest.cpp +++ b/src/core/api/qwebengineregisterprotocolhandlerrequest.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2018 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebengineregisterprotocolhandlerrequest.h" diff --git a/src/core/api/qwebengineregisterprotocolhandlerrequest.h b/src/core/api/qwebengineregisterprotocolhandlerrequest.h index d6e51695e..71137a6fd 100644 --- a/src/core/api/qwebengineregisterprotocolhandlerrequest.h +++ b/src/core/api/qwebengineregisterprotocolhandlerrequest.h @@ -1,5 +1,6 @@ // Copyright (C) 2018 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEREGISTERPROTOCOLHANDLERREQUEST_H #define QWEBENGINEREGISTERPROTOCOLHANDLERREQUEST_H diff --git a/src/core/api/qwebenginescript.cpp b/src/core/api/qwebenginescript.cpp index 83a790b65..919556fd9 100644 --- a/src/core/api/qwebenginescript.cpp +++ b/src/core/api/qwebenginescript.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginescript.h" diff --git a/src/core/api/qwebenginescript.h b/src/core/api/qwebenginescript.h index 9827c4879..daaffdb11 100644 --- a/src/core/api/qwebenginescript.h +++ b/src/core/api/qwebenginescript.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINESCRIPT_H #define QWEBENGINESCRIPT_H diff --git a/src/core/api/qwebenginescriptcollection.cpp b/src/core/api/qwebenginescriptcollection.cpp index 7867192b6..17760a84e 100644 --- a/src/core/api/qwebenginescriptcollection.cpp +++ b/src/core/api/qwebenginescriptcollection.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginescriptcollection.h" #include "qwebenginescriptcollection_p.h" diff --git a/src/core/api/qwebenginescriptcollection.h b/src/core/api/qwebenginescriptcollection.h index a3b3c1c08..a2733f99a 100644 --- a/src/core/api/qwebenginescriptcollection.h +++ b/src/core/api/qwebenginescriptcollection.h @@ -1,5 +1,6 @@ // Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINESCRIPTCOLLECTION_H #define QWEBENGINESCRIPTCOLLECTION_H diff --git a/src/core/api/qwebenginescriptcollection_p.h b/src/core/api/qwebenginescriptcollection_p.h index 67b3aa4a7..87d25b7a8 100644 --- a/src/core/api/qwebenginescriptcollection_p.h +++ b/src/core/api/qwebenginescriptcollection_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINESCRIPTCOLLECTION_P_H #define QWEBENGINESCRIPTCOLLECTION_P_H diff --git a/src/core/api/qwebenginesettings.cpp b/src/core/api/qwebenginesettings.cpp index a7ae80cd1..98d379069 100644 --- a/src/core/api/qwebenginesettings.cpp +++ b/src/core/api/qwebenginesettings.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginesettings.h" #include "web_engine_settings.h" diff --git a/src/core/api/qwebenginesettings.h b/src/core/api/qwebenginesettings.h index 415d4176a..de85fbfbc 100644 --- a/src/core/api/qwebenginesettings.h +++ b/src/core/api/qwebenginesettings.h @@ -1,5 +1,6 @@ // Copyright (C) 2022 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINESETTINGS_H #define QWEBENGINESETTINGS_H diff --git a/src/core/api/qwebengineurlrequestinfo.cpp b/src/core/api/qwebengineurlrequestinfo.cpp index 85362c500..6b6732583 100644 --- a/src/core/api/qwebengineurlrequestinfo.cpp +++ b/src/core/api/qwebengineurlrequestinfo.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2019 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #include "qwebengineurlrequestinfo.h" #include "qwebengineurlrequestinfo_p.h" diff --git a/src/core/api/qwebengineurlrequestinfo.h b/src/core/api/qwebengineurlrequestinfo.h index 7f73cc0a1..6e4d279b5 100644 --- a/src/core/api/qwebengineurlrequestinfo.h +++ b/src/core/api/qwebengineurlrequestinfo.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #ifndef QWEBENGINEURLREQUESTINFO_H #define QWEBENGINEURLREQUESTINFO_H diff --git a/src/core/api/qwebengineurlrequestinfo_p.h b/src/core/api/qwebengineurlrequestinfo_p.h index b6d56e99c..ef98c91d9 100644 --- a/src/core/api/qwebengineurlrequestinfo_p.h +++ b/src/core/api/qwebengineurlrequestinfo_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #ifndef QWEBENGINEURLREQUESTINFO_P_H #define QWEBENGINEURLREQUESTINFO_P_H diff --git a/src/core/api/qwebengineurlrequestinterceptor.cpp b/src/core/api/qwebengineurlrequestinterceptor.cpp index c3cd49a5b..3a34b3e88 100644 --- a/src/core/api/qwebengineurlrequestinterceptor.cpp +++ b/src/core/api/qwebengineurlrequestinterceptor.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebengineurlrequestinterceptor.h" diff --git a/src/core/api/qwebengineurlrequestinterceptor.h b/src/core/api/qwebengineurlrequestinterceptor.h index 2ca8ee914..49bac4244 100644 --- a/src/core/api/qwebengineurlrequestinterceptor.h +++ b/src/core/api/qwebengineurlrequestinterceptor.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENINGEURLREQUESTINTERCEPTOR_H #define QWEBENINGEURLREQUESTINTERCEPTOR_H diff --git a/src/core/api/qwebengineurlrequestjob.cpp b/src/core/api/qwebengineurlrequestjob.cpp index 6ef94e41d..7e0ec9c97 100644 --- a/src/core/api/qwebengineurlrequestjob.cpp +++ b/src/core/api/qwebengineurlrequestjob.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebengineurlrequestjob.h" diff --git a/src/core/api/qwebengineurlrequestjob.h b/src/core/api/qwebengineurlrequestjob.h index 8448efdef..b836c877b 100644 --- a/src/core/api/qwebengineurlrequestjob.h +++ b/src/core/api/qwebengineurlrequestjob.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEURLREQUESTJOB_H #define QWEBENGINEURLREQUESTJOB_H diff --git a/src/core/api/qwebengineurlscheme.cpp b/src/core/api/qwebengineurlscheme.cpp index d2ca56f62..36fd3a286 100644 --- a/src/core/api/qwebengineurlscheme.cpp +++ b/src/core/api/qwebengineurlscheme.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2018 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #include "qwebengineurlscheme.h" diff --git a/src/core/api/qwebengineurlscheme.h b/src/core/api/qwebengineurlscheme.h index 35498a68e..9e33eeceb 100644 --- a/src/core/api/qwebengineurlscheme.h +++ b/src/core/api/qwebengineurlscheme.h @@ -1,5 +1,6 @@ // Copyright (C) 2018 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:network-protocol #ifndef QWEBENGINEURLSCHEME_H #define QWEBENGINEURLSCHEME_H diff --git a/src/core/api/qwebengineurlschemehandler.cpp b/src/core/api/qwebengineurlschemehandler.cpp index 7aeaec850..27b5c46cc 100644 --- a/src/core/api/qwebengineurlschemehandler.cpp +++ b/src/core/api/qwebengineurlschemehandler.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebengineurlschemehandler.h" diff --git a/src/core/api/qwebengineurlschemehandler.h b/src/core/api/qwebengineurlschemehandler.h index 848904719..4ce2acd7c 100644 --- a/src/core/api/qwebengineurlschemehandler.h +++ b/src/core/api/qwebengineurlschemehandler.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEURLSCHEMEHANDLER_H #define QWEBENGINEURLSCHEMEHANDLER_H diff --git a/src/core/api/qwebenginewebauthuxrequest.cpp b/src/core/api/qwebenginewebauthuxrequest.cpp index b22e37942..a7aae9188 100644 --- a/src/core/api/qwebenginewebauthuxrequest.cpp +++ b/src/core/api/qwebenginewebauthuxrequest.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qwebenginewebauthuxrequest.h" #include "qwebenginewebauthuxrequest_p.h" diff --git a/src/core/api/qwebenginewebauthuxrequest.h b/src/core/api/qwebenginewebauthuxrequest.h index 111f52847..ff7d8bf7b 100644 --- a/src/core/api/qwebenginewebauthuxrequest.h +++ b/src/core/api/qwebenginewebauthuxrequest.h @@ -1,5 +1,6 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEWEBAUTHUXREQUEST_H #define QWEBENGINEWEBAUTHUXREQUEST_H diff --git a/src/core/api/qwebenginewebauthuxrequest_p.h b/src/core/api/qwebenginewebauthuxrequest_p.h index 4c685bac7..829ba5465 100644 --- a/src/core/api/qwebenginewebauthuxrequest_p.h +++ b/src/core/api/qwebenginewebauthuxrequest_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QWEBENGINEWEBAUTHUXREQUEST_P_H #define QWEBENGINEWEBAUTHUXREQUEST_P_H diff --git a/src/core/compositor/compositor.h b/src/core/compositor/compositor.h index aebd8f4c5..b160ca03c 100644 --- a/src/core/compositor/compositor.h +++ b/src/core/compositor/compositor.h @@ -131,6 +131,9 @@ public: // Is the texture produced upside down? virtual bool textureIsFlipped(); + // Are there resources to be released? + virtual bool hasResources() { return false; } + // Release resources created in texture() virtual void releaseResources(); diff --git a/src/core/compositor/native_skia_output_device.cpp b/src/core/compositor/native_skia_output_device.cpp index b91512a40..8b79d574c 100644 --- a/src/core/compositor/native_skia_output_device.cpp +++ b/src/core/compositor/native_skia_output_device.cpp @@ -180,6 +180,11 @@ void NativeSkiaOutputDevice::releaseTexture() } } +bool NativeSkiaOutputDevice::hasResources() +{ + return m_frontBuffer && m_frontBuffer->textureCleanupCallback; +} + void NativeSkiaOutputDevice::releaseResources() { if (m_frontBuffer) @@ -225,7 +230,10 @@ NativeSkiaOutputDevice::Buffer::Buffer(NativeSkiaOutputDevice *parent) NativeSkiaOutputDevice::Buffer::~Buffer() { - DCHECK(!textureCleanupCallback); + // FIXME: Can't be called in case of threaded rendering with unexposed window. + //DCHECK(!textureCleanupCallback); + if (textureCleanupCallback) + qWarning("NativeSkiaOutputDevice: Leaking graphics resources."); if (m_scopedSkiaWriteAccess) endWriteSkia(false); diff --git a/src/core/compositor/native_skia_output_device.h b/src/core/compositor/native_skia_output_device.h index 9a573055d..a405f6684 100644 --- a/src/core/compositor/native_skia_output_device.h +++ b/src/core/compositor/native_skia_output_device.h @@ -74,6 +74,7 @@ public: void swapFrame() override; void waitForTexture() override; void releaseTexture() override; + bool hasResources() override; void releaseResources() override; bool textureIsFlipped() override; QSize size() override; diff --git a/src/core/compositor/native_skia_output_device_opengl.cpp b/src/core/compositor/native_skia_output_device_opengl.cpp index c43311d80..49bacd5fc 100644 --- a/src/core/compositor/native_skia_output_device_opengl.cpp +++ b/src/core/compositor/native_skia_output_device_opengl.cpp @@ -51,6 +51,56 @@ namespace QtWebEngineCore { +class ScopedGLContextForCleanup +{ +public: + ScopedGLContextForCleanup(QOpenGLContext *createContext, QSurface *createSurface) + : m_createContext(createContext), m_currentContext(QOpenGLContext::currentContext()) + { + if (m_createContext == m_currentContext) + return; + + if (!m_createContext->isValid()) { + skipCleanup = true; + return; + } + + if (m_currentContext) + m_currentSurface = m_currentContext->surface(); + + if (!createContext->makeCurrent(createSurface)) { + skipCleanup = true; + qWarning("Failed to make OpenGL context current for clean-up, OpenGL resources will " + "not be destroyed."); + } + } + + ~ScopedGLContextForCleanup() + { + if (!m_currentContext || m_createContext == m_currentContext || skipCleanup) + return; + + if (!m_currentContext->makeCurrent(m_currentSurface)) + qFatal("Failed to restore OpenGL context after clean-up."); + } + + void deleteTexture(GLuint glTexture) + { + if (skipCleanup) + return; + + auto *glFun = m_createContext->functions(); + Q_ASSERT(glFun->glGetError() == GL_NO_ERROR); + glFun->glDeleteTextures(1, &glTexture); + } + +private: + QOpenGLContext *m_createContext; + QOpenGLContext *m_currentContext; + QSurface *m_currentSurface = nullptr; + bool skipCleanup = false; +}; + NativeSkiaOutputDeviceOpenGL::NativeSkiaOutputDeviceOpenGL( scoped_refptr<gpu::SharedContextState> contextState, bool requiresAlpha, gpu::MemoryTracker *memoryTracker, viz::SkiaOutputSurfaceDependency *dependency, @@ -221,10 +271,12 @@ QSGTexture *NativeSkiaOutputDeviceOpenGL::texture(QQuickWindow *win, uint32_t te glxFun->glXBindTexImageEXT(display, glxPixmap, GLX_FRONT_LEFT_EXT, nullptr); glFun->glBindTexture(GL_TEXTURE_2D, 0); - m_frontBuffer->textureCleanupCallback = [glFun, glxFun, display, glxPixmap, glTexture, - glxHelper, pixmapId]() { + QSurface *createSurface = glContext->surface(); + m_frontBuffer->textureCleanupCallback = [glContext, createSurface, glxFun, display, + glxPixmap, glTexture, glxHelper, pixmapId]() { + ScopedGLContextForCleanup cleanupContext(glContext, createSurface); glxFun->glXReleaseTexImageEXT(display, glxPixmap, GLX_FRONT_LEFT_EXT); - glFun->glDeleteTextures(1, &glTexture); + cleanupContext.deleteTexture(glTexture); glXDestroyGLXPixmap(display, glxPixmap); glxHelper->freePixmap(pixmapId); }; @@ -273,9 +325,11 @@ QSGTexture *NativeSkiaOutputDeviceOpenGL::texture(QQuickWindow *win, uint32_t te glExtFun->glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, eglImage); glFun->glBindTexture(GL_TEXTURE_2D, 0); - m_frontBuffer->textureCleanupCallback = [glFun, eglFun, glTexture, eglDisplay, - eglImage]() { - glFun->glDeleteTextures(1, &glTexture); + QSurface *createSurface = glContext->surface(); + m_frontBuffer->textureCleanupCallback = [glContext, createSurface, eglFun, glTexture, + eglDisplay, eglImage]() { + ScopedGLContextForCleanup cleanupContext(glContext, createSurface); + cleanupContext.deleteTexture(glTexture); eglFun->eglDestroyImage(eglDisplay, eglImage); }; } @@ -328,11 +382,12 @@ QSGTexture *NativeSkiaOutputDeviceOpenGL::texture(QQuickWindow *win, uint32_t te glMemoryObject, 0); glFun->glBindTexture(GL_TEXTURE_2D, 0); - m_frontBuffer->textureCleanupCallback = [glFun, glExtFun, glTexture, glMemoryObject]() { - Q_ASSERT(glFun->glGetError() == GL_NO_ERROR); - + QSurface *createSurface = glContext->surface(); + m_frontBuffer->textureCleanupCallback = [glContext, createSurface, glExtFun, glTexture, + glMemoryObject]() { + ScopedGLContextForCleanup cleanupContext(glContext, createSurface); glExtFun->glDeleteMemoryObjectsEXT(1, &glMemoryObject); - glFun->glDeleteTextures(1, &glTexture); + cleanupContext.deleteTexture(glTexture); }; #else Q_UNREACHABLE(); @@ -384,12 +439,11 @@ QSGTexture *NativeSkiaOutputDeviceOpenGL::texture(QQuickWindow *win, uint32_t te uint32_t glTexture = makeCGLTexture(win, ioSurface.get(), size()); texture = QNativeInterface::QSGOpenGLTexture::fromNative(glTexture, win, size(), texOpts); - m_frontBuffer->textureCleanupCallback = [glTexture]() { - auto *glContext = QOpenGLContext::currentContext(); - if (!glContext) - return; - auto glFun = glContext->functions(); - glFun->glDeleteTextures(1, &glTexture); + QOpenGLContext *glContext = QOpenGLContext::currentContext(); + QSurface *createSurface = glContext->surface(); + m_frontBuffer->textureCleanupCallback = [glContext, createSurface, glTexture]() { + ScopedGLContextForCleanup cleanupContext(glContext, createSurface); + cleanupContext.deleteTexture(glTexture); }; #endif // BUILDFLAG(IS_OZONE) diff --git a/src/core/compositor/wgl_helper.cpp b/src/core/compositor/wgl_helper.cpp index 85e6bb915..3c3a096b9 100644 --- a/src/core/compositor/wgl_helper.cpp +++ b/src/core/compositor/wgl_helper.cpp @@ -124,9 +124,10 @@ D3DSharedTexture::D3DSharedTexture(WGLHelper::WGLFunctions *wglFun, ID3D11Device // for an already shared texture. immediateContext->CopyResource(m_d3dTexture.Get(), srcTexture.Get()); - auto *glContext = QOpenGLContext::currentContext(); - Q_ASSERT(glContext); - auto *glFun = glContext->functions(); + m_createContext = QOpenGLContext::currentContext(); + m_createSurface = m_createContext->surface(); + Q_ASSERT(m_createContext); + auto *glFun = m_createContext->functions(); glFun->glGenTextures(1, &m_glTexture); @@ -148,10 +149,31 @@ D3DSharedTexture::~D3DSharedTexture() m_wglFun->wglDXUnregisterObjectNV(m_interopDevice, m_glTextureHandle); } - auto *glContext = QOpenGLContext::currentContext(); - if (m_glTexture && glContext) { - auto *glFun = glContext->functions(); + if (m_glTexture) { + QOpenGLContext *currentContext = QOpenGLContext::currentContext(); + QSurface *currentSurface = nullptr; + + if (m_createContext != currentContext) { + if (currentContext) + currentSurface = currentContext->surface(); + + if (!m_createContext->makeCurrent(m_createSurface)) { + qWarning("Failed to make OpenGL context current for clean-up, OpenGL resources " + "will not be destroyed."); + return; + } + } + + if (!m_createContext->isValid()) + return; + + auto *glFun = m_createContext->functions(); glFun->glDeleteTextures(1, &m_glTexture); + + if (currentSurface) { + if (!currentContext->makeCurrent(currentSurface)) + qFatal("Failed to restore OpenGL context after clean-up."); + } } } diff --git a/src/core/compositor/wgl_helper.h b/src/core/compositor/wgl_helper.h index c726c234c..1f94e0706 100644 --- a/src/core/compositor/wgl_helper.h +++ b/src/core/compositor/wgl_helper.h @@ -20,6 +20,9 @@ QT_BEGIN_NAMESPACE +class QOpenGLContext; +class QSurface; + class WGLHelper { public: @@ -88,6 +91,8 @@ private: HANDLE m_interopDevice; Microsoft::WRL::ComPtr<ID3D11Texture2D> m_d3dTexture; + QOpenGLContext *m_createContext = nullptr; + QSurface *m_createSurface = nullptr; GLuint m_glTexture = 0; HANDLE m_glTextureHandle = INVALID_HANDLE_VALUE; diff --git a/src/core/doc/src/qtwebengine-overview.qdoc b/src/core/doc/src/qtwebengine-overview.qdoc index 3a5d30338..3d7ebf6ad 100644 --- a/src/core/doc/src/qtwebengine-overview.qdoc +++ b/src/core/doc/src/qtwebengine-overview.qdoc @@ -249,28 +249,8 @@ \section1 High DPI Support - To support High DPI devices, it is recommended that the application attribute - Qt::AA_EnableHighDpiScaling is set to enable automatic scaling based on the - pixel density of the monitor. In \QWE applications, the scaling - affects the default zooming factor and scrollbar size. - - For example: - - \code - int main(int argc, char *argv[]) - { - QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QApplication app(argc, argv); - // ... - } - \endcode - - \QWE bundles images for normal and high-dpi resolutions into - \e qtwebengine_resources_100p.pak and \e qtwebengine_resources_200p.pak - files. Depending on the target resolutions, one or both of these files need - to be deployed. - - For more information, see \l{High DPI}. + High DPI support is always enabled in Qt 6, and this also applies to \QWE. For more information, + see \l{High DPI}. \section1 Using WebEngine Core diff --git a/src/core/profile_adapter.h b/src/core/profile_adapter.h index b6357ce1c..36d286851 100644 --- a/src/core/profile_adapter.h +++ b/src/core/profile_adapter.h @@ -61,7 +61,8 @@ public: enum PersistentCookiesPolicy { NoPersistentCookies = 0, AllowPersistentCookies, - ForcePersistentCookies + ForcePersistentCookies, + OnlyPersistentCookies, }; enum VisitedLinksPolicy { diff --git a/src/core/profile_io_data_qt.cpp b/src/core/profile_io_data_qt.cpp index 567403a7c..85b533b93 100644 --- a/src/core/profile_io_data_qt.cpp +++ b/src/core/profile_io_data_qt.cpp @@ -224,7 +224,8 @@ void ProfileIODataQt::ConfigureNetworkContextParams(bool in_memory, if (m_persistentCookiesPolicy != ProfileAdapter::NoPersistentCookies) { network_context_params->file_paths->cookie_database_name = base::FilePath::FromASCII("Cookies"); network_context_params->restore_old_session_cookies = m_persistentCookiesPolicy == ProfileAdapter::ForcePersistentCookies; - network_context_params->persist_session_cookies = m_persistentCookiesPolicy != ProfileAdapter::NoPersistentCookies; + network_context_params->persist_session_cookies = + m_persistentCookiesPolicy != ProfileAdapter::OnlyPersistentCookies; } } diff --git a/src/core/render_widget_host_view_qt_delegate_item.cpp b/src/core/render_widget_host_view_qt_delegate_item.cpp index 77adb843c..dc8eac4de 100644 --- a/src/core/render_widget_host_view_qt_delegate_item.cpp +++ b/src/core/render_widget_host_view_qt_delegate_item.cpp @@ -5,10 +5,13 @@ #include "render_widget_host_view_qt_delegate_client.h" +#include <QtCore/qrunnable.h> +#include <QtCore/qthread.h> #include <QtGui/qevent.h> #include <QtGui/qguiapplication.h> #include <QtGui/qwindow.h> #include <QtQuick/qsgimagenode.h> +#include <rhi/qrhi.h> #if QT_CONFIG(accessibility) #include <QtGui/qaccessible.h> @@ -37,7 +40,9 @@ RenderWidgetHostViewQtDelegateItem::RenderWidgetHostViewQtDelegateItem(RenderWid RenderWidgetHostViewQtDelegateItem::~RenderWidgetHostViewQtDelegateItem() { - releaseTextureResources(); + if (QQuickItem::window()) + releaseResources(); + unbind(); // Compositor::Observer if (m_widgetDelegate) { m_widgetDelegate->Unbind(); @@ -326,12 +331,6 @@ void RenderWidgetHostViewQtDelegateItem::itemChange(ItemChange change, const Ite for (const QMetaObject::Connection &c : std::as_const(m_windowConnections)) disconnect(c); m_windowConnections.clear(); - - auto comp = compositor(); - if (comp && comp->type() == Compositor::Type::Native) { - comp->releaseTexture(); - comp->releaseResources(); - } } if (value.window) { @@ -343,10 +342,12 @@ void RenderWidgetHostViewQtDelegateItem::itemChange(ItemChange change, const Ite m_windowConnections.append(connect(value.window, SIGNAL(xChanged(int)), SLOT(onWindowPosChanged()))); m_windowConnections.append( connect(value.window, SIGNAL(yChanged(int)), SLOT(onWindowPosChanged()))); - m_windowConnections.append( - connect(value.window, &QQuickWindow::sceneGraphAboutToStop, this, - &RenderWidgetHostViewQtDelegateItem::releaseTextureResources, - Qt::DirectConnection)); + m_windowConnections.append(connect( + value.window, &QQuickWindow::sceneGraphAboutToStop, this, + &RenderWidgetHostViewQtDelegateItem::releaseResources, Qt::DirectConnection)); + m_windowConnections.append(connect( + value.window, &QQuickWindow::sceneGraphInvalidated, this, + &RenderWidgetHostViewQtDelegateItem::releaseResources, Qt::DirectConnection)); if (!m_isPopup) m_windowConnections.append(connect(value.window, SIGNAL(closing(QQuickCloseEvent*)), SLOT(onHide()))); } @@ -366,6 +367,61 @@ void RenderWidgetHostViewQtDelegateItem::itemChange(ItemChange change, const Ite } } +class CleanupJob : public QRunnable +{ +public: + CleanupJob(Compositor::Handle<Compositor> compositor) : m_compositor(std::move(compositor)) { } + + ~CleanupJob() + { + if (m_compositor->hasResources()) { + qWarning("Failed to release graphics resources because the clean-up render job was " + "deleted."); + } + } + + void run() override { m_compositor->releaseResources(); } + +private: + Compositor::Handle<Compositor> m_compositor; +}; + +void RenderWidgetHostViewQtDelegateItem::releaseResources() +{ + auto comp = compositor(); + if (!comp || comp->type() != Compositor::Type::Native || !comp->hasResources()) + return; + + comp->releaseTexture(); + + QQuickWindow *win = QQuickItem::window(); + if (!win) { + qWarning("Failed to release graphics resources because QQuickWindow is not available."); + return; + } + + QRhi *rhi = win->rhi(); + if (!rhi) { + qWarning("Failed to release graphics resources because RHI is not available."); + return; + } + + // Do not schedule clean-up if the resources were created on the current thread. + if (QThread::currentThread() == rhi->thread()) { + comp->releaseResources(); + return; + } + + if (win->isExposed()) + win->scheduleRenderJob(new CleanupJob(std::move(comp)), QQuickWindow::NoStage); + else { + // TODO: Try to find a proper way to schedule job on the render thread if the window is + // not exposed. + // This is reproducible with ./tst_qquickwebengineviewgraphics simpleGraphics simpleGraphics + qWarning("Failed to release graphics resources because QQuickWindow is not exposed."); + } +} + QSGNode *RenderWidgetHostViewQtDelegateItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) { auto comp = compositor(); @@ -447,15 +503,6 @@ void RenderWidgetHostViewQtDelegateItem::onHide() m_client->forwardEvent(&event); } -void RenderWidgetHostViewQtDelegateItem::releaseTextureResources() -{ - auto comp = compositor(); - if (!comp || comp->type() != Compositor::Type::Native) - return; - - comp->releaseResources(); -} - void RenderWidgetHostViewQtDelegateItem::adapterClientChanged(WebContentsAdapterClient *client) { m_adapterClient = client; diff --git a/src/core/render_widget_host_view_qt_delegate_item.h b/src/core/render_widget_host_view_qt_delegate_item.h index 65fbeeb17..f0351aa9f 100644 --- a/src/core/render_widget_host_view_qt_delegate_item.h +++ b/src/core/render_widget_host_view_qt_delegate_item.h @@ -95,6 +95,7 @@ protected: void inputMethodEvent(QInputMethodEvent *event) override; void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) override; void itemChange(ItemChange change, const ItemChangeData &value) override; + void releaseResources() override; QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) override; void adapterClientChanged(WebContentsAdapterClient *client) override; @@ -104,7 +105,6 @@ private Q_SLOTS: void onBeforeRendering(); void onAfterFrameEnd(); void onWindowPosChanged(); - void releaseTextureResources(); void onHide(); private: diff --git a/src/webenginequick/api/qquickwebengineprofile.cpp b/src/webenginequick/api/qquickwebengineprofile.cpp index 6aebc18a1..dce3c8822 100644 --- a/src/webenginequick/api/qquickwebengineprofile.cpp +++ b/src/webenginequick/api/qquickwebengineprofile.cpp @@ -96,6 +96,9 @@ QT_BEGIN_NAMESPACE \value AllowPersistentCookies Cookies marked persistent are saved to and restored from disk, whereas session cookies are only stored to disk for crash recovery. This is the default setting. + \value OnlyPersistentCookies + Cookies marked persistent are saved to and restored from disk, whereas session cookies + are never stored to disk, even for crash recovery. \value ForcePersistentCookies Both session and persistent cookies are saved to and restored from disk. */ @@ -726,6 +729,9 @@ void QQuickWebEngineProfile::setHttpCacheType(QQuickWebEngineProfile::HttpCacheT Cookies marked persistent are saved to and restored from disk, whereas session cookies are only stored to disk for crash recovery. This is the default value for non off-the-record profile with storageName. + \value WebEngineProfile.OnlyPersistentCookies + Cookies marked persistent are saved to and restored from disk, whereas session cookies + are never stored to disk, even for crash recovery. \value WebEngineProfile.ForcePersistentCookies Both session and persistent cookies are saved to and restored from disk. */ diff --git a/src/webenginequick/api/qquickwebengineprofile.h b/src/webenginequick/api/qquickwebengineprofile.h index 9a21852ba..899d431a1 100644 --- a/src/webenginequick/api/qquickwebengineprofile.h +++ b/src/webenginequick/api/qquickwebengineprofile.h @@ -65,7 +65,8 @@ public: enum PersistentCookiesPolicy { NoPersistentCookies, AllowPersistentCookies, - ForcePersistentCookies + ForcePersistentCookies, + OnlyPersistentCookies, }; Q_ENUM(PersistentCookiesPolicy) diff --git a/src/webenginequick/api/qquickwebengineprofileprototype.cpp b/src/webenginequick/api/qquickwebengineprofileprototype.cpp index e6c4b8e99..d32d63ce7 100644 --- a/src/webenginequick/api/qquickwebengineprofileprototype.cpp +++ b/src/webenginequick/api/qquickwebengineprofileprototype.cpp @@ -161,6 +161,9 @@ void QQuickWebEngineProfilePrototype::setHttpCacheType( Cookies marked persistent are saved to and restored from disk, whereas session cookies are only stored to disk for crash recovery. This is the default value for non off-the-record profile with storageName. + \value WebEngineProfile.OnlyPersistentCookies + Cookies marked persistent are saved to and restored from disk, whereas session cookies + are never stored to the disk, even for crash recovery. \value WebEngineProfile.ForcePersistentCookies Both session and persistent cookies are saved to and restored from disk. */ |