diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-11-13 14:16:37 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2018-11-13 16:48:50 +0000 |
commit | 68524d22255c0e2a76b47caec3ef01f3d23d955c (patch) | |
tree | 75169f7619452f9e4d74d60642642295ec07fa73 | |
parent | 22591c92adae1f9927234437a9b227d4a0c9a790 (diff) | |
parent | befa6cc99722ccef6635071cc35463f8429aef29 (diff) |
Merge "Merge remote-tracking branch 'origin/5.12.0' into 5.12" into refs/staging/5.12
4 files changed, 95 insertions, 15 deletions
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. + 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 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 dd183585a..e34bca875 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() @@ -426,9 +425,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 e78a9b119..e23f13d86 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h @@ -102,7 +102,6 @@ protected: private slots: void onWindowPosChanged(); void connectRemoveParentBeforeParentDelete(); - void disconnectRemoveParentBeforeParentDelete(); void removeParentBeforeParentDelete(); private: @@ -116,6 +115,7 @@ private: QPoint m_lastGlobalPos; QList<QMetaObject::Connection> m_windowConnections; QWebEnginePage *m_page = nullptr; + QMetaObject::Connection m_parentDestroyedConnection; }; } // namespace QtWebEngineCore |