summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2016-12-21 01:13:55 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-12-21 01:15:07 +0100
commitd3dd527c3715188e2708ebcf5189076cbff9b104 (patch)
tree4a5c2a4e34d142c3a0cb690216a0d5df39708242 /src
parent3bb1294bc59320e5699840e14490197d6a77b7aa (diff)
parente2609bcba621110920d847fcfbaf7edec4ae3827 (diff)
Merge branch '5.8' into dev
Conflicts: configure.json Change-Id: I658a02de96b45b382f0f6c383964501b794b5eb6
Diffstat (limited to 'src')
m---------src/3rdparty0
-rw-r--r--src/core/clipboard_qt.cpp20
-rw-r--r--src/core/config/linux.pri7
-rw-r--r--src/core/gl_surface_qt.cpp16
-rw-r--r--src/core/gyp_run.pro2
-rw-r--r--src/core/renderer/print_web_view_helper_delegate_qt.cpp10
-rw-r--r--src/core/web_engine_context.cpp7
-rw-r--r--src/webengine/api/qquickwebenginedownloaditem.cpp4
-rw-r--r--src/webengine/doc/src/qtwebengine-overview.qdoc4
9 files changed, 52 insertions, 18 deletions
diff --git a/src/3rdparty b/src/3rdparty
-Subproject 804dc2f5ec4adf6467357919a5187400d7be7f7
+Subproject af5276a40a0c6e45eede1fd929dd8eb927473ec
diff --git a/src/core/clipboard_qt.cpp b/src/core/clipboard_qt.cpp
index 712ff5703..3f4b2eb17 100644
--- a/src/core/clipboard_qt.cpp
+++ b/src/core/clipboard_qt.cpp
@@ -275,7 +275,7 @@ void ClipboardQt::WriteData(const FormatType& format, const char* data_data, siz
bool ClipboardQt::IsFormatAvailable(const ui::Clipboard::FormatType& format, ui::ClipboardType type) const
{
const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection);
- return mimeData->hasFormat(QString::fromStdString(format.ToString()));
+ return mimeData && mimeData->hasFormat(QString::fromStdString(format.ToString()));
}
void ClipboardQt::Clear(ui::ClipboardType type)
@@ -292,6 +292,8 @@ void ClipboardQt::ReadAvailableTypes(ui::ClipboardType type, std::vector<base::s
types->clear();
const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection);
+ if (!mimeData)
+ return;
if (mimeData->hasImage())
types->push_back(toString16(QStringLiteral("image/png")));
Q_FOREACH (const QString &mimeType, mimeData->formats())
@@ -306,13 +308,15 @@ void ClipboardQt::ReadAvailableTypes(ui::ClipboardType type, std::vector<base::s
void ClipboardQt::ReadText(ui::ClipboardType type, base::string16* result) const
{
const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection);
- *result = toString16(mimeData->text());
+ if (mimeData)
+ *result = toString16(mimeData->text());
}
void ClipboardQt::ReadAsciiText(ui::ClipboardType type, std::string* result) const
{
const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection);
- *result = mimeData->text().toStdString();
+ if (mimeData)
+ *result = mimeData->text().toStdString();
}
void ClipboardQt::ReadHTML(ui::ClipboardType type, base::string16* markup, std::string* src_url, uint32_t* fragment_start, uint32_t* fragment_end) const
@@ -324,6 +328,8 @@ void ClipboardQt::ReadHTML(ui::ClipboardType type, base::string16* markup, std::
*fragment_end = 0;
const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection);
+ if (!mimeData)
+ return;
*markup = toString16(mimeData->html());
*fragment_end = static_cast<uint32_t>(markup->length());
}
@@ -331,6 +337,8 @@ void ClipboardQt::ReadHTML(ui::ClipboardType type, base::string16* markup, std::
void ClipboardQt::ReadRTF(ui::ClipboardType type, std::string* result) const
{
const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection);
+ if (!mimeData)
+ return;
const QByteArray byteArray = mimeData->data(QString::fromLatin1(kMimeTypeRTF));
*result = std::string(byteArray.constData(), byteArray.length());
}
@@ -338,6 +346,8 @@ void ClipboardQt::ReadRTF(ui::ClipboardType type, std::string* result) const
SkBitmap ClipboardQt::ReadImage(ui::ClipboardType type) const
{
const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection);
+ if (!mimeData)
+ return SkBitmap();
QImage image = qvariant_cast<QImage>(mimeData->imageData());
image = image.convertToFormat(QImage::Format_ARGB32);
@@ -354,6 +364,8 @@ SkBitmap ClipboardQt::ReadImage(ui::ClipboardType type) const
void ClipboardQt::ReadCustomData(ui::ClipboardType clipboard_type, const base::string16& type, base::string16* result) const
{
const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(clipboard_type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection);
+ if (!mimeData)
+ return;
const QByteArray customData = mimeData->data(QString::fromLatin1(kMimeTypeWebCustomDataCopy));
ui::ReadCustomDataForType(customData.constData(), customData.size(), type, result);
}
@@ -366,6 +378,8 @@ void ClipboardQt::ReadBookmark(base::string16* title, std::string* url) const
void ClipboardQt::ReadData(const FormatType& format, std::string* result) const
{
const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData();
+ if (!mimeData)
+ return;
const QByteArray byteArray = mimeData->data(QString::fromStdString(format.ToString()));
*result = std::string(byteArray.constData(), byteArray.length());
}
diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
index 83c852f86..59417997a 100644
--- a/src/core/config/linux.pri
+++ b/src/core/config/linux.pri
@@ -1,5 +1,6 @@
include(common.pri)
-QT_FOR_CONFIG += gui-private
+include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri)
+QT_FOR_CONFIG += gui-private webengine-private
# linux_use_bundled_gold currently relies on a hardcoded relative path from chromium/src/out/(Release|Debug)
# Disable it along with the -Wl,--threads flag just in case gold isn't installed on the system.
@@ -41,12 +42,12 @@ qtConfig(system-png): GYP_CONFIG += use_system_libpng=1
qtConfig(system-jpeg): GYP_CONFIG += use_system_libjpeg=1
qtConfig(system-harfbuzz): use?(system_harfbuzz): GYP_CONFIG += use_system_harfbuzz=1
!qtConfig(glib): GYP_CONFIG += use_glib=0
-contains(QT_CONFIG, pulseaudio) {
+qtConfig(pulseaudio) {
GYP_CONFIG += use_pulseaudio=1
} else {
GYP_CONFIG += use_pulseaudio=0
}
-contains(QT_CONFIG, alsa) {
+qtConfig(alsa) {
GYP_CONFIG += use_alsa=1
} else {
GYP_CONFIG += use_alsa=0
diff --git a/src/core/gl_surface_qt.cpp b/src/core/gl_surface_qt.cpp
index 74bb32d1f..e8f77e9ed 100644
--- a/src/core/gl_surface_qt.cpp
+++ b/src/core/gl_surface_qt.cpp
@@ -614,13 +614,19 @@ CreateOffscreenGLSurface(const gfx::Size& size)
#endif
}
case kGLImplementationEGLGLES2: {
- if (g_egl_surfaceless_context_supported)
- surface = new GLSurfacelessQtEGL(size);
- else
- surface = new GLSurfaceQtEGL(size);
-
+ surface = new GLSurfaceQtEGL(size);
if (surface->Initialize())
return surface;
+
+ // Surfaceless context will be used ONLY if pseudo surfaceless context
+ // is not available since some implementations of surfaceless context
+ // have problems. (e.g. QTBUG-57290)
+ if (g_egl_surfaceless_context_supported) {
+ surface = new GLSurfacelessQtEGL(size);
+ if (surface->Initialize())
+ return surface;
+ }
+
break;
}
default:
diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro
index 7ab8cbb13..c583845e9 100644
--- a/src/core/gyp_run.pro
+++ b/src/core/gyp_run.pro
@@ -91,7 +91,7 @@ contains(QT_ARCH, "arm") {
!lessThan(MARMV, 7): GYP_CONFIG += arm_neon_optional=1
}
- contains(QMAKE_CFLAGS, "-marm"): GYP_CONFIG += arm_thumb=0
+ if(isEmpty(MARMV)|lessThan(MARMV, 7)):contains(QMAKE_CFLAGS, "-marm"): GYP_CONFIG += arm_thumb=0
contains(QMAKE_CFLAGS, "-mthumb"): GYP_CONFIG += arm_thumb=1
}
diff --git a/src/core/renderer/print_web_view_helper_delegate_qt.cpp b/src/core/renderer/print_web_view_helper_delegate_qt.cpp
index 6d74685fe..872ab1c9a 100644
--- a/src/core/renderer/print_web_view_helper_delegate_qt.cpp
+++ b/src/core/renderer/print_web_view_helper_delegate_qt.cpp
@@ -39,8 +39,8 @@
// found in the LICENSE file.
#include "print_web_view_helper_delegate_qt.h"
-
#include "third_party/WebKit/public/web/WebElement.h"
+#include "web_engine_library_info.h"
namespace QtWebEngineCore {
PrintWebViewHelperDelegateQt::~PrintWebViewHelperDelegateQt()
@@ -70,3 +70,11 @@ bool PrintWebViewHelperDelegateQt::OverridePrint(blink::WebLocalFrame* frame)
}
}
+
+namespace printing {
+// std::string PrintingContextDelegate::GetAppLocale()
+std::string getApplicationLocale()
+{
+ return WebEngineLibraryInfo::getApplicationLocale();
+}
+}
diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp
index 152859bee..b88f6308f 100644
--- a/src/core/web_engine_context.cpp
+++ b/src/core/web_engine_context.cpp
@@ -249,6 +249,13 @@ WebEngineContext::WebEngineContext()
, m_browserRunner(content::BrowserMainRunner::Create())
, m_globalQObject(new QObject())
{
+#if defined(USE_X11)
+ QString platform = qApp->platformName();
+ if (platform != QLatin1String("xcb")) {
+ qWarning("WebEngine compiled with X11 support, however qpa backend is not xcb. "
+ "This may fail.");
+ }
+#endif
#ifdef Q_OS_LINUX
// Call qputenv before BrowserMainRunnerImpl::Initialize is called.
diff --git a/src/webengine/api/qquickwebenginedownloaditem.cpp b/src/webengine/api/qquickwebenginedownloaditem.cpp
index 8a6bd0407..520839880 100644
--- a/src/webengine/api/qquickwebenginedownloaditem.cpp
+++ b/src/webengine/api/qquickwebenginedownloaditem.cpp
@@ -122,7 +122,7 @@ QQuickWebEngineDownloadItemPrivate::~QQuickWebEngineDownloadItemPrivate()
Stores the state of a download to be used to manage requested downloads.
By default, the download is rejected unless the user explicitly accepts it with
- WebEngineDownloadItem::accept().
+ accept().
*/
void QQuickWebEngineDownloadItemPrivate::update(const BrowserContextAdapterClient::DownloadItemInfo &info)
@@ -161,8 +161,6 @@ void QQuickWebEngineDownloadItemPrivate::updateState(QQuickWebEngineDownloadItem
\qmlmethod void WebEngineDownloadItem::accept()
Accepts the download request, which will start the download.
-
- \sa WebEngineDownloadItem::cancel()
*/
void QQuickWebEngineDownloadItem::accept()
diff --git a/src/webengine/doc/src/qtwebengine-overview.qdoc b/src/webengine/doc/src/qtwebengine-overview.qdoc
index 6995be2fa..c3d737384 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 49.0.2623.111, with
+ This version of Qt WebEngine is based on Chromium version 53.0.2785.148, with
additional security fixes from newer versions.
\section2 Qt WebEngine Process
@@ -199,7 +199,7 @@
Qt WebEngine uses the proxy settings from \l{Qt Network}. If
QNetworkProxy::applicationProxy is set, it will also be used for Qt WebEngine, and if
- QNetworkProxy::usesSystemConfiguration() is enabled, the proxy settings are automatically
+ QNetworkProxyFactory::usesSystemConfiguration() is enabled, the proxy settings are automatically
retrieved from the system. Settings from an installed QNetworkProxyFactory will be ignored
though.