diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/gyp_run.pro | 4 | ||||
-rw-r--r-- | src/core/resource_dispatcher_host_delegate_qt.h | 2 | ||||
-rw-r--r-- | src/plugins/qwebengineview/qwebengineview_plugin.cpp | 4 | ||||
-rw-r--r-- | src/plugins/qwebengineview/qwebengineview_plugin.h | 34 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginesettings.cpp | 2 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginefullscreenrequest.h | 6 | ||||
-rw-r--r-- | src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc | 3 |
7 files changed, 48 insertions, 7 deletions
diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro index 885df908c..ee62e5d72 100644 --- a/src/core/gyp_run.pro +++ b/src/core/gyp_run.pro @@ -79,6 +79,10 @@ contains(QT_ARCH, "arm") { contains(MFPU, "neon")|contains(MFPU, "neon-vfpv4"): GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=1 else:!lessThan(MARMV, 7): GYP_CONFIG += arm_neon=0 arm_neon_optional=1 else: GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=0 arm_neon_optional=0 + } else { + # Chromium defaults to arm_neon=1, Qt does not. + GYP_CONFIG += arm_neon=0 + !lessThan(MARMV, 7): GYP_CONFIG += arm_neon_optional=1 } contains(QMAKE_CFLAGS, "-marm"): GYP_CONFIG += arm_thumb=0 diff --git a/src/core/resource_dispatcher_host_delegate_qt.h b/src/core/resource_dispatcher_host_delegate_qt.h index 57eaa3bc5..49e69ecf9 100644 --- a/src/core/resource_dispatcher_host_delegate_qt.h +++ b/src/core/resource_dispatcher_host_delegate_qt.h @@ -73,7 +73,7 @@ private: int m_renderProcessId; int m_renderFrameId; - net::AuthChallengeInfo *m_authInfo; + scoped_refptr<net::AuthChallengeInfo> m_authInfo; // The request that wants login data. // Must only be accessed on the IO thread. diff --git a/src/plugins/qwebengineview/qwebengineview_plugin.cpp b/src/plugins/qwebengineview/qwebengineview_plugin.cpp index 2d331571b..c885816c5 100644 --- a/src/plugins/qwebengineview/qwebengineview_plugin.cpp +++ b/src/plugins/qwebengineview/qwebengineview_plugin.cpp @@ -91,7 +91,9 @@ bool QWebEngineViewPlugin::isContainer() const QWidget *QWebEngineViewPlugin::createWidget(QWidget *parent) { - return new QWebEngineView(parent); + if (parent) + return new QWebEngineView(parent); + return new fake::QWebEngineView; } bool QWebEngineViewPlugin::isInitialized() const diff --git a/src/plugins/qwebengineview/qwebengineview_plugin.h b/src/plugins/qwebengineview/qwebengineview_plugin.h index 8fa94625c..7c6f02e2a 100644 --- a/src/plugins/qwebengineview/qwebengineview_plugin.h +++ b/src/plugins/qwebengineview/qwebengineview_plugin.h @@ -38,9 +38,43 @@ #define QWEBENGINEVIEW_PLUGIN_H #include <QtUiPlugin/QDesignerCustomWidgetInterface> +#include <QtWidgets/QWidget> +#include <QtGui/QIcon> +#include <QtCore/QUrl> QT_BEGIN_NAMESPACE +namespace fake { +// A lightweight "fake" QWebEngineView class that is returned when Qt Designer +// queries the default property values by calling +// QDesignerCustomWidgetInterface::createWidget() with 0 parent, preventing +// crashes during QWebEngine initialization (QTBUG-53984). +// The property list needs to be kept in sync with QWebEngineView. +class QWebEngineView : public QWidget { + Q_OBJECT + Q_PROPERTY(QString title READ title) + Q_PROPERTY(QUrl url READ url WRITE setUrl) // Designable + Q_PROPERTY(QUrl iconUrl READ iconUrl) + Q_PROPERTY(QIcon icon READ icon) + Q_PROPERTY(QString selectedText READ selectedText) + Q_PROPERTY(bool hasSelection READ hasSelection) + Q_PROPERTY(qreal zoomFactor READ zoomFactor WRITE setZoomFactor) // Designable + +public: + explicit QWebEngineView(QWidget *parent = Q_NULLPTR) : QWidget(parent) {} + + QString title() const { return QString(); } + QUrl url() const { return QUrl(); } + void setUrl(const QUrl &) {} + QUrl iconUrl() const { return QUrl(); } + QIcon icon() const { return QIcon(); } + QString selectedText() { return QString(); } + bool hasSelection() { return false; } + qreal zoomFactor() const { return 1; } + void setZoomFactor(qreal) {} +}; +} // namespace fake + class QWebEngineViewPlugin: public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT diff --git a/src/webengine/api/qquickwebenginesettings.cpp b/src/webengine/api/qquickwebenginesettings.cpp index c15115e60..bcb461ffd 100644 --- a/src/webengine/api/qquickwebenginesettings.cpp +++ b/src/webengine/api/qquickwebenginesettings.cpp @@ -96,7 +96,7 @@ bool QQuickWebEngineSettings::javascriptEnabled() const /*! \qmlproperty bool WebEngineSettings::javascriptCanOpenWindows - Allows JavaScript programs to open new windows. + Allows JavaScript programs to open popup windows without user interaction. Enabled by default. */ diff --git a/src/webenginewidgets/api/qwebenginefullscreenrequest.h b/src/webenginewidgets/api/qwebenginefullscreenrequest.h index 26f7247e0..ba14e6f1a 100644 --- a/src/webenginewidgets/api/qwebenginefullscreenrequest.h +++ b/src/webenginewidgets/api/qwebenginefullscreenrequest.h @@ -37,9 +37,9 @@ #ifndef QWEBENGINEFULLSCREENREQUEST_H #define QWEBENGINEFULLSCREENREQUEST_H -#include <qtwebenginewidgetsglobal.h> -#include <qurl.h> -#include <qpointer.h> +#include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h> +#include <QtCore/qurl.h> +#include <QtCore/qpointer.h> QT_BEGIN_NAMESPACE class QWebEnginePage; diff --git a/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc b/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc index fde034c6a..0193f41c9 100644 --- a/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc +++ b/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc @@ -91,7 +91,8 @@ \value JavascriptEnabled Enables the running of JavaScript programs. Enabled by default. \value JavascriptCanOpenWindows - Allows JavaScript programs to open new windows. Enabled by default. + Allows JavaScript programs to open popup windows without user + interaction. Enabled by default. \value JavascriptCanAccessClipboard Allows JavaScript programs to read from and write to the clipboard. Disabled by default. |