From 9cc97f0c63049a8076476acc89c875c9e240abfb Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Wed, 30 Nov 2016 16:45:54 +0100 Subject: Disable surfaceless context support Using surfaceless EGL surface on imx6 embedded device crashes webengine with backtrace in gpu driver. Since this feature requires a bit more testing on embedded platforms disable support for the 5.7.1 release. Task-number: QTBUG-57290 Change-Id: I3ed5b6fc173d184486316a2c3d899a88d4b1de76 Reviewed-by: Allan Sandfeld Jensen --- src/core/gl_surface_qt.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/gl_surface_qt.cpp b/src/core/gl_surface_qt.cpp index a82143525..e7b45366b 100644 --- a/src/core/gl_surface_qt.cpp +++ b/src/core/gl_surface_qt.cpp @@ -365,7 +365,8 @@ bool GLSurfaceQtEGL::InitializeOneOff() LOG(ERROR) << "eglInitialize failed with error " << GetLastEGLErrorString(); return false; } - +#if 0 +// QTBUG-57290 g_egl_surfaceless_context_supported = ExtensionsContain(g_extensions, "EGL_KHR_surfaceless_context"); if (g_egl_surfaceless_context_supported) { scoped_refptr surface = new GLSurfacelessQtEGL(Size(1, 1)); @@ -382,7 +383,7 @@ bool GLSurfaceQtEGL::InitializeOneOff() context->ReleaseCurrent(surface.get()); } } - +#endif initialized = true; return true; } -- cgit v1.2.3 From 17169c7557bf35821fb66fcb1dd9aea0d01c6592 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Mon, 5 Dec 2016 10:09:09 +0100 Subject: Do not disable thumb instructions on ARMv7+ Chromium in particular the bundled FFMPEG does not build on ARMV7 with thumb disabled. Since thumb should always be available on ARMv7 just ignore possible -marm in QMAKE_CFLAGS in that case. Task-number: QTBUG-57037 Change-Id: I09380839dddb97f64fb35ed749e5af0d002fa5fa Reviewed-by: Michal Klocek --- src/core/gyp_run.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 } -- cgit v1.2.3 From e3941dcdfcea6838243fa6cfdff2433867e502d6 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 1 Dec 2016 11:11:10 +0100 Subject: Update Chromium MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pulls in security patches from the Chrome 54 releases and build fixes. Changes: d16995e Revert "Add FirstVisuallyNonEmptyLayout support for RenderViewObserver" 6f9bddb [Backport] Blink-in-JS should not run micro tasks 69f2204 [Backport] Fix CPDFSDK_PageView cleanup. 544aa01 [Backport] Disallow reentrance of FrameView::updateLifecyclePhasesInternal() 1a33a6c [Backport] Keep top controls visible if SHOW is called right after HIDE. a5c8560 [Backport] Check CORS policy on redirect in TextTrackLoader ce506f1 [Backport] Merge to 2840 "[DevTools] Avoid current_ and pending_ being the same host in RenderFrameDevToolsAgentHost." e38afe4 [Backport] avformat/mov: Fix potential integer overflow in mov_read_keys e1d977f [Backport] Remove leak of internal class 9097a63 [Backport] Merges six security fixes to M54, related to blobs. 2b2c7fc Fix loading of blobs which have a qrc:// origin 4750e41 Reject createImageBitmap promise when the cropRect or resize is too big d8a6a2b Fix include order of texture_manager.h includes. 366d476 Fix use_system_icu builds e6427d6 Add shadow option to gn bootstrap c2366a7 Add option to pass ninja binary path to gn bootstrap c952f54 Fix FORTIFY redefined warnings f22cd00 Fix missing enable_remoting check in tests 52e8806 FIXUP: Fix use_system_icu builds Change-Id: I1c046e16722e0e2dadb431ff0d3f5b7f69edd86f Reviewed-by: Michael Brüning --- dist/changes-5.8.0 | 4 ++++ src/3rdparty | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/dist/changes-5.8.0 b/dist/changes-5.8.0 index abead3c38..292e52c06 100644 --- a/dist/changes-5.8.0 +++ b/dist/changes-5.8.0 @@ -29,6 +29,10 @@ information about a particular change. - Chromium Snapshot: * The Chromium version has been updated to 53.0.2785.148. + * Security fixes from Chromium up to version 54.0.2840.101 + Including: CVE-2016-5181, CVE-2016-5182, CVE-2016-5183, CVE-2016-5185, + CVE-2016-5186, CVE-2016-5187, CVE-2016-5189, CVE-2016-5192, + CVE-2016-5199, CVE-2016-5201. - General: * Spellchecking support has been introduced. diff --git a/src/3rdparty b/src/3rdparty index 93b378629..52e8806fb 160000 --- a/src/3rdparty +++ b/src/3rdparty @@ -1 +1 @@ -Subproject commit 93b3786290ac16c95f15c95e2c2f3d8254171ab6 +Subproject commit 52e8806fb0b4e441603dd5885ab80447cfc66a63 -- cgit v1.2.3 From a3cb920296dcf8847f23ea743f61071fa2866814 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Wed, 7 Dec 2016 08:52:56 +0100 Subject: Exclude more third-party components when taking snapshots These aren't used, and have licenses that might alert users. Change-Id: I4f7d74e38544aa52f9afc9700d7b71cc55f8c1e6 Reviewed-by: Allan Sandfeld Jensen --- tools/scripts/take_snapshot.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/scripts/take_snapshot.py b/tools/scripts/take_snapshot.py index 316805b6d..93575d821 100755 --- a/tools/scripts/take_snapshot.py +++ b/tools/scripts/take_snapshot.py @@ -179,12 +179,14 @@ def isInChromiumBlacklist(file_path): or file_path.startswith('third_party/instrumented_libraries') or file_path.startswith('third_party/jsr-305/src') or file_path.startswith('third_party/junit') + or file_path.startswith('third_party/lcov') or file_path.startswith('third_party/libphonenumber') or file_path.startswith('third_party/libaddressinput/src/testdata') or file_path.startswith('third_party/libaddressinput/src/common/src/test') or file_path.startswith('third_party/libc++') or file_path.startswith('third_party/liblouis') or file_path.startswith('third_party/lighttpd') + or file_path.startswith('third_party/logilab') or file_path.startswith('third_party/markdown') or file_path.startswith('third_party/mingw-w64') or file_path.startswith('third_party/nacl_sdk_binaries') @@ -196,8 +198,11 @@ def isInChromiumBlacklist(file_path): or file_path.startswith('third_party/pefile') or file_path.startswith('third_party/perl') or file_path.startswith('third_party/psyco_win32') + or file_path.startswith('third_party/pylint') or file_path.startswith('third_party/scons-2.0.1') or file_path.startswith('third_party/sfntly/src/cpp/data/fonts') + or file_path.startswith('third_party/speech-dispatcher') + or file_path.startswith('third_party/talloc') or file_path.startswith('third_party/trace-viewer') or file_path.startswith('third_party/undoview') or file_path.startswith('third_party/webgl') -- cgit v1.2.3 From 4cb300d4d3042e9357a1b99c8f18342e4f4b38e5 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Mon, 5 Dec 2016 10:48:24 +0100 Subject: Avoiding accessing null QMimeData from missing clipboards MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not every Linux QPA has the selection clipboard, and will return a null QMimeData when one is requested for Selection. Task-number: QTBUG-57425 Change-Id: Ib63a0c3589df299ce4a2a5e30cbe6efb0727b5f1 Reviewed-by: Michael Brüning --- src/core/clipboard_qt.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) 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::vectorclear(); 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::vectormimeData(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(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(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()); } -- cgit v1.2.3 From 8272b5d1082124858b9e16b9df00c9f1dd5d1efa Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 6 Dec 2016 17:34:22 +0100 Subject: Update Chromium Pulls in the first half of security changes from the Chrome 55.0.2883.75 release. Changes: fb104e7 Add webengine target to root BUILD.gn c9be6be [Backport] [runtime] Better encapsulation of dictionary objects handling in lookup iterator. 04a8a91 [Backport] Merged: Squashed multiple commits. e63cc35 [Backport] Enforce form-action CSP even when form.target is present. 167831d [Backport] Walk up frame tree for srcdoc referrer policies 97d1433 [Backport] M55: Convert from int to float values. 1903e5a [Backport] Limit PDF helper extension to print preview only a71fdf5 [Backport] M55: [pdf] Defer page unloading in JS callback. 0755498 [Backport] Update mix bus carefully for MediaStreamAudioDestinationNode 80d11e3 [Backport] Strengthen bounds check in CWeightTable::Calc. 238654a [Backport] Strengthen bounds check in CWeightTable::Calc * part II bd3626a [Backport] Don't run handleEvent getter in V8EventListener::getListenerFunction if script is forbidden. b5e68b8 [Backport] M55: PDF: Don't follow redirects in the plugin. Change-Id: Iaecaae474bd490a62aef0591549f3dc314166afb Reviewed-by: Alexandru Croitor --- dist/changes-5.8.0 | 6 ++++-- src/3rdparty | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/dist/changes-5.8.0 b/dist/changes-5.8.0 index 292e52c06..67e5710a4 100644 --- a/dist/changes-5.8.0 +++ b/dist/changes-5.8.0 @@ -29,10 +29,12 @@ information about a particular change. - Chromium Snapshot: * The Chromium version has been updated to 53.0.2785.148. - * Security fixes from Chromium up to version 54.0.2840.101 + * Security fixes from Chromium up to version 55.0.2883.75 Including: CVE-2016-5181, CVE-2016-5182, CVE-2016-5183, CVE-2016-5185, CVE-2016-5186, CVE-2016-5187, CVE-2016-5189, CVE-2016-5192, - CVE-2016-5199, CVE-2016-5201. + CVE-2016-5199, CVE-2016-5201, CVE-2016-5206, CVE-2016-5207, + CVE-2016-5210, CVE-2016-5215. CVE-2016-5216, CVE-2016-5217, + CVE-2016-5223, CVE-2016-5225, CVE-2016-9650, CVE-2016-9651 - General: * Spellchecking support has been introduced. diff --git a/src/3rdparty b/src/3rdparty index 52e8806fb..b5e68b836 160000 --- a/src/3rdparty +++ b/src/3rdparty @@ -1 +1 @@ -Subproject commit 52e8806fb0b4e441603dd5885ab80447cfc66a63 +Subproject commit b5e68b836ba1a42267352eeda8243f7584a39aef -- cgit v1.2.3 From 0299ccd3b9cf50817cce430ec3419c9f204b47e2 Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Sun, 4 Dec 2016 19:13:33 +0900 Subject: Use surfaceless context if necessary The support for surfaceless context was disabled in commit 9cc97f0c63049a8076476acc89c875c9e240abfb, which says: > Using surfaceless EGL surface on imx6 embedded device crashes webengine > with backtrace in gpu driver. It was added in commit bfcbdc3ab42880dc37ffa7174af96928ccf25f03, which says: > This patch is a port of commit 4b0cac9dfeebb73f21a11e10e6a2bc7bddbe889b > in Chromium for Qt WebEngine. > The based commit says: > (snip) > > the creation of a dummy offscreen surface. This would also enable > > support for offscreen rendering on platforms (i.e Ozone-Wayland) which > > donot support pbuffer surfaces. > > Some platforms supported by QPA, such as Mesa 3D DRI2 with drm and > wayland backend also don't support pbuffer surfaces. Considering those cases, this change enables surfaceless context only if pseudo surfaceless context made of surface context is not available. Change-Id: I015421ebbbc357d48313e09d4f7a0369bb956521 Reviewed-by: Allan Sandfeld Jensen Reviewed-by: Michal Klocek --- src/core/gl_surface_qt.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/core/gl_surface_qt.cpp b/src/core/gl_surface_qt.cpp index 4385b38cb..e8f77e9ed 100644 --- a/src/core/gl_surface_qt.cpp +++ b/src/core/gl_surface_qt.cpp @@ -367,8 +367,7 @@ bool GLSurfaceQtEGL::InitializeOneOff() LOG(ERROR) << "eglInitialize failed with error " << GetLastEGLErrorString(); return false; } -#if 0 -// QTBUG-57290 + g_egl_surfaceless_context_supported = ExtensionsContain(g_extensions, "EGL_KHR_surfaceless_context"); if (g_egl_surfaceless_context_supported) { scoped_refptr surface = new GLSurfacelessQtEGL(gfx::Size(1, 1)); @@ -385,7 +384,7 @@ bool GLSurfaceQtEGL::InitializeOneOff() context->ReleaseCurrent(surface.get()); } } -#endif + initialized = true; return true; } @@ -615,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: -- cgit v1.2.3 From dc09ed399219ba6dab7368b04f3946131e8089fd Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 8 Dec 2016 11:05:56 +0100 Subject: Update Chromium Pulls in the remainding security updates from the first Chrome 55 release. Changes: f0e73b6d Add mus and catapult project files 804dc2f Merge remote-tracking branch 'origin/upstream-master' into 53-based 461b9af [Backport] Merge: "INPUT element: Do not dispatch events in detachLayoutTree()." to M55 branch. 0119f04 [Backport] Disallow frame swap during frame detach. 7aab930 [Backport] Do not call an event listener on a cloned node in svg 's UA shadow tree e9660fc [Backport] Do not re-create the page view when accessing from Document::removeField. 2ff5d16 [Backport] Merge to 2883 "[DevTools] Move sanitize url to devtools_ui.cc." 482005e [Backport] Null CPDF_CountedObj::m_pObj prior to deletion ba38b74 [Backport] [inspector] added check that context always survives inspected context 02ac973 [Backport] Don't send loading completion callbacks for detaching frames. 803a9bb [Backport] Merged: Avoid using stale InspectedContext pointers b6888f2 [Backport] cc: disable denorm handling before calling into Skia's filter code. 7713975 [Backport] Don't show the pending URL for chrome.tabs API navigations 10e27e9 [Backport] Drop navigations to NavigationEntry with invalid virtual URLs. 75b24b6 [Backport] Use safe math in ValidateCopyBufferSubData. 9b21229 [Backport] Use better fallback URLs when calling AVScanFile(). 15f8e8e [Backport] Make WebViewImpl::textInputInfo update layout before working on ranges. Change-Id: If25235295f4ebf43d15f4c584cfcbecf16f46840 Reviewed-by: Alexandru Croitor --- dist/changes-5.8.0 | 14 +++++++++----- src/3rdparty | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/dist/changes-5.8.0 b/dist/changes-5.8.0 index 67e5710a4..62b380be8 100644 --- a/dist/changes-5.8.0 +++ b/dist/changes-5.8.0 @@ -30,11 +30,15 @@ information about a particular change. - Chromium Snapshot: * The Chromium version has been updated to 53.0.2785.148. * Security fixes from Chromium up to version 55.0.2883.75 - Including: CVE-2016-5181, CVE-2016-5182, CVE-2016-5183, CVE-2016-5185, - CVE-2016-5186, CVE-2016-5187, CVE-2016-5189, CVE-2016-5192, - CVE-2016-5199, CVE-2016-5201, CVE-2016-5206, CVE-2016-5207, - CVE-2016-5210, CVE-2016-5215. CVE-2016-5216, CVE-2016-5217, - CVE-2016-5223, CVE-2016-5225, CVE-2016-9650, CVE-2016-9651 + Including fixes for: CVE-2016-5181, CVE-2016-5182, CVE-2016-5183, + CVE-2016-5185, CVE-2016-5186, CVE-2016-5187, CVE-2016-5189, + CVE-2016-5192, CVE-2016-5199, CVE-2016-5201, CVE-2016-5203, + CVE-2016-5204, CVE-2016-5205, CVE-2016-5206, CVE-2016-5208, + CVE-2016-5207, CVE-2016-5210, CVE-2016-5211, CVE-2016-5212, + CVE-2016-5213, CVE-2016-5214, CVE-2016-5215. CVE-2016-5216, + CVE-2016-5217, CVE-2016-5218, CVE-2016-5219, CVE-2016-5221, + CVE-2016-5222, CVE-2016-5223, CVE-2016-5224, CVE-2016-5225, + CVE-2016-9650 and CVE-2016-9651 - General: * Spellchecking support has been introduced. diff --git a/src/3rdparty b/src/3rdparty index b5e68b836..15f8e8e39 160000 --- a/src/3rdparty +++ b/src/3rdparty @@ -1 +1 @@ -Subproject commit b5e68b836ba1a42267352eeda8243f7584a39aef +Subproject commit 15f8e8e3971c73b9ca8058c7441e5bce8ac42fa9 -- cgit v1.2.3 From fc0f3627044c3488acfc815e2aaba60a0462b940 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 13 Dec 2016 13:45:56 +0100 Subject: Doc: Upgrade the Chromium version in the overview to 53.0.2785.148 Change-Id: I374a72e6cccbe5daafcf0dc442fdc9618d158455 Reviewed-by: Allan Sandfeld Jensen --- src/webengine/doc/src/qtwebengine-overview.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webengine/doc/src/qtwebengine-overview.qdoc b/src/webengine/doc/src/qtwebengine-overview.qdoc index 6995be2fa..b12c2849f 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 -- cgit v1.2.3 From 42cd3124cdef38545fdba5a2de37bfcad2542cad Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 13 Dec 2016 10:55:12 +0100 Subject: Doc: Fix reference to QNetworkProxyFactory::usesSystemConfiguration() ...in the overview. Change-Id: Ie2b5d3c9f2313fa222741a87b978c5d8f5a999f1 Reviewed-by: Allan Sandfeld Jensen --- src/webengine/doc/src/qtwebengine-overview.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webengine/doc/src/qtwebengine-overview.qdoc b/src/webengine/doc/src/qtwebengine-overview.qdoc index b12c2849f..c3d737384 100644 --- a/src/webengine/doc/src/qtwebengine-overview.qdoc +++ b/src/webengine/doc/src/qtwebengine-overview.qdoc @@ -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. -- cgit v1.2.3 From b9d0b6933875005a5b1f17a53e29240faf4a440e Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 14 Dec 2016 15:21:28 +0100 Subject: Fix Linux audio library detection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The configure checks where moved to QtMultimedia which we do not depend on, therefore we need to now duplicate the checks ourselves. Task-number: QTBUG-57620 Change-Id: I6f7319c7e91e3f51baf012c669121389cd6e1360 Reviewed-by: Michael Brüning --- configure.json | 43 +++++++++++++++++++++++++++++- src/core/config/linux.pri | 7 ++--- tools/qmake/config.tests/alsa/alsa.pro | 2 ++ tools/qmake/config.tests/alsa/alsatest.cpp | 37 +++++++++++++++++++++++++ tools/qmake/mkspecs/features/configure.prf | 15 ++++++----- 5 files changed, 93 insertions(+), 11 deletions(-) create mode 100644 tools/qmake/config.tests/alsa/alsa.pro create mode 100644 tools/qmake/config.tests/alsa/alsatest.cpp diff --git a/configure.json b/configure.json index 63abd1dba..22870a0eb 100644 --- a/configure.json +++ b/configure.json @@ -1,14 +1,45 @@ { "module": "webengine", + "testDir": "tools/qmake/config.tests", + "commandline": { "options": { + "alsa": "boolean", "proprietary-codecs": "boolean", + "pulseaudio": "boolean", "spellchecker": "boolean" } }, + "libraries": { + "alsa": { + "label": "ALSA", + "test": "alsa", + "sources": [ + "-lasound" + ] + }, + "pulseaudio": { + "label": "PulseAudio >= 0.9.10", + "sources": [ + { "type": "pkgConfig", "args": "libpulse >= 0.9.10 libpulse-mainloop-glib" } + ] + } + }, + "features": { + "alsa": { + "label": "ALSA", + "condition": "config.unix && libs.alsa", + "output": [ "privateFeature" ] + }, + "pulseaudio": { + "label": "PulseAudio", + "autoDetect": "config.unix", + "condition": "libs.pulseaudio", + "output": [ "privateFeature" ] + }, "proprietary-codecs": { "label": "Proprietary Codecs", "autoDetect": false, @@ -27,7 +58,17 @@ "section": "Qt WebEngine", "entries": [ "proprietary-codecs", - "spellchecker" + "spellchecker", + { + "type": "feature", + "args": "alsa", + "condition": "config.unix" + }, + { + "type": "feature", + "args": "pulseaudio", + "condition": "config.unix" + } ] } ] 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/tools/qmake/config.tests/alsa/alsa.pro b/tools/qmake/config.tests/alsa/alsa.pro new file mode 100644 index 000000000..7322b6fb8 --- /dev/null +++ b/tools/qmake/config.tests/alsa/alsa.pro @@ -0,0 +1,2 @@ +SOURCES = alsatest.cpp + diff --git a/tools/qmake/config.tests/alsa/alsatest.cpp b/tools/qmake/config.tests/alsa/alsatest.cpp new file mode 100644 index 000000000..ea511cd21 --- /dev/null +++ b/tools/qmake/config.tests/alsa/alsatest.cpp @@ -0,0 +1,37 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#if SND_LIB_VERSION < 0x1000a // 1.0.10 +#error "Alsa version found too old, require >= 1.0.10" +#endif + +int main(int argc,char **argv) +{ +} + diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf index bb4c56cae..43a5f2757 100644 --- a/tools/qmake/mkspecs/features/configure.prf +++ b/tools/qmake/mkspecs/features/configure.prf @@ -20,13 +20,20 @@ defineTest(runConfigure) { qtCompileTest($$test) } + isQtMinimum(5, 8) { + include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri) + QT_FOR_CONFIG += webengine-private + qtConfig(proprietary-codecs): WEBENGINE_CONFIG += use_proprietary_codecs + qtConfig(spellchecker): WEBENGINE_CONFIG += use_spellchecker + } + linux { QT_FOR_CONFIG += gui-private !config_khr:skipBuild("khronos development headers appear to be missing (mesa/libegl1-mesa-dev)") REQUIRED_PACKAGES = dbus-1 fontconfig !cross_compile: qtConfig(xcb): REQUIRED_PACKAGES += libdrm xcomposite xcursor xi xrandr xscrnsaver xtst - contains(QT_CONFIG, pulseaudio): REQUIRED_PACKAGES += libpulse + qtConfig(pulseaudio): REQUIRED_PACKAGES += libpulse qtConfig(system-png): REQUIRED_PACKAGES += libpng qtConfig(system-harfbuzz) { packagesExist("\'harfbuzz >= 1.2.0\'"): WEBENGINE_CONFIG += use_system_harfbuzz @@ -81,12 +88,6 @@ defineTest(runConfigure) { !cross_compile { WEBENGINE_CONFIG += enable_pdf } - isQtMinimum(5, 8) { - include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri) - QT_FOR_CONFIG += webengine-private - qtConfig(proprietary-codecs): WEBENGINE_CONFIG += use_proprietary_codecs - qtConfig(spellchecker): WEBENGINE_CONFIG += use_spellchecker - } isEmpty(skipBuildReason): { cache(CONFIG, add, $$list(webengine_successfully_configured)) -- cgit v1.2.3 From aa6294a3918b5e74b549cb483c83371c896a09cc Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 14 Dec 2016 15:09:33 +0100 Subject: Update chromium Pulls in an ANGLE build fix Changes: 3205b85 [Backport] Adjust NOT_SHIPPED labels of some README.chromium's a89675a Add TOOLKIT_QT define for use_qt a87668b Avoid clobbering the argument scope for v8_use_external_startup_data b7d1c5b FIXUP: [Backport] Use safe math in ValidateCopyBufferSubData. Change-Id: Ibd17b481c942c6856a4beaf1bd7e3480f5e70691 Reviewed-by: Michal Klocek --- src/3rdparty | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty b/src/3rdparty index 15f8e8e39..b7d1c5bec 160000 --- a/src/3rdparty +++ b/src/3rdparty @@ -1 +1 @@ -Subproject commit 15f8e8e3971c73b9ca8058c7441e5bce8ac42fa9 +Subproject commit b7d1c5beca83179c4803cf4dc128fc814295db3f -- cgit v1.2.3 From a1e1b79157a1b725ef722410b94a01da7d0a8c39 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Mon, 19 Dec 2016 14:50:03 +0100 Subject: Improve WebEngineDownloadItem documentation Change-Id: Ic5a771df8092ee217fffa2b14ccbd7e539f356f1 Reviewed-by: Leena Miettinen --- src/webengine/api/qquickwebenginedownloaditem.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/webengine/api/qquickwebenginedownloaditem.cpp b/src/webengine/api/qquickwebenginedownloaditem.cpp index 8bf319b85..070ba225a 100644 --- a/src/webengine/api/qquickwebenginedownloaditem.cpp +++ b/src/webengine/api/qquickwebenginedownloaditem.cpp @@ -88,7 +88,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) @@ -122,8 +122,6 @@ void QQuickWebEngineDownloadItemPrivate::updateState(QQuickWebEngineDownloadItem \qmlmethod void WebEngineDownloadItem::accept() Accepts the download request, which will start the download. - - \sa WebEngineDownloadItem::cancel() */ void QQuickWebEngineDownloadItem::accept() -- cgit v1.2.3 From b32242eeca3ad1c4f8897c9aa7ee8c04c0d61e58 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Fri, 16 Dec 2016 15:46:22 +0100 Subject: Fix compilation, add getApplicationLocale() method implementation This is workaround to not include web_engine_library_info.h for qtwebengine_sources. Change-Id: Idbc86e8e5281a514199ebcd80af045e11f554362 Reviewed-by: Allan Sandfeld Jensen --- src/core/renderer/print_web_view_helper_delegate_qt.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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(); +} +} -- cgit v1.2.3 From 3473a3435223a77eda7163ffa6647a0035c01fca Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Tue, 8 Nov 2016 12:46:56 +0100 Subject: Warn on wayland if compiled with x11 support, however no xwayland Add a warning message for builds with aura and x11, when run on wayland wihout xwayland support. This will be fixed properly in 55-based. Change-Id: I7482c7989087b5702634aff5d43409ae8728cd94 Reviewed-by: Allan Sandfeld Jensen --- src/core/web_engine_context.cpp | 7 +++++++ 1 file changed, 7 insertions(+) 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. -- cgit v1.2.3 From e2609bcba621110920d847fcfbaf7edec4ae3827 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Tue, 20 Dec 2016 12:03:48 +0100 Subject: Update chromium MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pulls in following chromium changes: 9827840 [Backport] Preventing TURN redirects to loopback addresses. e478888 Remove whitelist for script_exec from .gn e87fa1f Fix target collision for locales repack f61f5b5 Fix build to have spellchecker compilation optional 762a788 Disable compiling mus application and its lib dependency 9ae236c Do not include web_engine_library_info.h 87778ab Remove unused third party components Change-Id: I69afb880d497dc0062c1ffee550bc1e5ba90405c Reviewed-by: Michael Brüning --- src/3rdparty | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty b/src/3rdparty index b7d1c5bec..af5276a40 160000 --- a/src/3rdparty +++ b/src/3rdparty @@ -1 +1 @@ -Subproject commit b7d1c5beca83179c4803cf4dc128fc814295db3f +Subproject commit af5276a40a0c6e45eede1fd929dd8eb927473eca -- cgit v1.2.3