diff options
29 files changed, 226 insertions, 45 deletions
diff --git a/cmake/FindGn.cmake b/cmake/FindGn.cmake index f30edcd36..14cb3bc04 100644 --- a/cmake/FindGn.cmake +++ b/cmake/FindGn.cmake @@ -36,6 +36,9 @@ find_package_handle_standard_args(Gn Gn_VERSION REQUIRED_VARS Gn_EXECUTABLE + FAIL_MESSAGE + "Could NOT find Gn. Building internal one instead." + ) if(Gn_FOUND AND NOT TARGET Gn::gn AND NOT CMAKE_SCRIPT_MODE_FILE) diff --git a/cmake/QtConfigureHelpers.cmake b/cmake/QtConfigureHelpers.cmake index e469fc67a..31b8c6230 100644 --- a/cmake/QtConfigureHelpers.cmake +++ b/cmake/QtConfigureHelpers.cmake @@ -64,7 +64,7 @@ macro(qt_webengine_check_support) TYPE WARNING MESSAGE "${module_checked} won't be built. ${error_message}" ) - qt_webengine_add_error_target(${module_checked} "Delete CMakeCache.txt and try to reconfigure.") + qt_webengine_add_error_target(${module_checked} "Delete CMakeCache.txt, Gn stamp files in <build_dir>/src/gn/src/gn-stamp/* and try to reconfigure.") endif() endif() endforeach() diff --git a/configure.cmake b/configure.cmake index f37910d7c..32b152c02 100644 --- a/configure.cmake +++ b/configure.cmake @@ -25,6 +25,7 @@ qt_webengine_set_version(vpx 1.10.0) qt_webengine_set_version(libavutil 58.29.100) qt_webengine_set_version(libavcodec 60.31.102) qt_webengine_set_version(libavformat 60.16.100) +qt_webengine_set_version(openh264 2.4.1) qt_webengine_set_version(windows_sdk 26100) # we only care about minor number "10.0.26100.0" if(QT_CONFIGURE_RUNNING) @@ -93,6 +94,7 @@ if(PkgConfig_FOUND) pkg_check_modules(XKBFILE xkbfile) pkg_check_modules(XCBDRI3 xcb-dri3) pkg_check_modules(LIBUDEV libudev) + pkg_check_modules(OPENH264 openh264>=${QT_CONFIGURE_CHECK_openh264_version}) endif() if(Python3_EXECUTABLE) @@ -723,6 +725,11 @@ qt_feature("webengine-system-libudev" PRIVATE CONDITION UNIX AND LIBUDEV_FOUND ) +qt_feature("webengine-system-openh264" PRIVATE + LABEL "openh264" + CONDITION UNIX AND OPENH264_FOUND +) + qt_feature("webengine-ozone-x11" PRIVATE LABEL "Support X11 on qpa-xcb" CONDITION LINUX @@ -778,6 +785,7 @@ if(UNIX) qt_configure_add_summary_entry(ARGS "webengine-system-freetype") qt_configure_add_summary_entry(ARGS "webengine-system-libpci") qt_configure_add_summary_entry(ARGS "webengine-system-libudev") + qt_configure_add_summary_entry(ARGS "webengine-system-openh264") qt_configure_end_summary_section() endif() diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 23dc00dfa..ff8c958cb 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -535,6 +535,10 @@ foreach(arch ${archs}) CONDITION QT_FEATURE_webengine_system_gbm ) extend_gn_list(gnArgArg + ARGS rtc_system_openh264 + CONDITION QT_FEATURE_webengine_webrtc_system_openh264 + ) + extend_gn_list(gnArgArg ARGS use_vaapi CONDITION QT_FEATURE_webengine_vaapi ) diff --git a/src/core/api/configure.cmake b/src/core/api/configure.cmake index 4a556656e..79f44f9a2 100644 --- a/src/core/api/configure.cmake +++ b/src/core/api/configure.cmake @@ -84,6 +84,12 @@ qt_feature("webengine-system-gbm" PRIVATE AUTODETECT UNIX CONDITION GBM_FOUND ) +qt_feature("webengine-webrtc-system-openh264" PRIVATE + LABEL "Use system openh264 for webrtc" + CONDITION UNIX + AND QT_FEATURE_webengine_system_openh264 + AND QT_FEATURE_webengine_proprietary_codecs +) qt_feature("webengine-printing-and-pdf" PRIVATE LABEL "Printing and PDF" PURPOSE "Provides printing and output to PDF." @@ -224,6 +230,10 @@ qt_configure_add_summary_entry( ARGS "webengine-system-pulseaudio" CONDITION LINUX ) +qt_configure_add_summary_entry( + ARGS "webengine-webrtc-system-openh264" + CONDITION UNIX +) qt_configure_add_summary_entry(ARGS "webengine-v8-context-snapshot") qt_configure_add_summary_entry(ARGS "webenginedriver") qt_configure_end_summary_section() # end of "Qt WebEngineCore" section 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/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/webenginewidgets/api/qtwebenginewidgetsglobal.h b/src/webenginewidgets/api/qtwebenginewidgetsglobal.h index 58b9c7a2b..edf6632ac 100644 --- a/src/webenginewidgets/api/qtwebenginewidgetsglobal.h +++ b/src/webenginewidgets/api/qtwebenginewidgetsglobal.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 QTWEBENGINEWIDGETSGLOBAL_H #define QTWEBENGINEWIDGETSGLOBAL_H diff --git a/src/webenginewidgets/api/qwebenginenotificationpresenter.cpp b/src/webenginewidgets/api/qwebenginenotificationpresenter.cpp index 83814fe4a..2adcbf912 100644 --- a/src/webenginewidgets/api/qwebenginenotificationpresenter.cpp +++ b/src/webenginewidgets/api/qwebenginenotificationpresenter.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 "qwebenginenotificationpresenter_p.h" diff --git a/src/webenginewidgets/api/qwebenginenotificationpresenter_p.h b/src/webenginewidgets/api/qwebenginenotificationpresenter_p.h index 61e7f9e45..c42c6cc84 100644 --- a/src/webenginewidgets/api/qwebenginenotificationpresenter_p.h +++ b/src/webenginewidgets/api/qwebenginenotificationpresenter_p.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 QWEBENGINENOTIFICATIONPRESENTER_P_H #define QWEBENGINENOTIFICATIONPRESENTER_P_H diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index 53fcc4628..9745654ac 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.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:data-parser #include "qapplication.h" #include "qwebenginenotificationpresenter_p.h" diff --git a/src/webenginewidgets/api/qwebengineview.h b/src/webenginewidgets/api/qwebengineview.h index 008aaa032..48d82acb1 100644 --- a/src/webenginewidgets/api/qwebengineview.h +++ b/src/webenginewidgets/api/qwebengineview.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:data-parser #ifndef QWEBENGINEVIEW_H #define QWEBENGINEVIEW_H diff --git a/src/webenginewidgets/api/qwebengineview_p.h b/src/webenginewidgets/api/qwebengineview_p.h index 389bc4a66..27ad6db71 100644 --- a/src/webenginewidgets/api/qwebengineview_p.h +++ b/src/webenginewidgets/api/qwebengineview_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:critical reason:data-parser #ifndef QWEBENGINEVIEW_P_H #define QWEBENGINEVIEW_P_H diff --git a/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.cpp b/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.cpp index 6ba64a178..f018b6d19 100644 --- a/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.cpp +++ b/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.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 "qwebengineview_plugin.h" diff --git a/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.h b/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.h index a7150151d..6706ab34e 100644 --- a/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.h +++ b/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.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 QWEBENGINEVIEW_PLUGIN_H #define QWEBENGINEVIEW_PLUGIN_H diff --git a/src/webenginewidgets/qwebengine_accessible.cpp b/src/webenginewidgets/qwebengine_accessible.cpp index cbdd90104..402a8cf0f 100644 --- a/src/webenginewidgets/qwebengine_accessible.cpp +++ b/src/webenginewidgets/qwebengine_accessible.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 "qwebengine_accessible_p.h" diff --git a/src/webenginewidgets/qwebengine_accessible_p.h b/src/webenginewidgets/qwebengine_accessible_p.h index 99604d90d..c95514737 100644 --- a/src/webenginewidgets/qwebengine_accessible_p.h +++ b/src/webenginewidgets/qwebengine_accessible_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 QWEBENGINE_ACCESSIBLE_H #define QWEBENGINE_ACCESSIBLE_H diff --git a/src/webenginewidgets/ui/autofillpopupwidget.cpp b/src/webenginewidgets/ui/autofillpopupwidget.cpp index a4dc31beb..4e463361a 100644 --- a/src/webenginewidgets/ui/autofillpopupwidget.cpp +++ b/src/webenginewidgets/ui/autofillpopupwidget.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 "autofillpopupwidget_p.h" #include "qwebengineview.h" diff --git a/src/webenginewidgets/ui/autofillpopupwidget_p.h b/src/webenginewidgets/ui/autofillpopupwidget_p.h index 79decc6ab..d84b34bef 100644 --- a/src/webenginewidgets/ui/autofillpopupwidget_p.h +++ b/src/webenginewidgets/ui/autofillpopupwidget_p.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 AUTOFILLPOPUPWIDGET_P_H #define AUTOFILLPOPUPWIDGET_P_H diff --git a/src/webenginewidgets/ui/touchhandlewidget.cpp b/src/webenginewidgets/ui/touchhandlewidget.cpp index 88af0ff36..b855e425c 100644 --- a/src/webenginewidgets/ui/touchhandlewidget.cpp +++ b/src/webenginewidgets/ui/touchhandlewidget.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 "touchhandlewidget_p.h" #include "qwebengineview.h" diff --git a/src/webenginewidgets/ui/touchhandlewidget_p.h b/src/webenginewidgets/ui/touchhandlewidget_p.h index 9f181c935..9ab8fc9d6 100644 --- a/src/webenginewidgets/ui/touchhandlewidget_p.h +++ b/src/webenginewidgets/ui/touchhandlewidget_p.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 TOUCHHANDLEWIDGET_P_H #define TOUCHHANDLEWIDGET_P_H diff --git a/src/webenginewidgets/ui/touchselectionmenuwidget.cpp b/src/webenginewidgets/ui/touchselectionmenuwidget.cpp index ff69fe84b..dee65ae0e 100644 --- a/src/webenginewidgets/ui/touchselectionmenuwidget.cpp +++ b/src/webenginewidgets/ui/touchselectionmenuwidget.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 "touchselectionmenuwidget_p.h" #include "qwebengineview.h" diff --git a/src/webenginewidgets/ui/touchselectionmenuwidget_p.h b/src/webenginewidgets/ui/touchselectionmenuwidget_p.h index 1f822023b..89216a510 100644 --- a/src/webenginewidgets/ui/touchselectionmenuwidget_p.h +++ b/src/webenginewidgets/ui/touchselectionmenuwidget_p.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 TOUCHSELECTIONMENUWIDGET_P_H #define TOUCHSELECTIONMENUWIDGET_P_H |