From 39c6f4cea4f2a9eeafcbaa9dc5659c5d8c0d0347 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 24 Oct 2018 11:02:47 +0200 Subject: Fix a FIXME Change-Id: Idd100dd057944d35ba369ce88dcc32a308c1a6ec Reviewed-by: Peter Varga --- src/webengine/render_widget_host_view_qt_delegate_quick.cpp | 9 +++------ src/webengine/render_widget_host_view_qt_delegate_quick.h | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp index d23e64774..abdd4a8b3 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -327,8 +327,7 @@ void RenderWidgetHostViewQtDelegateQuick::geometryChanged(const QRectF &newGeome QQuickItem::geometryChanged(newGeometry, oldGeometry); if (window()) { - // TODO(pvarga): Use QQuickItem::mapToGlobal from Qt 5.7 - const QPoint globalPos = window()->mapToGlobal(position().toPoint()); + const QPointF globalPos = QQuickItem::mapToGlobal(position()); if (globalPos != m_lastGlobalPos) { m_lastGlobalPos = globalPos; m_client->windowBoundsChanged(); @@ -366,10 +365,8 @@ QSGNode *RenderWidgetHostViewQtDelegateQuick::updatePaintNode(QSGNode *oldNode, void RenderWidgetHostViewQtDelegateQuick::onWindowPosChanged() { - if (window()) { - // TODO(pvarga): Use QQuickItem::mapToGlobal from Qt 5.7 - m_lastGlobalPos = window()->mapToGlobal(position().toPoint()); - } + if (window()) + m_lastGlobalPos = QQuickItem::mapToGlobal(position()); m_client->windowBoundsChanged(); } diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.h b/src/webengine/render_widget_host_view_qt_delegate_quick.h index 6b855c824..2d9dc991b 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.h +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.h @@ -113,7 +113,7 @@ private: QList m_windowConnections; bool m_isPopup; bool m_isPasswordInput; - QPoint m_lastGlobalPos; + QPointF m_lastGlobalPos; QQuickWebEngineView *m_view = nullptr; }; -- cgit v1.2.3 From 31663075ff5fbf49feca99756c2808daaf4e3174 Mon Sep 17 00:00:00 2001 From: Antti Kokko Date: Wed, 31 Oct 2018 11:13:12 +0200 Subject: Add changes file for Qt 5.12.0 Change-Id: I2183c58732b168acccfcddd195cb93cd50090414 Reviewed-by: Leena Miettinen Reviewed-by: Michal Klocek --- dist/changes-5.12.0 | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 dist/changes-5.12.0 diff --git a/dist/changes-5.12.0 b/dist/changes-5.12.0 new file mode 100644 index 000000000..0302c3a8e --- /dev/null +++ b/dist/changes-5.12.0 @@ -0,0 +1,84 @@ +Qt 5.12 introduces many new features and improvements as well as bugfixes +over the 5.11.x series. For more details, refer to the online documentation +included in this distribution. The documentation is also available online: + +https://doc.qt.io/qt-5/index.html + +The Qt version 5.12 series is binary compatible with the 5.11.x series. +Applications compiled for 5.11 will continue to run with 5.12. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + + +**************************************************************************** +* General * +**************************************************************************** + +Chromium Snapshot +----------------- + +- Updated the Chromium version to 69.0.3497.128 +- Applied security fixes from Chrome up to version 70.0.3538.67 + + +Core library changes +-------------------- + +- [QTBUG-51631, QTBUG-65682] Both Linux desktop and embedded now use Ozone + internally, to be more consistent and better support Wayland. +- [QTBUG-66068] Stopped creating the default profile if the user didn't use it. +- [QTBUG-69442] Fixed swapping of Control/Meta on macOS, an improved keycode + conversion on all platforms. +- [QTBUG-70288] Fixed suggested filenames of non-ASCII downloaded items, + when encoding is implicit. +- The internal chrome://accessibility page is now supported. + + +Build System +------------ + +- Updated macOS build requirements to macOS 10.12, macOS SDK 10.12, Xcode + 8.3.3. +- QtWebChannel is now an optional dependency. +- [QTBUG-51082] Kerberos support can now be enabled. +- [QTBUG-70183] Fixed building with system libvpx. + + +**************************************************************************** +* Libraries * +**************************************************************************** + +Qt WebEngineCore +---------------- + +- [QTBUG-62536] Added the QWebEngineUrlScheme class for configuring how + custom schemes are parsed and which security restrictions should apply. + + +Qt WebEngine (QML) +------------------ + +- WebEngineSettings::dnsPrefetchEnabled added, but disabled by default. +- WebEngineDownloadItem::view accessor added to tell were the download was triggered. +- [QTBUG-56117] Introduce WebEngineAction in Quick API. +- [QTBUG-53745, QTBUG-69237] WebEngineView::printRequest added for window.print() support. + + + Qt WebEngineWidgets +------------------- + +- QWebEngineSettings::DnsPrefetchEnabled added, but disabled by default. +- QWebEngineSettings::XSSAuditingEnabled is now enabled by default, to mirror + Chromium's behavior. +- QWebEngineDownloadItem::page() accessor added to tell were the download was triggered. +- [QTBUG-53745, QTBUG-69237] QWebEnginePage::printRequest added for window.print() support. +- [QTBUG-54877] Introduced support for client certificates on macOS and Windows. +- [QTBUG-64501] Fixed a way to trigger an infinite loop. +- [QTBUG-69222] Fixed call order of print callback. + -- cgit v1.2.3 From 160b43c181bd23f7d1ef8d8b8bfa28f3762d8144 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCri=20Valdmann?= Date: Mon, 5 Nov 2018 12:49:53 +0100 Subject: Fix building tst_dialogs against libc++ Linking fails if re2 was built against libstdc++. Change-Id: I69868ff284c8d23ccd7219f4da6ec750ff7674b9 Reviewed-by: Michal Klocek --- config.tests/re2/re2.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config.tests/re2/re2.cpp b/config.tests/re2/re2.cpp index f2c0b0170..bd3b80a82 100644 --- a/config.tests/re2/re2.cpp +++ b/config.tests/re2/re2.cpp @@ -30,6 +30,7 @@ int main(int, char **) { - RE2 re2("dummytest"); + std::string s("dummytest"); + RE2 re2(s); return 0; } -- cgit v1.2.3 From ce0335c0b6c892bfdb06cd52830a705aa6d71d9b Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 6 Nov 2018 16:11:57 +0100 Subject: Update documented chromium version Change-Id: I8d6051b5ddd9d68c8a6d7488460439399f707c49 Fixes: QTBUG-70024 Reviewed-by: Alexandru Croitor --- src/webengine/doc/src/qtwebengine-overview.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webengine/doc/src/qtwebengine-overview.qdoc b/src/webengine/doc/src/qtwebengine-overview.qdoc index 9c2cbb414..bd5569e3f 100644 --- a/src/webengine/doc/src/qtwebengine-overview.qdoc +++ b/src/webengine/doc/src/qtwebengine-overview.qdoc @@ -89,7 +89,7 @@ \l{https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md}{overview} that is part of the documentation in the \l {Chromium Project} upstream source tree. - This version of Qt WebEngine is based on Chromium version 65.0.3325.151, with + This version of Qt WebEngine is based on Chromium version 69.0.3497.128, with additional security fixes from newer versions. \section2 Qt WebEngine Process -- cgit v1.2.3 From db05412d378fb2e555b51a76d15f8ce7a03a9947 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCri=20Valdmann?= Date: Wed, 7 Nov 2018 10:21:03 +0100 Subject: Fix building tst_printing against libc++ Linking fails if system poppler-cpp is built against libstdc++. Change-Id: I5c46cb56770abe3ed6c2bfa461ee08d32f476f16 Reviewed-by: Michal Klocek --- tests/auto/widgets/printing/tst_printing.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/auto/widgets/printing/tst_printing.cpp b/tests/auto/widgets/printing/tst_printing.cpp index 2fd12b8ec..380fb65ff 100644 --- a/tests/auto/widgets/printing/tst_printing.cpp +++ b/tests/auto/widgets/printing/tst_printing.cpp @@ -44,7 +44,7 @@ class tst_Printing : public QObject private slots: void printToPdfBasic(); void printRequest(); -#if QT_CONFIG(webengine_poppler_cpp) +#if QT_CONFIG(webengine_poppler_cpp) && defined(Q_OS_LINUX) && defined(__GLIBCXX__) void printToPdfPoppler(); #endif }; @@ -108,7 +108,7 @@ void tst_Printing::printRequest() QVERIFY(data.length() > 0); } -#if QT_CONFIG(webengine_poppler_cpp) +#if QT_CONFIG(webengine_poppler_cpp) && defined(Q_OS_LINUX) && defined(__GLIBCXX__) void tst_Printing::printToPdfPoppler() { // check if generated pdf is correct by searching for a know string on the page -- cgit v1.2.3 From 0ef5bbc16781fc0d0ea72e396b1d6e23cd588dc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCri=20Valdmann?= Date: Wed, 7 Nov 2018 12:31:59 +0100 Subject: Update Chromium This pulls in the following changes: * 573ac8f4 Disable some DCHECKs to fix printing * ce79ab59 [Backport] Skip deleted object files in POSIX base::debug::StackTrace Change-Id: I03b9811f40ab5f19ffbd795b04fcc5613e3dc3b0 Reviewed-by: Szabolcs David Reviewed-by: Allan Sandfeld Jensen --- src/3rdparty | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty b/src/3rdparty index d521ec6dd..573ac8f40 160000 --- a/src/3rdparty +++ b/src/3rdparty @@ -1 +1 @@ -Subproject commit d521ec6dd1ed0114b9c6d32b047fb024420a6cda +Subproject commit 573ac8f40079aa4429fe734a7f1c7baef546c277 -- cgit v1.2.3 From 7db70f1e85f628f78df84eb195473fb315e812fe Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 23 Oct 2018 17:29:19 +0200 Subject: Implement CopyFromSurface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Means we can get screenshots in devtools. Change-Id: I7b50d6ac5a54d236573bcf5f58ae872bd50dccad Reviewed-by: Jüri Valdmann --- src/core/render_widget_host_view_qt.cpp | 13 +++++++- src/core/render_widget_host_view_qt.h | 3 ++ src/core/render_widget_host_view_qt_delegate.h | 1 + src/core/type_conversion.cpp | 38 ++++++++++++++++++++++ src/core/type_conversion.h | 2 ++ src/core/web_engine_context.cpp | 2 ++ .../render_widget_host_view_qt_delegate_quick.cpp | 11 +++++++ .../render_widget_host_view_qt_delegate_quick.h | 1 + ...nder_widget_host_view_qt_delegate_quickwindow.h | 1 + .../render_widget_host_view_qt_delegate_widget.cpp | 9 +++++ .../render_widget_host_view_qt_delegate_widget.h | 1 + 11 files changed, 81 insertions(+), 1 deletion(-) diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index 1c5382fe7..9706ac070 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -403,7 +403,18 @@ bool RenderWidgetHostViewQt::HasFocus() const bool RenderWidgetHostViewQt::IsSurfaceAvailableForCopy() const { - return false; + return true; +} + +void RenderWidgetHostViewQt::CopyFromSurface(const gfx::Rect &src_rect, + const gfx::Size &output_size, + base::OnceCallback callback) +{ + QImage image; + if (m_delegate->copySurface(toQt(src_rect), toQt(output_size), image)) + std::move(callback).Run(toSkBitmap(image)); + else + std::move(callback).Run(SkBitmap()); } void RenderWidgetHostViewQt::Show() diff --git a/src/core/render_widget_host_view_qt.h b/src/core/render_widget_host_view_qt.h index 6a1134ac0..8db3351f4 100644 --- a/src/core/render_widget_host_view_qt.h +++ b/src/core/render_widget_host_view_qt.h @@ -124,6 +124,9 @@ public: void Focus() override; bool HasFocus() const override; bool IsSurfaceAvailableForCopy() const override; + void CopyFromSurface(const gfx::Rect &src_rect, + const gfx::Size &output_size, + base::OnceCallback callback) override; void Show() override; void Hide() override; bool IsShowing() override; diff --git a/src/core/render_widget_host_view_qt_delegate.h b/src/core/render_widget_host_view_qt_delegate.h index 991c26ea8..5ce595502 100644 --- a/src/core/render_widget_host_view_qt_delegate.h +++ b/src/core/render_widget_host_view_qt_delegate.h @@ -114,6 +114,7 @@ public: virtual void inputMethodStateChanged(bool editorVisible, bool passwordInput) = 0; virtual void setInputMethodHints(Qt::InputMethodHints hints) = 0; virtual void setClearColor(const QColor &color) = 0; + virtual bool copySurface(const QRect &, const QSize &, QImage &) = 0; }; } // namespace QtWebEngineCore diff --git a/src/core/type_conversion.cpp b/src/core/type_conversion.cpp index 4aff2cff6..d35426ac3 100644 --- a/src/core/type_conversion.cpp +++ b/src/core/type_conversion.cpp @@ -137,6 +137,44 @@ QImage toQImage(const gfx::ImageSkiaRep &imageSkiaRep) return image; } +SkBitmap toSkBitmap(const QImage &image) +{ + SkBitmap bitmap; + SkImageInfo imageInfo; + + switch (image.format()) { + case QImage::Format_RGB32: + imageInfo = SkImageInfo::Make(image.width(), image.height(), kBGRA_8888_SkColorType, kOpaque_SkAlphaType); + break; + case QImage::Format_ARGB32: + imageInfo = SkImageInfo::Make(image.width(), image.height(), kBGRA_8888_SkColorType, kUnpremul_SkAlphaType); + break; + case QImage::Format_ARGB32_Premultiplied: + imageInfo = SkImageInfo::Make(image.width(), image.height(), kBGRA_8888_SkColorType, kPremul_SkAlphaType); + break; + case QImage::Format_RGBX8888: + imageInfo = SkImageInfo::Make(image.width(), image.height(), kRGBA_8888_SkColorType, kOpaque_SkAlphaType); + break; + case QImage::Format_RGBA8888: + imageInfo = SkImageInfo::Make(image.width(), image.height(), kRGBA_8888_SkColorType, kUnpremul_SkAlphaType); + break; + case QImage::Format_RGBA8888_Premultiplied: + imageInfo = SkImageInfo::Make(image.width(), image.height(), kRGBA_8888_SkColorType, kPremul_SkAlphaType); + break; + default: + return toSkBitmap(image.convertToFormat(QImage::Format_ARGB32_Premultiplied)); + } + + bitmap.installPixels(imageInfo, (void *)image.bits(), image.bytesPerLine()); + + // Ensure we copy the pixels + SkBitmap bitmapCopy; + bitmapCopy.allocPixels(imageInfo); + bitmapCopy.writePixels(bitmap.pixmap()); + + return bitmapCopy; +} + QIcon toQIcon(const std::vector &bitmaps) { if (!bitmaps.size()) diff --git a/src/core/type_conversion.h b/src/core/type_conversion.h index b9e210c22..afc3c3336 100644 --- a/src/core/type_conversion.h +++ b/src/core/type_conversion.h @@ -194,6 +194,8 @@ inline QImage toQImage(const SkBitmap &bitmap, QImage::Format format) QImage toQImage(const SkBitmap &bitmap); QImage toQImage(const gfx::ImageSkiaRep &imageSkiaRep); +SkBitmap toSkBitmap(const QImage &image); + QIcon toQIcon(const std::vector &bitmaps); inline QMatrix4x4 toQt(const SkMatrix44 &m) diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp index 62ed3c2fd..1361ebbed 100644 --- a/src/core/web_engine_context.cpp +++ b/src/core/web_engine_context.cpp @@ -428,6 +428,8 @@ WebEngineContext::WebEngineContext() appendToFeatureSwitch(parsedCommandLine, switches::kDisableFeatures, features::kEnableSurfaceSynchronization.name); // The video-capture service is not functioning at this moment (since 69) appendToFeatureSwitch(parsedCommandLine, switches::kDisableFeatures, features::kMojoVideoCapture.name); + // We do not yet support the internal video capture API. + appendToFeatureSwitch(parsedCommandLine, switches::kDisableFeatures, features::kUseVideoCaptureApiForDevToolsSnapshots.name); if (useEmbeddedSwitches) { // embedded switches are based on the switches for Android, see content/browser/android/content_startup_flags.cc diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp index abdd4a8b3..1176573fd 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -376,4 +376,15 @@ void RenderWidgetHostViewQtDelegateQuick::onHide() m_client->forwardEvent(&event); } +bool RenderWidgetHostViewQtDelegateQuick::copySurface(const QRect &rect, const QSize &size, QImage &image) +{ + image = QQuickItem::window()->grabWindow(); + if (image.isNull()) + return false; + QRect subrect = !rect.isEmpty() ? rect : image.rect(); + image = image.copy(subrect); + image = image.scaled(size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + return true; +} + } // namespace QtWebEngineCore diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.h b/src/webengine/render_widget_host_view_qt_delegate_quick.h index 2d9dc991b..6f6cd1509 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.h +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.h @@ -82,6 +82,7 @@ public: void setInputMethodHints(Qt::InputMethodHints) override { } // The QtQuick view doesn't have a backbuffer of its own and doesn't need this void setClearColor(const QColor &) override { } + bool copySurface(const QRect &rect, const QSize &size, QImage &image) override; protected: bool event(QEvent *event) override; diff --git a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h index df241bf3a..36e4ddd8a 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h +++ b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h @@ -78,6 +78,7 @@ public: void inputMethodStateChanged(bool, bool) override {} void setInputMethodHints(Qt::InputMethodHints) override { } void setClearColor(const QColor &) override { } + bool copySurface(const QRect &, const QSize &, QImage &) override { return false; } private: QScopedPointer m_realDelegate; diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp index 7bbd85091..dd183585a 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp @@ -411,6 +411,15 @@ void RenderWidgetHostViewQtDelegateWidget::hideEvent(QHideEvent *event) m_client->notifyHidden(); } +bool RenderWidgetHostViewQtDelegateWidget::copySurface(const QRect &rect, const QSize &size, QImage &image) +{ + QPixmap pixmap = rect.isEmpty() ? QQuickWidget::grab(QQuickWidget::rect()) : QQuickWidget::grab(rect); + if (pixmap.isNull()) + return false; + image = pixmap.toImage().scaled(size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + return true; +} + bool RenderWidgetHostViewQtDelegateWidget::event(QEvent *event) { bool handled = false; diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h index 74c9e3413..e78a9b119 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h @@ -88,6 +88,7 @@ public: void inputMethodStateChanged(bool editorVisible, bool passwordInput) override; void setInputMethodHints(Qt::InputMethodHints) override; void setClearColor(const QColor &color) override; + bool copySurface(const QRect &, const QSize &, QImage &) override; protected: bool event(QEvent *event) override; -- cgit v1.2.3 From 4d6de2ba36ff4fe17b0e1c8ee7de4f63e2778c9e Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 8 Nov 2018 12:55:10 +0100 Subject: Fix opened webviews closing when opener closes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We apparently can't not rely on getting a QEvent::ParentAboutToChange event before every QEvent::ParentChange event. Change-Id: Ie55b51f8c75623bc4f1a943367fb0070078df55b Fixes: QTBUG-71565 Reviewed-by: Jüri Valdmann --- .../render_widget_host_view_qt_delegate_widget.cpp | 22 +++++++++------------- .../render_widget_host_view_qt_delegate_widget.h | 2 +- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp index 7bbd85091..e735341cd 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp @@ -177,16 +177,15 @@ RenderWidgetHostViewQtDelegateWidget::~RenderWidgetHostViewQtDelegateWidget() void RenderWidgetHostViewQtDelegateWidget::connectRemoveParentBeforeParentDelete() { - if (QWidget *parent = parentWidget()) - connect(parent, &QObject::destroyed, - this, &RenderWidgetHostViewQtDelegateWidget::removeParentBeforeParentDelete); -} - -void RenderWidgetHostViewQtDelegateWidget::disconnectRemoveParentBeforeParentDelete() -{ - if (QWidget *parent = parentWidget()) - disconnect(parent, &QObject::destroyed, - this, &RenderWidgetHostViewQtDelegateWidget::removeParentBeforeParentDelete); + disconnect(m_parentDestroyedConnection); + + if (QWidget *parent = parentWidget()) { + m_parentDestroyedConnection = connect(parent, &QObject::destroyed, + this, + &RenderWidgetHostViewQtDelegateWidget::removeParentBeforeParentDelete); + } else { + m_parentDestroyedConnection = QMetaObject::Connection(); + } } void RenderWidgetHostViewQtDelegateWidget::removeParentBeforeParentDelete() @@ -417,9 +416,6 @@ bool RenderWidgetHostViewQtDelegateWidget::event(QEvent *event) // Track parent to make sure we don't get deleted. switch (event->type()) { - case QEvent::ParentAboutToChange: - disconnectRemoveParentBeforeParentDelete(); - break; case QEvent::ParentChange: connectRemoveParentBeforeParentDelete(); break; diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h index 74c9e3413..f65f4bbf3 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h @@ -101,7 +101,6 @@ protected: private slots: void onWindowPosChanged(); void connectRemoveParentBeforeParentDelete(); - void disconnectRemoveParentBeforeParentDelete(); void removeParentBeforeParentDelete(); private: @@ -115,6 +114,7 @@ private: QPoint m_lastGlobalPos; QList m_windowConnections; QWebEnginePage *m_page = nullptr; + QMetaObject::Connection m_parentDestroyedConnection; }; } // namespace QtWebEngineCore -- cgit v1.2.3 From 40bd9e91108045f1e393f4c98d19cd8df4ee73ce Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Mon, 12 Nov 2018 12:05:18 +0100 Subject: Add missing refactoring for glxGetProcAddress MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 9ad3c7aa fixed regression, however refactoring which took place 9397251b is missing. Task-number: QTBUG-70696 Task-number: QTBUG-71742 Change-Id: I4ff3f5fbbd14996478299f51a3d766d2fa1a7017 Reviewed-by: Michael Brüning --- src/core/ozone/gl_ozone_glx_qt.cpp | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/core/ozone/gl_ozone_glx_qt.cpp b/src/core/ozone/gl_ozone_glx_qt.cpp index 2e7a28a0e..e3a4f4708 100644 --- a/src/core/ozone/gl_ozone_glx_qt.cpp +++ b/src/core/ozone/gl_ozone_glx_qt.cpp @@ -44,18 +44,12 @@ #include #include "gl_ozone_glx_qt.h" #include "gl_surface_glx_qt.h" +#include "gl_context_qt.h" #include "ui/gl/gl_context_glx.h" #include "ui/gl/gl_gl_api_implementation.h" #include "ui/gl/gl_glx_api_implementation.h" #include -#ifndef QT_NO_OPENGL -#include -QT_BEGIN_NAMESPACE -Q_GUI_EXPORT QOpenGLContext *qt_gl_global_share_context(); -QT_END_NAMESPACE -#endif - namespace ui { bool GLOzoneGLXQt::InitializeGLOneOffPlatform() { @@ -79,16 +73,12 @@ bool GLOzoneGLXQt::InitializeStaticGLBindings( reinterpret_cast( base::GetFunctionPointerFromNativeLibrary(library, "glXGetProcAddress")); - -#ifndef QT_NO_OPENGL if (!get_proc_address) { // glx handle not loaded, fallback to qpa - if (QOpenGLContext *context = qt_gl_global_share_context()) { - get_proc_address = reinterpret_cast( - context->getProcAddress("glXGetProcAddress")); - } + QFunctionPointer address = GLContextHelper::getGlXGetProcAddress(); + get_proc_address = reinterpret_cast(address); } -#endif + if (!get_proc_address) { LOG(ERROR) << "glxGetProcAddress not found."; base::UnloadNativeLibrary(library); -- cgit v1.2.3 From 5b72ec04f8da8d8f7f6988d6fdb49c9df9d069ee Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Fri, 12 Oct 2018 15:55:13 +0200 Subject: Leave the decision of including RTTI information to the compiler This change removes the Chromium default of stripping RTTI information from our own cpp files in QtWebEngineCore. This means RTTI information will be emitted based on the compiler's defaults, which follows the same principle as qtbase, which does not explicitly include or exclude the information. A user can still override this by adding CONFIG+=rtti (or rtti_off), which will propagate correctly to GN (but this only really applies to Windows). DLL size difference on a debug build is only 78KiloBytes. Usecase is that RTTI info is currently required by PySide2 for marshalling various QObjects to and from Python, and identifying dynamic types by means of C++'s typeid(). Change-Id: Idb9dacbd1760dbf5b29736b2f2c731b9f6514885 Fixes: PYSIDE-819 Reviewed-by: Qt CI Bot Reviewed-by: Allan Sandfeld Jensen --- mkspecs/features/gn_generator.prf | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mkspecs/features/gn_generator.prf b/mkspecs/features/gn_generator.prf index 88f64fa91..c1399a453 100644 --- a/mkspecs/features/gn_generator.prf +++ b/mkspecs/features/gn_generator.prf @@ -208,6 +208,18 @@ GN_CONTENTS += " if (!defined(deps)) {"\ GN_CONTENTS += " ]" } +# Remove the default no_rtti config for our own cpp files, thus leaving the decision +# to the compiler's defaults. This is consistent with how qtbase does it. +# Unless the user explicitly configured Qt with a different RTTI setting. +# Windows only for now, because macOS (and presumably Linux) does not support +# partial rtti info (e.g. rtti info present for derived class, but not base class), and the +# qtbase rtti feature affects only Windows. +win32 { + GN_CONTENTS += " configs -= [\"//build/config/compiler:no_rtti\"]" + CONFIG(rtti_off): GN_CONTENTS += " configs += [\"//build/config/compiler:no_rtti\"]" + CONFIG(rtti): GN_CONTENTS += " configs += [\"//build/config/compiler:rtti\"]" +} + GN_CONTENTS += " if (moc_source_h_files != []) {" GN_CONTENTS += " deps += [" GN_CONTENTS += " \":generate_h_mocs\"," -- cgit v1.2.3 From 59b71595b5205a33051057784ed6a69ad33b8650 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 9 Nov 2018 10:07:34 +0100 Subject: Add missing classname to qmldirs Only really needed for static builds though Change-Id: Ib196301ed2b0c4b94c7a8d86740b2a19b77e3eb5 Reviewed-by: Kai Koehne --- src/webengine/plugin/qmldir | 1 + src/webengine/plugin/testsupport/qmldir | 1 + 2 files changed, 2 insertions(+) diff --git a/src/webengine/plugin/qmldir b/src/webengine/plugin/qmldir index e24f55ed9..8970dc9c1 100644 --- a/src/webengine/plugin/qmldir +++ b/src/webengine/plugin/qmldir @@ -1,3 +1,4 @@ module QtWebEngine plugin qtwebengineplugin +classname QtWebEnginePlugin typeinfo plugins.qmltypes diff --git a/src/webengine/plugin/testsupport/qmldir b/src/webengine/plugin/testsupport/qmldir index 588c9d2d4..7fff80251 100644 --- a/src/webengine/plugin/testsupport/qmldir +++ b/src/webengine/plugin/testsupport/qmldir @@ -1,3 +1,4 @@ module QtWebEngine.testsupport plugin qtwebenginetestsupportplugin +classname QtWebEngineTestSupportPlugin typeinfo plugins.qmltypes -- cgit v1.2.3 From 22591c92adae1f9927234437a9b227d4a0c9a790 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 9 Nov 2018 11:23:46 +0100 Subject: Don't set use_system_libpng twice Change-Id: Ie53f14403e09b6453d8bb902b267ac1676933a7f Reviewed-by: Michal Klocek --- src/core/config/linux.pri | 1 - 1 file changed, 1 deletion(-) diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri index eb8bb7bb0..ed7745b89 100644 --- a/src/core/config/linux.pri +++ b/src/core/config/linux.pri @@ -147,7 +147,6 @@ host_build { gn_args += use_system_libpng=true qtConfig(webengine-printing-and-pdf): gn_args += pdfium_use_system_libpng=true } - qtConfig(webengine-system-png): gn_args += use_system_libpng=true qtConfig(webengine-system-jpeg): gn_args += use_system_libjpeg=true qtConfig(webengine-system-freetype): gn_args += use_system_freetype=true qtConfig(webengine-system-harfbuzz): gn_args += use_system_harfbuzz=true -- cgit v1.2.3 From cfe53bce924e40c944850fd0418d53c8ba760dc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCri=20Valdmann?= Date: Thu, 18 Oct 2018 11:38:34 +0200 Subject: Set organizationName of all examples to QtExamples Group directories under ~/.cache and ~/.config. Fixes: QTBUG-71669 Change-Id: Ia55aeab8c0e38f58afcbda128f04fd3d85c3df5e Reviewed-by: Michal Klocek --- examples/webengine/customdialogs/main.cpp | 1 + examples/webengine/minimal/doc/src/minimal.qdoc | 12 +++++++++--- examples/webengine/minimal/main.cpp | 1 + examples/webengine/quicknanobrowser/main.cpp | 1 + examples/webengine/recipebrowser/main.cpp | 1 + examples/webenginewidgets/contentmanipulation/main.cpp | 1 + examples/webenginewidgets/cookiebrowser/main.cpp | 1 + examples/webenginewidgets/html2pdf/html2pdf.cpp | 1 + examples/webenginewidgets/maps/main.cpp | 1 + examples/webenginewidgets/markdowneditor/main.cpp | 1 + examples/webenginewidgets/minimal/doc/src/minimal.qdoc | 10 ++++++++-- examples/webenginewidgets/minimal/main.cpp | 1 + examples/webenginewidgets/simplebrowser/main.cpp | 1 + examples/webenginewidgets/spellchecker/main.cpp | 1 + examples/webenginewidgets/stylesheetbrowser/main.cpp | 5 +---- examples/webenginewidgets/videoplayer/main.cpp | 1 + examples/webenginewidgets/webui/main.cpp | 1 + 17 files changed, 32 insertions(+), 9 deletions(-) diff --git a/examples/webengine/customdialogs/main.cpp b/examples/webengine/customdialogs/main.cpp index dea664c59..35f39211d 100644 --- a/examples/webengine/customdialogs/main.cpp +++ b/examples/webengine/customdialogs/main.cpp @@ -65,6 +65,7 @@ typedef QGuiApplication Application; int main(int argc, char *argv[]) { + QCoreApplication::setOrganizationName("QtExamples"); Application app(argc, argv); QtWebEngine::initialize(); diff --git a/examples/webengine/minimal/doc/src/minimal.qdoc b/examples/webengine/minimal/doc/src/minimal.qdoc index e021a81d1..8d12afc7c 100644 --- a/examples/webengine/minimal/doc/src/minimal.qdoc +++ b/examples/webengine/minimal/doc/src/minimal.qdoc @@ -50,9 +50,15 @@ \skipto #include \printto main - In the \c main function we first set the Qt::AA_EnableHighDpiScaling - attribute. This lets the web view automatically scale on high-dpi displays. - Then we instantiate a QGuiApplication object. + In the \c main function we first set the + \l{QCoreApplication::organizationName} property. This affects the locations + where Qt WebEngine stores persistent and cached data (see also + \l{WebEngineProfile::cachePath} and + \l{WebEngineProfile::persistentStoragePath}). + + We also set the Qt::AA_EnableHighDpiScaling attribute. This lets the web + view automatically scale on high-dpi displays. Then we instantiate a + QGuiApplication object. Next, we call \l{QtWebEngine::initialize}, which makes sure that OpenGL contexts can be shared between the main process and the dedicated renderer diff --git a/examples/webengine/minimal/main.cpp b/examples/webengine/minimal/main.cpp index 21a15d19c..9db6ea6aa 100644 --- a/examples/webengine/minimal/main.cpp +++ b/examples/webengine/minimal/main.cpp @@ -54,6 +54,7 @@ int main(int argc, char *argv[]) { + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv); diff --git a/examples/webengine/quicknanobrowser/main.cpp b/examples/webengine/quicknanobrowser/main.cpp index 63725d3e2..18ba7b3e2 100644 --- a/examples/webengine/quicknanobrowser/main.cpp +++ b/examples/webengine/quicknanobrowser/main.cpp @@ -78,6 +78,7 @@ static QUrl startupUrl() int main(int argc, char **argv) { + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); Application app(argc, argv); diff --git a/examples/webengine/recipebrowser/main.cpp b/examples/webengine/recipebrowser/main.cpp index 284f75a72..6e6d69804 100644 --- a/examples/webengine/recipebrowser/main.cpp +++ b/examples/webengine/recipebrowser/main.cpp @@ -56,6 +56,7 @@ int main(int argc, char *argv[]) { + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv); QtWebEngine::initialize(); diff --git a/examples/webenginewidgets/contentmanipulation/main.cpp b/examples/webenginewidgets/contentmanipulation/main.cpp index e816079d2..417b87184 100644 --- a/examples/webenginewidgets/contentmanipulation/main.cpp +++ b/examples/webenginewidgets/contentmanipulation/main.cpp @@ -54,6 +54,7 @@ int main(int argc, char * argv[]) { + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication app(argc, argv); diff --git a/examples/webenginewidgets/cookiebrowser/main.cpp b/examples/webenginewidgets/cookiebrowser/main.cpp index 0ae5433ba..2a7fe6362 100644 --- a/examples/webenginewidgets/cookiebrowser/main.cpp +++ b/examples/webenginewidgets/cookiebrowser/main.cpp @@ -54,6 +54,7 @@ int main(int argc, char *argv[]) { + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication app(argc, argv); MainWindow window(QUrl("http://qt.io")); diff --git a/examples/webenginewidgets/html2pdf/html2pdf.cpp b/examples/webenginewidgets/html2pdf/html2pdf.cpp index 5e293261f..e9fc69534 100644 --- a/examples/webenginewidgets/html2pdf/html2pdf.cpp +++ b/examples/webenginewidgets/html2pdf/html2pdf.cpp @@ -119,6 +119,7 @@ void Html2PdfConverter::pdfPrintingFinished(const QString &filePath, bool succes int main(int argc, char *argv[]) { QApplication app(argc, argv); + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setApplicationName("html2pdf"); QCoreApplication::setApplicationVersion(QT_VERSION_STR); diff --git a/examples/webenginewidgets/maps/main.cpp b/examples/webenginewidgets/maps/main.cpp index cad9c7ea9..cfcfa06d8 100644 --- a/examples/webenginewidgets/maps/main.cpp +++ b/examples/webenginewidgets/maps/main.cpp @@ -53,6 +53,7 @@ int main(int argc, char *argv[]) { + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication app(argc, argv); diff --git a/examples/webenginewidgets/markdowneditor/main.cpp b/examples/webenginewidgets/markdowneditor/main.cpp index de2dee605..b7a7905be 100644 --- a/examples/webenginewidgets/markdowneditor/main.cpp +++ b/examples/webenginewidgets/markdowneditor/main.cpp @@ -56,6 +56,7 @@ int main(int argc, char *argv[]) { + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication a(argc, argv); diff --git a/examples/webenginewidgets/minimal/doc/src/minimal.qdoc b/examples/webenginewidgets/minimal/doc/src/minimal.qdoc index 05ec9ee79..477ff521b 100644 --- a/examples/webenginewidgets/minimal/doc/src/minimal.qdoc +++ b/examples/webenginewidgets/minimal/doc/src/minimal.qdoc @@ -42,8 +42,14 @@ \section1 The Code - In the \c main function we first set the Qt::AA_EnableHighDpiScaling. - This lets the web view automatically scale on high-dpi displays. + In the \c main function we first set the + \l{QCoreApplication::organizationName} property. This affects the locations + where Qt WebEngine stores persistent and cached data (see also + \l{QWebEngineProfile::cachePath} and + \l{QWebEngineProfile::persistentStoragePath}). + + We also set the Qt::AA_EnableHighDpiScaling attribute. This lets the web + view automatically scale on high-dpi displays. Next, we instantiate a QApplication and a QWebEngineView. The URL to load is taken from the command-line in \c commandLineUrlArgument and diff --git a/examples/webenginewidgets/minimal/main.cpp b/examples/webenginewidgets/minimal/main.cpp index f58e4d54a..b31382ad5 100644 --- a/examples/webenginewidgets/minimal/main.cpp +++ b/examples/webenginewidgets/minimal/main.cpp @@ -63,6 +63,7 @@ QUrl commandLineUrlArgument() int main(int argc, char *argv[]) { + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication app(argc, argv); diff --git a/examples/webenginewidgets/simplebrowser/main.cpp b/examples/webenginewidgets/simplebrowser/main.cpp index 96b1eab97..0e8f86c8f 100644 --- a/examples/webenginewidgets/simplebrowser/main.cpp +++ b/examples/webenginewidgets/simplebrowser/main.cpp @@ -66,6 +66,7 @@ QUrl commandLineUrlArgument() int main(int argc, char **argv) { + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); diff --git a/examples/webenginewidgets/spellchecker/main.cpp b/examples/webenginewidgets/spellchecker/main.cpp index 90602f859..c2951fe00 100644 --- a/examples/webenginewidgets/spellchecker/main.cpp +++ b/examples/webenginewidgets/spellchecker/main.cpp @@ -53,6 +53,7 @@ int main(int argc, char *argv[]) { + QCoreApplication::setOrganizationName("QtExamples"); QApplication app(argc, argv); WebView view; diff --git a/examples/webenginewidgets/stylesheetbrowser/main.cpp b/examples/webenginewidgets/stylesheetbrowser/main.cpp index 54fce0ce3..833ea6bb0 100644 --- a/examples/webenginewidgets/stylesheetbrowser/main.cpp +++ b/examples/webenginewidgets/stylesheetbrowser/main.cpp @@ -55,12 +55,9 @@ int main(int argc, char *argv[]) { - QCoreApplication::setOrganizationName("The Qt Company"); - QCoreApplication::setOrganizationDomain("www.qt.io"); - QCoreApplication::setApplicationName("StyleSheet Browser"); - qRegisterMetaTypeStreamOperators("StyleSheet"); + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication a(argc, argv); MainWindow w(QUrl("http://qt.io")); diff --git a/examples/webenginewidgets/videoplayer/main.cpp b/examples/webenginewidgets/videoplayer/main.cpp index cad9c7ea9..cfcfa06d8 100644 --- a/examples/webenginewidgets/videoplayer/main.cpp +++ b/examples/webenginewidgets/videoplayer/main.cpp @@ -53,6 +53,7 @@ int main(int argc, char *argv[]) { + QCoreApplication::setOrganizationName("QtExamples"); QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication app(argc, argv); diff --git a/examples/webenginewidgets/webui/main.cpp b/examples/webenginewidgets/webui/main.cpp index 3e9f61fe4..0f6a3e87e 100644 --- a/examples/webenginewidgets/webui/main.cpp +++ b/examples/webenginewidgets/webui/main.cpp @@ -57,6 +57,7 @@ int main(int argc, char *argv[]) { + QCoreApplication::setOrganizationName("QtExamples"); QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); WebUiHandler::registerUrlScheme(); -- cgit v1.2.3 From 86776c4ee93310837e86b80d6b71f85f12228d9d Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Thu, 8 Nov 2018 13:48:48 +0100 Subject: Fix compiler warnings in content_renderer_client_qt.cpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit content_renderer_client_qt.cpp(216): warning C4138: '*/' found outside of comment content_renderer_client_qt.cpp(455): warning C4189: 'cdm_supports_persistent_license': local variable is initialized but not referenced content_renderer_client_qt.cpp(427): warning C4189: 'supported_codecs': local variable is initialized but not referenced Change-Id: Iee9bf8abe57c61b06b0cc2e059e7232b5b6e3d99 Reviewed-by: Jüri Valdmann --- src/core/renderer/content_renderer_client_qt.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index 3eda3993a..403448b91 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -213,8 +213,9 @@ void ContentRendererClientQt::PrepareErrorPageForHttpStatusError(content::Render errorHtml, errorDescription); } -void ContentRendererClientQt::GetNavigationErrorStringsInternal(content::RenderFrame */*renderFrame*/, const blink::WebURLRequest &failedRequest, const error_page::Error &error, std::string *errorHtml, base::string16 *errorDescription) +void ContentRendererClientQt::GetNavigationErrorStringsInternal(content::RenderFrame *renderFrame, const blink::WebURLRequest &failedRequest, const error_page::Error &error, std::string *errorHtml, base::string16 *errorDescription) { + Q_UNUSED(renderFrame) const bool isPost = QByteArray::fromStdString(failedRequest.HttpMethod().Utf8()) == QByteArrayLiteral("POST"); if (errorHtml) { @@ -424,8 +425,6 @@ static void AddWidevine(std::vector> return; } - media::SupportedCodecs supported_codecs = media::EME_CODEC_NONE; - // Codecs and encryption schemes. auto codecs = GetSupportedCodecs(capability->video_codecs, /*is_secure=*/false); @@ -452,8 +451,6 @@ static void AddWidevine(std::vector> return; } - bool cdm_supports_persistent_license = - base::ContainsValue(capability->session_types, media::CdmSessionType::kPersistentLicense); auto persistent_license_support = media::EmeSessionTypeSupport::NOT_SUPPORTED; auto persistent_usage_record_support = media::EmeSessionTypeSupport::NOT_SUPPORTED; -- cgit v1.2.3 From 5f4e77307b38e2f8155063e249a6c98802b9175f Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 13 Nov 2018 16:08:46 +0100 Subject: Update Chromium MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Includes one security fix from Chrome 70.0.3538.102 Changes: ce79ab59a09c [Backport] Skip deleted object files in POSIX base::debug::StackTrace 573ac8f40079 Disable some DCHECKs to fix printing 9ca99cf7418b Cherry-pick certain macOS V2 sandbox rules into the V1 sandbox rules ba7a77a4fbd5 Stop orphan child processes from staying alive on Windows c04d5ad155f0 Do not make tools for webkit layout tests 071af956fdf4 Make sure we do not use png for host build c2aeb1c6d21c [Backport] Fix for CVE-2018-17478 91432e048e9b Fix assert in V8 mksnapshot when building on macOS Change-Id: I80fce63a87cc15d0bfe26f8b98dcfe5bca05c0e7 Reviewed-by: Michael Brüning --- dist/changes-5.12.0 | 2 +- src/3rdparty | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/changes-5.12.0 b/dist/changes-5.12.0 index 0302c3a8e..557bdf0a9 100644 --- a/dist/changes-5.12.0 +++ b/dist/changes-5.12.0 @@ -24,7 +24,7 @@ Chromium Snapshot ----------------- - Updated the Chromium version to 69.0.3497.128 -- Applied security fixes from Chrome up to version 70.0.3538.67 +- Applied security fixes from Chrome up to version 70.0.3538.102 Core library changes diff --git a/src/3rdparty b/src/3rdparty index d521ec6dd..91432e048 160000 --- a/src/3rdparty +++ b/src/3rdparty @@ -1 +1 @@ -Subproject commit d521ec6dd1ed0114b9c6d32b047fb024420a6cda +Subproject commit 91432e048e9bef479cc61f97d6ab4599121a1990 -- cgit v1.2.3 From 9e4fefbc9a8c23dcd7fa3a58328f39a4bcd35b42 Mon Sep 17 00:00:00 2001 From: Szabolcs David Date: Mon, 1 Oct 2018 16:56:37 +0200 Subject: Add standard icon names to Quick web actions Freedesktop.org has provided an icon naming specification to standardize access to system themes in various desktop environments. Add standard names where it is possible and remove non-standard ones. https://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html Change-Id: Ib0ea2364eb45e05bad6a521b8af7263283893198 Reviewed-by: Allan Sandfeld Jensen --- src/webengine/api/qquickwebengineview.cpp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index 3bc0be196..d9667a643 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -1844,6 +1844,7 @@ QQuickWebEngineAction *QQuickWebEngineView::action(WebAction action) break; case Stop: text = tr("Stop"); + iconName = QStringLiteral("process-stop"); break; case Reload: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Reload); @@ -1851,28 +1852,35 @@ QQuickWebEngineAction *QQuickWebEngineView::action(WebAction action) break; case ReloadAndBypassCache: text = tr("Reload and Bypass Cache"); + iconName = QStringLiteral("view-refresh"); break; case Cut: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Cut); - iconName = QStringLiteral("Cut"); + iconName = QStringLiteral("edit-cut"); break; case Copy: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Copy); + iconName = QStringLiteral("edit-copy"); break; case Paste: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Paste); + iconName = QStringLiteral("edit-paste"); break; case Undo: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Undo); + iconName = QStringLiteral("edit-undo"); break; case Redo: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Redo); + iconName = QStringLiteral("edit-redo"); break; case SelectAll: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::SelectAll); + iconName = QStringLiteral("edit-select-all"); break; case PasteAndMatchStyle: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::PasteAndMatchStyle); + iconName = QStringLiteral("edit-paste"); break; case OpenLinkInThisWindow: text = tr("Open link in this window"); @@ -1909,9 +1917,11 @@ QQuickWebEngineAction *QQuickWebEngineView::action(WebAction action) break; case ToggleMediaPlayPause: text = tr("Toggle Play/Pause"); + iconName = QStringLiteral("media-playback-start"); break; case ToggleMediaMute: text = tr("Toggle Mute"); + iconName = QStringLiteral("audio-volume-muted"); break; case DownloadMediaToDisk: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::DownloadMediaToDisk); @@ -1921,31 +1931,38 @@ QQuickWebEngineAction *QQuickWebEngineView::action(WebAction action) break; case ExitFullScreen: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ExitFullScreen); + iconName = QStringLiteral("view-fullscreen"); break; case RequestClose: text = tr("Close Page"); + iconName = QStringLiteral("window-close"); break; case Unselect: text = tr("Unselect"); + iconName = QStringLiteral("edit-select-none"); break; case SavePage: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::SavePage); + iconName = QStringLiteral("document-save"); break; case ViewSource: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ViewSource); - iconName = QStringLiteral("view-source"); break; case ToggleBold: text = tr("&Bold"); + iconName = QStringLiteral("format-text-bold"); break; case ToggleItalic: text = tr("&Italic"); + iconName = QStringLiteral("format-text-italic"); break; case ToggleUnderline: text = tr("&Underline"); + iconName = QStringLiteral("format-text-underline"); break; case ToggleStrikethrough: text = tr("&Strikethrough"); + iconName = QStringLiteral("format-text-strikethrough"); break; case AlignLeft: text = tr("Align &Left"); @@ -1961,9 +1978,11 @@ QQuickWebEngineAction *QQuickWebEngineView::action(WebAction action) break; case Indent: text = tr("&Indent"); + iconName = QStringLiteral("format-indent-more"); break; case Outdent: text = tr("&Outdent"); + iconName = QStringLiteral("format-indent-less"); break; case InsertOrderedList: text = tr("Insert &Ordered List"); -- cgit v1.2.3 From 8ab92fa543d4c92fc8859fdc4e9d0a7bc5461248 Mon Sep 17 00:00:00 2001 From: Tamas Zakor Date: Tue, 13 Nov 2018 13:52:45 +0100 Subject: Fix typos in html tests Change-Id: I578595a1efa5e9a560b98e7a0a138621fdd04245 Reviewed-by: Allan Sandfeld Jensen --- tests/auto/quick/qmltests/data/directoryupload.html | 3 ++- tests/auto/quick/qmltests/data/favicon.html | 2 +- tests/auto/quick/qmltests/data/multifileupload.html | 3 ++- tests/auto/quick/qmltests/data/singlefileupload.html | 3 ++- tests/auto/quick/qmltests/data/test4.html | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/auto/quick/qmltests/data/directoryupload.html b/tests/auto/quick/qmltests/data/directoryupload.html index 6a6e4580c..adc408ebb 100644 --- a/tests/auto/quick/qmltests/data/directoryupload.html +++ b/tests/auto/quick/qmltests/data/directoryupload.html @@ -1,9 +1,10 @@ - + Directory Upload + diff --git a/tests/auto/quick/qmltests/data/favicon.html b/tests/auto/quick/qmltests/data/favicon.html index 7a81194e4..e1b84a9cc 100644 --- a/tests/auto/quick/qmltests/data/favicon.html +++ b/tests/auto/quick/qmltests/data/favicon.html @@ -1,7 +1,7 @@ - +

It's expected that you see a favicon displayed for this page when you open it as a local file.

The favicon looks like this:

diff --git a/tests/auto/quick/qmltests/data/multifileupload.html b/tests/auto/quick/qmltests/data/multifileupload.html index cc87d8f41..1f788a377 100644 --- a/tests/auto/quick/qmltests/data/multifileupload.html +++ b/tests/auto/quick/qmltests/data/multifileupload.html @@ -1,9 +1,10 @@ - + Mutli-file Upload + diff --git a/tests/auto/quick/qmltests/data/singlefileupload.html b/tests/auto/quick/qmltests/data/singlefileupload.html index 8469aa128..6cfef7ade 100644 --- a/tests/auto/quick/qmltests/data/singlefileupload.html +++ b/tests/auto/quick/qmltests/data/singlefileupload.html @@ -1,9 +1,10 @@ - + Single File Upload + diff --git a/tests/auto/quick/qmltests/data/test4.html b/tests/auto/quick/qmltests/data/test4.html index 142b53668..afda71bc5 100644 --- a/tests/auto/quick/qmltests/data/test4.html +++ b/tests/auto/quick/qmltests/data/test4.html @@ -12,7 +12,7 @@ -

+