From fffd02a307aeae30ceb6184503f8ebbf73812095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Br=C3=BCning?= Date: Fri, 17 May 2019 14:52:17 +0200 Subject: Document PDF viewing feature Documents settings needed to activate the feature that was added in 5.13.0 Fixes: QTBUG-75892 Change-Id: Ia4dbbc2e3c4f5a173d482dcae8ec5a1c31a8d6be Reviewed-by: Leena Miettinen --- src/webengine/doc/src/qtwebengine-features.qdoc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/webengine/doc/src/qtwebengine-features.qdoc b/src/webengine/doc/src/qtwebengine-features.qdoc index 5c6bdda5d..08c189740 100644 --- a/src/webengine/doc/src/qtwebengine-features.qdoc +++ b/src/webengine/doc/src/qtwebengine-features.qdoc @@ -44,6 +44,7 @@ \li \l{HTTP/2 Protocol} \li \l{Native Dialogs} \li \l{Pepper Plugin API} + \li \l{PDF File Viewing} \li \l{Print to PDF} \li \l{Process Models} \li \l{Spellchecker} @@ -319,6 +320,21 @@ feature, the \c https://helpx.adobe.com/flash-player.html page can be opened in the browser. + \section1 PDF File Viewing + + \QWE supports viewing PDF documents by navigating to them. This feature uses the Chromium + extensions API and PDF viewer plugin to display the PDF documents. + It can be tested in \l{WebEngine Widgets Simple Browser Example}{Simple Browser} or + \l{WebEngine Quick Nano Browser}{Nano Browser}. + + Loading plugins needs to be enabled using QWebEngineSettings::PluginsEnabled or + WebEngineSettings::pluginsEnabled in order to use this feature. + + This feature can be turned on (default) or off via the QWebEngineSettings::PdfViewerEnabled or + WebEngineSettings::pdfViewerEnabled setting. + + Support for this feature was added in Qt 5.13.0. + \section1 Print to PDF \QWE supports printing a web page to a PDF file. For more -- cgit v1.2.3 From 546c42e42643a209d893d5291c26c3f8ef7102a3 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Thu, 16 May 2019 21:58:06 +0200 Subject: Fix linker too long argument list For yocto builds linker can get quite long path since all archives are listed as absolute paths. This can end up as "execvp: /bin/sh: Argument list too long" Use rsp files also for archives. Change-Id: I096e2f35ed72b68261bf465e84baddd1f78cd917 Reviewed-by: Allan Sandfeld Jensen --- src/core/core_module.pro | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/core/core_module.pro b/src/core/core_module.pro index e2fa3494d..10169a49e 100644 --- a/src/core/core_module.pro +++ b/src/core/core_module.pro @@ -25,14 +25,17 @@ isEmpty(NINJA_LIBS): error("Missing library files from QtWebEngineCore linking p NINJA_OBJECTS = $$eval($$list($$NINJA_OBJECTS)) # Do manual response file linking for macOS and Linux -RSP_FILE = $$OUT_PWD/$$getConfigDir()/$${TARGET}.rsp -for(object, NINJA_OBJECTS): RSP_CONTENT += $$object -write_file($$RSP_FILE, RSP_CONTENT) -macos:LIBS_PRIVATE += -Wl,-filelist,$$shell_quote($$RSP_FILE) -linux:LIBS_PRIVATE += @$$RSP_FILE +RSP_OBJECT_FILE = $$OUT_PWD/$$getConfigDir()/$${TARGET}_o.rsp +for(object, NINJA_OBJECTS): RSP_O_CONTENT += $$object +write_file($$RSP_OBJECT_FILE, RSP_O_CONTENT) +RSP_ARCHIVE_FILE = $$OUT_PWD/$$getConfigDir()/$${TARGET}_a.rsp +for(archive, NINJA_ARCHIVES): RSP_A_CONTENT += $$archive +write_file($$RSP_ARCHIVE_FILE, RSP_A_CONTENT) +macos:LIBS_PRIVATE += -Wl,-filelist,$$shell_quote($$RSP_OBJECT_FILE) +linux:LIBS_PRIVATE += @$${RSP_OBJECT_FILE} # QTBUG-58710 add main rsp file on windows -win32:QMAKE_LFLAGS += @$$RSP_FILE -linux: LIBS_PRIVATE += -Wl,--start-group $$NINJA_ARCHIVES -Wl,--end-group +win32:QMAKE_LFLAGS += @$${RSP_OBJECT_FILE} +linux: LIBS_PRIVATE += -Wl,--start-group @$${RSP_ARCHIVE_FILE} -Wl,--end-group else: LIBS_PRIVATE += $$NINJA_ARCHIVES LIBS_PRIVATE += $$NINJA_LIB_DIRS $$NINJA_LIBS # GN's LFLAGS doesn't always work across all the Linux configurations we support. -- cgit v1.2.3 From ee12b53eba009e8a3ca12ef77031d9a48c609cb4 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Fri, 17 May 2019 15:49:23 +0200 Subject: Make linker call look great again Fix issues with messed up linker path: * do not use LIBS_PRIVATE on linux at least for passing object and archive responses files. * do not use QT and QT_PRIVATE with same libs, it simply includes libs in LIB and LIB_PRIVATE so doubles linker libs. * remove bogus dependency for gui and core for webengineheaders pseudo module. * remove unused egl config flag Fixes: QTBUG-75832 Task-number: QTBUG-75357 Change-Id: I1720394e636e3f89d546f372b10932dd4ad395fe Reviewed-by: Allan Sandfeld Jensen --- src/core/core_chromium.pri | 2 -- src/core/core_common.pri | 4 ++-- src/core/core_headers.pro | 1 + src/core/core_module.pro | 13 ++++++------- 4 files changed, 9 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/core/core_chromium.pri b/src/core/core_chromium.pri index 4d8db0d1e..d8ef25d8c 100644 --- a/src/core/core_chromium.pri +++ b/src/core/core_chromium.pri @@ -33,8 +33,6 @@ RCC_DIR = $$OUT_PWD/$$getConfigDir()/.rcc # whenever we are cross compiling. qtConfig(webengine-embedded-build): DEFINES += QTWEBENGINE_EMBEDDED_SWITCHES -qtConfig(egl): CONFIG += egl - INCLUDEPATH += $$PWD $$PWD/api clang_cl { diff --git a/src/core/core_common.pri b/src/core/core_common.pri index 8375d89e5..51f5e21b0 100644 --- a/src/core/core_common.pri +++ b/src/core/core_common.pri @@ -2,8 +2,8 @@ # gyp/ninja will take care of the compilation, qmake/make will finish with linking and install. TARGET = QtWebEngineCore -QT += qml quick -QT_PRIVATE += quick-private gui-private core-private webenginecoreheaders-private +QT += qml-private quick-private gui-private core-private +QT_PRIVATE += webenginecoreheaders-private qtConfig(webengine-geolocation): QT += positioning qtConfig(webengine-webchannel): QT += webchannel diff --git a/src/core/core_headers.pro b/src/core/core_headers.pro index 21b5d58c3..cd5352eb7 100644 --- a/src/core/core_headers.pro +++ b/src/core/core_headers.pro @@ -1,5 +1,6 @@ TARGET = QtWebEngineCore CONFIG += no_private_module header_module internal_module no_plist +QT -= core gui MODULE = webenginecoreheaders MODULE_CFG_FILE = qtwebenginecore-config load(qt_module) diff --git a/src/core/core_module.pro b/src/core/core_module.pro index 10169a49e..2bfbc65b9 100644 --- a/src/core/core_module.pro +++ b/src/core/core_module.pro @@ -10,8 +10,6 @@ linking_pri = $$OUT_PWD/$$getConfigDir()/$${TARGET}.pri error("Could not find the linking information that gn should have generated.") } -load(qt_module) - api_library_name = qtwebenginecoreapi$$qtPlatformTargetSuffix() api_library_path = $$OUT_PWD/api/$$getConfigDir() @@ -32,10 +30,10 @@ RSP_ARCHIVE_FILE = $$OUT_PWD/$$getConfigDir()/$${TARGET}_a.rsp for(archive, NINJA_ARCHIVES): RSP_A_CONTENT += $$archive write_file($$RSP_ARCHIVE_FILE, RSP_A_CONTENT) macos:LIBS_PRIVATE += -Wl,-filelist,$$shell_quote($$RSP_OBJECT_FILE) -linux:LIBS_PRIVATE += @$${RSP_OBJECT_FILE} +linux:QMAKE_LFLAGS += @$${RSP_OBJECT_FILE} # QTBUG-58710 add main rsp file on windows win32:QMAKE_LFLAGS += @$${RSP_OBJECT_FILE} -linux: LIBS_PRIVATE += -Wl,--start-group @$${RSP_ARCHIVE_FILE} -Wl,--end-group +linux:QMAKE_LFLAGS += -Wl,--start-group @$${RSP_ARCHIVE_FILE} -Wl,--end-group else: LIBS_PRIVATE += $$NINJA_ARCHIVES LIBS_PRIVATE += $$NINJA_LIB_DIRS $$NINJA_LIBS # GN's LFLAGS doesn't always work across all the Linux configurations we support. @@ -74,7 +72,7 @@ osx { # API library as response file to the linker. QMAKE_LFLAGS += @$${api_library_path}$${QMAKE_DIR_SEP}$${api_library_name}.lib.objects } else { - LIBS_PRIVATE += -Wl,-whole-archive -l$$api_library_name -Wl,-no-whole-archive + QMAKE_LFLAGS += -Wl,-whole-archive -l$$api_library_name -Wl,-no-whole-archive } win32 { @@ -87,8 +85,6 @@ win32 { # and doesn't let Chromium get access to libc symbols through dlsym. CONFIG -= bsymbolic_functions -qtConfig(egl): CONFIG += egl - linux:qtConfig(separate_debug_info): QMAKE_POST_LINK="cd $(DESTDIR) && $(STRIP) --strip-unneeded $(TARGET)" REPACK_DIR = $$OUT_PWD/$$getConfigDir() @@ -157,3 +153,6 @@ OTHER_FILES = \ $$files(../3rdparty/chromium/*.gypi, true) \ $$files(../3rdparty/chromium/*.gn, true) \ $$files(../3rdparty/chromium/*.gni, true) + +load(qt_module) + -- cgit v1.2.3 From 0835dfa3f9b2b20f6f40ee0c2140d5222ed4fff5 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 21 May 2019 12:39:10 +0200 Subject: Update Chromium MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pull in the one security patch from 74.0.3729.157 Submodule src/3rdparty 599fa1c6..00390e99: > Try different versions when creating a CoreProfile context on macOS > Fix crashes due to pa_context_get_server_info Task-number: QTBUG-75496 Change-Id: I9dd05cf17fdf56912168dbaedc238fdd7a5412d8 Reviewed-by: Jüri Valdmann --- src/3rdparty | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/3rdparty b/src/3rdparty index 599fa1c61..00390e99a 160000 --- a/src/3rdparty +++ b/src/3rdparty @@ -1 +1 @@ -Subproject commit 599fa1c61c3ee9d86823033f3d5ab2743cfd78dd +Subproject commit 00390e99a0041585e1b4ae6dcc6ff12a3d64c743 -- cgit v1.2.3 From d2adbbca95ee35f290b6842fde87b40b0f8b947e Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 23 May 2019 10:23:16 +0200 Subject: Update Chromium MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Actually pull in the one security patch from 74.0.3729.157 that was missed in the last commit. Changes: 56c1f8e6c4f [Backport] Fix for security issue 951322 8a28c0bb19f FIXUP: [Backport] Fix for security issue 951322 Task-number: QTBUG-75496 Change-Id: I1eef649169f5a4d1179673413da9f49acd6a20ef Reviewed-by: Jüri Valdmann --- src/3rdparty | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/3rdparty b/src/3rdparty index 00390e99a..8a28c0bb1 160000 --- a/src/3rdparty +++ b/src/3rdparty @@ -1 +1 @@ -Subproject commit 00390e99a0041585e1b4ae6dcc6ff12a3d64c743 +Subproject commit 8a28c0bb19fc8627812cb7c3154408b71ff2bf5e -- cgit v1.2.3