diff options
author | Liang Qi <liang.qi@qt.io> | 2016-12-15 23:06:48 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-12-15 23:06:48 +0100 |
commit | f91225335a0cfab6ce4b37c41af2eb3067f7d11e (patch) | |
tree | 97a8327cec2e85e88d1c8e61cf485a4919bf947d /src | |
parent | 53d586000b6ea002d96da0a2cb30d26a61c46635 (diff) | |
parent | aa6294a3918b5e74b549cb483c83371c896a09cc (diff) |
Merge remote-tracking branch 'origin/5.8.0' into 5.8
Change-Id: I1f2068d52104764a1ac75354cbe7d90f6293ec7d
Diffstat (limited to 'src')
m--------- | src/3rdparty | 0 | ||||
-rw-r--r-- | src/core/clipboard_qt.cpp | 20 | ||||
-rw-r--r-- | src/core/config/linux.pri | 7 | ||||
-rw-r--r-- | src/core/gl_surface_qt.cpp | 16 | ||||
-rw-r--r-- | src/core/gyp_run.pro | 2 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-overview.qdoc | 4 |
6 files changed, 35 insertions, 14 deletions
diff --git a/src/3rdparty b/src/3rdparty -Subproject 93b3786290ac16c95f15c95e2c2f3d8254171ab +Subproject b7d1c5beca83179c4803cf4dc128fc814295db3 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 1850447e7..dc22d14bf 100644 --- a/src/core/gyp_run.pro +++ b/src/core/gyp_run.pro @@ -86,7 +86,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/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. |