summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/gyp_run.pro4
-rw-r--r--src/core/resource_dispatcher_host_delegate_qt.h2
-rw-r--r--src/plugins/qwebengineview/qwebengineview_plugin.cpp4
-rw-r--r--src/plugins/qwebengineview/qwebengineview_plugin.h34
-rw-r--r--src/webengine/api/qquickwebenginesettings.cpp2
-rw-r--r--src/webenginewidgets/api/qwebenginefullscreenrequest.h6
-rw-r--r--src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc3
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.