summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-05-31 11:27:38 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-05-31 11:27:51 +0200
commitf9e951d0946fe0fcd51e9015108f92c46ecc8138 (patch)
treea003c9ccf4b70654fe480c86096dac6c93a9ce07
parent9da1716d05770f6deb3af654f28024234d711eb7 (diff)
parent96df24618fbbc0e06a24e93b7e9aefb0f923f4af (diff)
Merge remote-tracking branch 'origin/5.7.0' into 5.7
-rw-r--r--dist/changes-5.7.05
-rw-r--r--examples/webenginewidgets/demobrowser/webview.cpp3
-rw-r--r--examples/webenginewidgets/demobrowser/webview.h3
m---------src/3rdparty0
-rw-r--r--src/core/content_client_qt.cpp30
-rw-r--r--src/core/web_contents_adapter.cpp19
-rw-r--r--src/webengine/api/qquickwebenginesettings.cpp2
-rw-r--r--src/webengine/api/qquickwebengineview_p.h1
-rw-r--r--src/webengine/doc/qtwebengine.qdocconf2
-rw-r--r--src/webengine/doc/src/external-resources.qdoc42
-rw-r--r--src/webengine/doc/src/qtwebengine-features.qdoc232
-rw-r--r--src/webengine/doc/src/qtwebengine-index.qdoc1
-rw-r--r--src/webengine/doc/src/qtwebengine-platform-notes.qdoc80
-rw-r--r--src/webenginewidgets/api/qwebenginecertificateerror.cpp4
-rw-r--r--src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc8
-rw-r--r--src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc2
-rw-r--r--tools/qmake/mkspecs/features/configure.prf4
-rw-r--r--tools/qmake/mkspecs/features/gyp_generator.prf2
18 files changed, 340 insertions, 100 deletions
diff --git a/dist/changes-5.7.0 b/dist/changes-5.7.0
index 8b6e302b8..345a6ab9d 100644
--- a/dist/changes-5.7.0
+++ b/dist/changes-5.7.0
@@ -21,7 +21,7 @@ information about a particular change.
- Chromium Snapshot:
* The Chromium version has been updated to 49.0.2623.111.
- * In addition security fixes from Chromium 50 have been merged.
+ * In addition security fixes from Chromium 50 and 51 have been merged.
- Web Features:
* Drag'n'drop is now supported
@@ -29,6 +29,9 @@ information about a particular change.
if the PPAPI Widevine CDM plugin is installed.
* Spellchecking is now available if dictionaries are installed.
+- OS X:
+ * Added 'use_appstore_compliant_code' option to allow compiling WebEngine as Mac App Store compliant.
+
****************************************************************************
* Qt WebEngineQML *
****************************************************************************
diff --git a/examples/webenginewidgets/demobrowser/webview.cpp b/examples/webenginewidgets/demobrowser/webview.cpp
index 633b72bf1..a785ae48b 100644
--- a/examples/webenginewidgets/demobrowser/webview.cpp
+++ b/examples/webenginewidgets/demobrowser/webview.cpp
@@ -349,8 +349,7 @@ void WebView::setPage(WebPage *_page)
connect(page(), SIGNAL(statusBarMessage(QString)),
SLOT(setStatusBarText(QString)));
#endif
- connect(page(), SIGNAL(loadingUrl(QUrl)),
- this, SIGNAL(urlChanged(QUrl)));
+ disconnect(page(), &QWebEnginePage::iconChanged, this, &WebView::iconChanged);
connect(page(), SIGNAL(iconChanged(QIcon)),
this, SLOT(onIconChanged(QIcon)));
connect(page(), &WebPage::featurePermissionRequested, this, &WebView::onFeaturePermissionRequested);
diff --git a/examples/webenginewidgets/demobrowser/webview.h b/examples/webenginewidgets/demobrowser/webview.h
index e3df8f795..8cb502fd1 100644
--- a/examples/webenginewidgets/demobrowser/webview.h
+++ b/examples/webenginewidgets/demobrowser/webview.h
@@ -111,9 +111,6 @@ protected:
void contextMenuEvent(QContextMenuEvent *event);
void wheelEvent(QWheelEvent *event);
-signals:
- void iconChanged(const QIcon &icon);
-
private slots:
void setProgress(int progress);
void loadFinished(bool success);
diff --git a/src/3rdparty b/src/3rdparty
-Subproject 46f522d613bb77600ed3a85580ff84ee9802e21
+Subproject 168cc2b83c53e4e68bf89b331d92da88a99d2bf
diff --git a/src/core/content_client_qt.cpp b/src/core/content_client_qt.cpp
index 8a5dde70f..0418873be 100644
--- a/src/core/content_client_qt.cpp
+++ b/src/core/content_client_qt.cpp
@@ -57,6 +57,18 @@
#include <QLibraryInfo>
#include <QString>
+#if defined(Q_OS_WIN)
+#include <shlobj.h>
+static QString getLocalAppDataDir()
+{
+ QString result;
+ wchar_t path[MAX_PATH];
+ if (SHGetSpecialFolderPath(0, path, CSIDL_LOCAL_APPDATA, FALSE))
+ result = QDir::fromNativeSeparators(QString::fromWCharArray(path));
+ return result;
+}
+#endif
+
#if defined(ENABLE_PLUGINS)
// The plugin logic is based on chrome/common/chrome_content_client.cc:
@@ -199,10 +211,24 @@ void AddPepperWidevine(std::vector<content::PepperPluginInfo>* plugins)
pluginPaths << potentialWidevinePluginPath;
}
}
+#elif defined(Q_OS_WIN)
+ QDir potentialWidevineDir(getLocalAppDataDir() + "/Google/Chrome/User Data/WidevineCDM");
+ if (potentialWidevineDir.exists()) {
+ QFileInfoList widevineVersionDirs = potentialWidevineDir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name | QDir::Reversed);
+ for (int i = 0; i < widevineVersionDirs.size(); ++i) {
+ QString versionDirPath(widevineVersionDirs.at(i).absoluteFilePath());
+#ifdef WIN64
+ QString potentialWidevinePluginPath = versionDirPath + "/_platform_specific/win_x64/" + QString::fromLatin1(kWidevineCdmAdapterFileName);
+#else
+ QString potentialWidevinePluginPath = versionDirPath + "/_platform_specific/win_x86/" + QString::fromLatin1(kWidevineCdmAdapterFileName);
#endif
-#if defined(Q_OS_LINUX)
+ pluginPaths << potentialWidevinePluginPath;
+ }
+ }
+#elif defined(Q_OS_LINUX)
pluginPaths << QStringLiteral("/opt/google/chrome/libwidevinecdmadapter.so") // Google Chrome
- << QStringLiteral("/usr/lib/chromium/libwidevinecdmadapter.so"); // Arch
+ << QStringLiteral("/usr/lib/chromium/libwidevinecdmadapter.so") // Arch
+ << QStringLiteral("/usr/lib64/chromium/libwidevinecdmadapter.so"); // OpenSUSE style
#endif
}
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
index 0ed0b91f9..260efc081 100644
--- a/src/core/web_contents_adapter.cpp
+++ b/src/core/web_contents_adapter.cpp
@@ -70,6 +70,7 @@
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/favicon_status.h"
+#include "content/public/common/content_constants.h"
#include <content/public/common/drop_data.h>
#include "content/public/common/page_state.h"
#include "content/public/common/page_zoom.h"
@@ -517,7 +518,12 @@ void WebContentsAdapter::setContent(const QByteArray &data, const QString &mimeT
urlString.append(",");
urlString.append(encodedData.constData(), encodedData.length());
- content::NavigationController::LoadURLParams params((GURL(urlString)));
+ GURL dataUrlToLoad(urlString);
+ if (dataUrlToLoad.spec().size() > content::kMaxURLChars) {
+ d->adapterClient->loadFinished(false, baseUrl, false, net::ERR_ABORTED);
+ return;
+ }
+ content::NavigationController::LoadURLParams params((dataUrlToLoad));
params.load_type = content::NavigationController::LOAD_TYPE_DATA;
params.base_url_for_data_url = toGurl(baseUrl);
params.virtual_url_for_data_url = baseUrl.isEmpty() ? GURL(url::kAboutBlankURL) : toGurl(baseUrl);
@@ -1114,10 +1120,7 @@ static blink::WebDragOperationsMask toWeb(const Qt::DropActions action)
static void fillDropDataFromMimeData(content::DropData *dropData, const QMimeData *mimeData)
{
- if (mimeData->hasText())
- dropData->text = toNullableString16(mimeData->text());
- if (mimeData->hasHtml())
- dropData->html = toNullableString16(mimeData->html());
+ Q_ASSERT(dropData->filenames.empty());
Q_FOREACH (const QUrl &url, mimeData->urls()) {
if (url.isLocalFile()) {
ui::FileInfo uifi;
@@ -1125,6 +1128,12 @@ static void fillDropDataFromMimeData(content::DropData *dropData, const QMimeDat
dropData->filenames.push_back(uifi);
}
}
+ if (!dropData->filenames.empty())
+ return;
+ if (mimeData->hasHtml())
+ dropData->html = toNullableString16(mimeData->html());
+ else if (mimeData->hasText())
+ dropData->text = toNullableString16(mimeData->text());
}
void WebContentsAdapter::enterDrag(QDragEnterEvent *e, const QPoint &screenPos)
diff --git a/src/webengine/api/qquickwebenginesettings.cpp b/src/webengine/api/qquickwebenginesettings.cpp
index 9096dd604..3fea83166 100644
--- a/src/webengine/api/qquickwebenginesettings.cpp
+++ b/src/webengine/api/qquickwebenginesettings.cpp
@@ -217,7 +217,7 @@ bool QQuickWebEngineSettings::errorPageEnabled() const
Disabled by default.
- \sa {Pepper Plugin API Support}
+ \sa {Pepper Plugin API}
*/
bool QQuickWebEngineSettings::pluginsEnabled() const
{
diff --git a/src/webengine/api/qquickwebengineview_p.h b/src/webengine/api/qquickwebengineview_p.h
index d287b46ca..b72f79f30 100644
--- a/src/webengine/api/qquickwebengineview_p.h
+++ b/src/webengine/api/qquickwebengineview_p.h
@@ -54,6 +54,7 @@
#include <private/qtwebengineglobal_p.h>
#include "qquickwebenginescript_p.h"
#include <QQuickItem>
+#include <QtGui/qcolor.h>
QT_BEGIN_NAMESPACE
diff --git a/src/webengine/doc/qtwebengine.qdocconf b/src/webengine/doc/qtwebengine.qdocconf
index baa4a9859..6d946c9c9 100644
--- a/src/webengine/doc/qtwebengine.qdocconf
+++ b/src/webengine/doc/qtwebengine.qdocconf
@@ -4,8 +4,6 @@ project = QtWebEngine
description = Qt WebEngine Reference Documentation
version = $QT_VERSION
-examplesinstallpath = qtwebengine
-
qhp.projects = QtWebEngine
qhp.QtWebEngine.file = qtwebengine.qhp
diff --git a/src/webengine/doc/src/external-resources.qdoc b/src/webengine/doc/src/external-resources.qdoc
index 6356e13bb..c4cfe24af 100644
--- a/src/webengine/doc/src/external-resources.qdoc
+++ b/src/webengine/doc/src/external-resources.qdoc
@@ -47,7 +47,47 @@
/*!
\externalpage http://www.openh264.org/
- \title OpenH264
+ \title OpenH264 Project Homepage
+*/
+
+/*!
+ \externalpage http://html5demos.com/drag
+ \title HTML5 Demos - Drag and Drop
+*/
+
+/*!
+ \externalpage http://html5demos.com/drag-anything
+ \title HTML5 Demos - Simple Drag and Drop
+*/
+
+/*!
+ \externalpage http://html5demos.com/dnd-upload
+ \title HTML5 Demos - Drag and Drop, Automatic Upload
+*/
+
+/*!
+ \externalpage http://html5demos.com/file-api
+ \title HTML5 Demos - File API
+*/
+
+/*!
+ \externalpage http://www.widevine.com/wv_drm.html
+ \title Widevine DRM
+*/
+
+/*!
+ \externalpage http://demo.castlabs.com/
+ \title castLabs
+*/
+
+/*!
+ \externalpage http://ssdemo04.swankmp.net/
+ \title Swank Motion Pictures, Inc.
+*/
+
+/*!
+ \externalpage https://shaka-player-demo.appspot.com/demo/
+ \title Shaka Player
*/
/*
diff --git a/src/webengine/doc/src/qtwebengine-features.qdoc b/src/webengine/doc/src/qtwebengine-features.qdoc
new file mode 100644
index 000000000..f55eab23b
--- /dev/null
+++ b/src/webengine/doc/src/qtwebengine-features.qdoc
@@ -0,0 +1,232 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** 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 http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: http://www.gnu.org/copyleft/fdl.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qtwebengine-features.html
+ \title Qt WebEngine Features
+
+ \brief Summarizes Qt WebEngine features.
+
+ Qt WebEngine supports the following Chromium features:
+
+ \list
+ \li \l{Audio and Video Codecs}
+ \li \l{Chromium DevTools}
+ \li \l{Drag and Drop}
+ \li \l{Fullscreen}
+ \li \l{HTML5 DRM}
+ \li \l{HTML5 Geolocation}
+ \li \l{Pepper Plugin API}
+ \li \l{Print to PDF}
+ \li \l{WebRTC}
+ \endlist
+
+ \section1 Audio and Video Codecs
+
+ Qt WebEngine supports the MPEG-4 Part 14 (MP4) file format only if the
+ required proprietary audio and video codecs, such as H.264 and MPEG layer-3
+ (MP3), have been enabled. Proprietary codecs can be enabled by passing the
+ following option to qmake when building Qt WebEngine:
+
+ \code
+ qmake WEBENGINE_CONFIG+=use_proprietary_codecs
+ \endcode
+
+ \warning When distributing proprietary codec libraries, you must acquire
+ licenses for them.
+
+ \l FFmpeg is a cross-platform solution to record, convert, and stream audio
+ and video. It can be configured for use with several codecs, which rises
+ licensing issues during distribution with the codec libraries. For some
+ codecs, open source implementations, such as \l{OpenH264 Project Homepage}
+ {OpenH264}, are available.
+
+ \section1 Chromium DevTools
+
+ The Chromium DevTools provide the ability to inspect and debug layout and
+ performance issues of any web content.
+
+ This feature can be tested by launching a Qt WebEngine application with the
+ command line option \c {--remote-debugging-port=[your-port]} or by setting
+ the environment variable \c QTWEBENGINE_REMOTE_DEBUGGING, and then using a
+ Chromium based browser (such as \l{WebEngine Demo Browser Example}
+ {Demo Browser} or \l{WebEngine Quick Nano Browser}{Nano Browser}) to connect
+ to \c {http://localhost:[your-port]}.
+
+ For more information, see \l {Qt WebEngine Debugging and Profiling}.
+
+ \section1 Drag and Drop
+
+ Qt WebEngine supports HTML5 drag and drop.
+
+ This feature can be tested by opening an HTML5 drag and drop demo, such as
+ \l{HTML5 Demos - Drag and Drop}, \l{HTML5 Demos - Simple Drag and Drop}, or
+ \l{HTML5 Demos - Drag and Drop, Automatic Upload}, in \l{WebEngine Demo
+ Browser Example}{Demo Browser} or \l{WebEngine Quick Nano Browser}
+ {Nano Browser}.
+
+ Dragging files into the browser is not actually part of HTML5, but it is
+ supported. It can be tested by opening \l{HTML5 Demos - File API}.
+
+ Support for this feature was added in Qt 5.7.0.
+
+ \section1 Fullscreen
+
+ Qt WebEngine supports viewing web content in fullscreen mode. For more
+ information, see \l{WebEngineSettings::fullscreenSupportEnabled}
+ {WebEngineSettings.fullscreenSupportEnabled},
+ \l{WebEngineView::fullScreenRequested}{WebEngineView.fullScreenRequested},
+ QWebEngineSettings::FullScreenSupportEnabled, and
+ QWebEnginePage::fullScreenRequested.
+
+ This feature can be tested by playing a video from YouTube in \l{WebEngine
+ Demo Browser Example}{Demo Browser} or \l{WebEngine Quick Nano Browser}
+ {Nano Browser}, and clicking the full screen icon to go into fullscreen
+ mode.
+
+ Support for this feature was added in Qt 5.6.0.
+
+ \section1 HTML5 DRM
+
+ Qt WebEngine supports viewing DRM protected videos if the \l{Widevine DRM}
+ plugin has been installed.
+
+ The video format most commonly used by DRM services, H.264, requires
+ proprietary audio and video codecs. For more information about enabling the
+ codecs, see \l{Audio and Video Codecs}.
+
+ This feature can be tested by playing a video in \l{WebEngine Demo Browser
+ Example}{Demo Browser} or \l{WebEngine Quick Nano Browser}{Nano Browser}
+ from \l{castLabs}, \l{Swank Motion Pictures, Inc.}, or \l{Shaka Player}.
+
+ Support for this feature was added in Qt 5.7.0.
+
+ \section1 HTML5 Geolocation
+
+ Qt WebEngine supports JavaScript Geolocation API with \l {Qt Location} as a
+ backend. The application has to explicitly allow the feature by using
+ QWebEnginePage::Geolocation or \l{WebEngineView::Feature}
+ {WebEngineView.Feature}.
+
+ This feature can be tested if Qt Location has been built before Qt WebEngine.
+ The \c http://html5demos.com/geo page can be opened in the \l{WebEngine Demo
+ Browser Example}{Demo Browser} and allowed to find the current position of
+ the user. Note that on Windows an external GPS receiver must be connected to
+ the application. For more information, see \l{Qt Positioning}.
+
+ \section1 Pepper Plugin API
+
+ Qt WebEngine supports loading Pepper Plugin API (PPAPI) plugins if
+ WebEngineSettings::pluginsEnabled or QWebEngineSettings::PluginsEnabled
+ is set.
+
+ Except for the Adobe Flash Player plugin, the plugins must be loaded
+ manually using the Chromium command line syntax with the
+ \c --register-pepper-plugins argument. The argument value is a list of
+ entries, separated by commas, that contain the file path and one or several
+ MIME types, separated by semicolons:
+
+ \code
+ <file-path-plugin1>;<mime-type-plugin1>,<file-path-plugin2>;<mime-type1-plugin2>;<mime-type2-plugin2>
+ \endcode
+
+ For example:
+
+ \code
+ --register-pepper-plugins="libppapi_example.so;application/x-ppapi-example"
+ \endcode
+
+ The MIME type is important because it determines which embeds the plugin is
+ used for.
+
+ Support for this feature was added in Qt 5.6.0.
+
+ \section2 Pepper Flash Player Plugin Support
+
+ The Pepper Flash player plugin can be loaded automatically if it is
+ installed in one of the following locations, depending on the platform:
+
+ \list
+ \li Windows
+ \code
+ C:\Windows\SysWOW64\Macromed\Flash\pepflashplayer*.dll
+ C:\Windows\System32\Macromed\Flash\pepflashplayer*.dll
+ \endcode
+ \li OS X
+ \code
+ /Library/Internet Plug-Ins/PepperFlashPlayer/PepperFlashPlayer.plugin
+ \endcode
+ \li Linux
+ \code
+ /usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so
+ /usr/lib/PepperFlash/libpepflashplayer.so
+ /usr/lib64/chromium/PepperFlash/libpepflashplayer.so
+ \endcode
+ \endlist
+
+ You can also load the Pepper Flash player from a specific location by using
+ command line arguments:
+
+ \code
+ --ppapi-flash-path=./libpepflashplayer.so
+ \endcode
+
+ By default, the Flash version is set to \c{11.2.999.999}. You can use the
+ \c{ppapi-flash-version=} argument to set another Flash version in the
+ format \c{major.minor.build.revision}:
+
+ \code
+ --ppapi-flash-version=16.0.0.235
+ \endcode
+
+ This feature can be tested in \l{WebEngine Demo Browser Example}{Demo Browser}
+ or \l{WebEngine Quick Nano Browser}{Nano Browser} if the Adobe Flash PPAPI
+ plugin is installed and plugins are enabled in the browser. To test the
+ feature, the \c https://helpx.adobe.com/flash-player.html page can be opened
+ in the browser.
+
+ \section1 Print to PDF
+
+ Qt WebEngine supports printing a web page to a PDF file. For more
+ information, see QWebEnginePage::printToPdf() and
+ \l{WebEngineView::printToPdf}{WebEngineView.printToPdf}.
+
+ This feature can be tested in \l{WebEngine Demo Browser Example}
+ {Demo Browser} by selecting \uicontrol File > \uicontrol {Print to PDF}.
+
+ Support for this feature was added in Qt 5.7.0.
+
+ \section1 WebRTC
+
+ WebRTC provides browsers with Real-Time Communications (RTC) capabilities
+ via simple APIs. For more information, see \l{WebEngineView::Feature}
+ {WebEngineView.Feature} and QWebEnginePage::Feature.
+
+ This feature can be tested by setting up a webcam or microphone and then
+ opening \c https://test.webrtc.org/ in \l{WebEngine Widgets Simple Browser
+ Example}{Simple Browser} or \l{WebEngine Quick Nano Browser}{Nano Browser}.
+*/
diff --git a/src/webengine/doc/src/qtwebengine-index.qdoc b/src/webengine/doc/src/qtwebengine-index.qdoc
index 4cca431f0..e7314fcf9 100644
--- a/src/webengine/doc/src/qtwebengine-index.qdoc
+++ b/src/webengine/doc/src/qtwebengine-index.qdoc
@@ -46,6 +46,7 @@
\list
\li \l{Qt WebEngine Overview}
+ \li \l{Qt WebEngine Features}
\li \l{Qt WebEngine Platform Notes}
\li \l{Qt WebEngine Licensing}
\li \l{Qt WebEngine Debugging and Profiling}
diff --git a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc
index 4bb449016..f3faac3c1 100644
--- a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc
+++ b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc
@@ -118,84 +118,6 @@
\note Qt WebEngine cannot be built for the 32-bit mode of OS X (using the
\c macx-clang-32 \c mkspec).
- \section1 Pepper Plugin API Support
-
- Qt WebEngine supports loading Pepper Plugin API (PPAPI) plugins if
- WebEngineSettings::pluginsEnabled or QWebEngineSettings::PluginsEnabled
- is set.
-
- Except for the Adobe Flash Player plugin, the plugins must be loaded manually using the
- Chromium command line syntax with the \c --register-pepper-plugins argument.
- The argument value is a list of entries, separated by commas, that contain the file path and
- one or several MIME types, separated by semicolons:
-
- \code
- <file-path-plugin1>;<mime-type-plugin1>,<file-path-plugin2>;<mime-type1-plugin2>;<mime-type2-plugin2>
- \endcode
-
- For example:
-
- \code
- --register-pepper-plugins="libppapi_example.so;application/x-ppapi-example"
- \endcode
-
- The MIME type is important because it determines which embeds the plugin is used for.
-
- \section2 Pepper Flash Player Plugin Support
-
- The Pepper Flash player plugin can be loaded automatically if it is installed in one of the
- following locations, depending on the platform:
-
- \list
- \li Windows
- \code
- C:\Windows\SysWOW64\Macromed\Flash\pepflashplayer*.dll
- C:\Windows\System32\Macromed\Flash\pepflashplayer*.dll
- \endcode
- \li OS X
- \code
- /Library/Internet Plug-Ins/PepperFlashPlayer/PepperFlashPlayer.plugin
- \endcode
- \li Linux
- \code
- /usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so
- /usr/lib/PepperFlash/libpepflashplayer.so
- /usr/lib64/chromium/PepperFlash/libpepflashplayer.so
- \endcode
- \endlist
-
- You can also load the Pepper Flash player from a specific location by using command line
- arguments:
-
- \code
- --ppapi-flash-path=./libpepflashplayer.so
- \endcode
-
- By default, the Flash version is set to \c{11.2.999.999}. You can use the
- \c{ppapi-flash-version=} argument to set another Flash version in the
- in the format \c{major.minor.build.revision}:
-
- \code
- --ppapi-flash-version=16.0.0.235
- \endcode
-
- \section1 Audio and Video Codec Support
-
- Qt WebEngine supports the MPEG-4 Part 14 (MP4) file format only if the required proprietary
- audio and video codecs, such as H.264 and MPEG layer-3 (MP3), have been enabled. Proprietary
- codecs can be enabled by passing the following option to qmake:
-
- \code
- qmake WEBENGINE_CONFIG+=use_proprietary_codecs
- \endcode
-
- \warning When distributing proprietary codec libraries, you must acquire licenses for them.
-
- \l FFmpeg is a cross-platform solution to record, convert, and stream audio and video. It can
- be configured for use with several codecs, which rises licensing issues during distribution
- with the codec libraries. For some codecs, open source implementations, such as \l {OpenH264},
- are available.
-
\section1 Mac App Store Compatibility
By default, Qt WebEngine uses private OS X API, which might cause an application to be
@@ -203,7 +125,7 @@
calls, Qt WebEngine has to be recompiled:
\code
- qmake WEBENGINE_CONFIG += use_appstore_compliant_code
+ qmake WEBENGINE_CONFIG+=use_appstore_compliant_code
\endcode
However, this will cause some behavioral changes, such as:
diff --git a/src/webenginewidgets/api/qwebenginecertificateerror.cpp b/src/webenginewidgets/api/qwebenginecertificateerror.cpp
index ebe3cdbec..289bb7ec0 100644
--- a/src/webenginewidgets/api/qwebenginecertificateerror.cpp
+++ b/src/webenginewidgets/api/qwebenginecertificateerror.cpp
@@ -85,6 +85,10 @@ QWebEngineCertificateError::~QWebEngineCertificateError()
This enum describes the type of certificate error encountered.
+ The values of this enum type match the SSL errors Chromium provides.
+ QSslError::SslError values are not used directly, because the Qt error
+ categories cannot be mapped to the Chromium error categories.
+
\value SslPinnedKeyNotInCertificateChain The certificate did not match the built-in public keys
pinned for the host name.
\value CertificateCommonNameInvalid The certificate's common name did not match the host name.
diff --git a/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc b/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc
index fab4827a0..00e253170 100644
--- a/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc
+++ b/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc
@@ -615,6 +615,10 @@
\warning This function works only for HTML, for other mime types (such as XHTML and SVG)
setContent() should be used instead.
+ \warning The content will be percent encoded before being sent to the renderer via IPC.
+ This may increase its size. The maximum size of the percent encoded content is
+ 2 megabytes minus 30 bytes.
+
\sa toHtml(), setContent(), load()
*/
@@ -630,6 +634,10 @@
\note This method will not affect session or global history for the page.
+ \warning The content will be percent encoded before being sent to the renderer via IPC.
+ This may increase its size. The maximum size of the percent encoded content is
+ 2 megabytes minus 6 bytes plus the length of the mime type string.
+
\sa toHtml(), setHtml()
*/
diff --git a/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc b/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc
index 3e0f4cf82..c2f810b2a 100644
--- a/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc
+++ b/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc
@@ -130,7 +130,7 @@
Enables displaying the built-in error pages of Chromium. Enabled by default.
\value PluginsEnabled
Enables support for Pepper plugins, such as the Flash player. Disabled by default.
- See also \l{Pepper Plugin API Support}. (Added in Qt 5.6)
+ See also \l{Pepper Plugin API}. (Added in Qt 5.6)
\value FullScreenSupportEnabled
Enables fullscreen support in an application. Disabled by default. (Added in Qt 5.6)
\value ScreenCaptureEnabled
diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf
index 679b282b3..8c58b8e3f 100644
--- a/tools/qmake/mkspecs/features/configure.prf
+++ b/tools/qmake/mkspecs/features/configure.prf
@@ -26,7 +26,7 @@ defineTest(runConfigure) {
!config_khr:skipBuild("khronos development headers appear to be missing (mesa/libegl1-mesa-dev)")
REQUIRED_PACKAGES = dbus-1 fontconfig
- contains(QT_CONFIG, xcb): REQUIRED_PACKAGES += libdrm xcomposite xcursor xi xrandr xscrnsaver xtst
+ !cross_compile: contains(QT_CONFIG, xcb): REQUIRED_PACKAGES += libdrm xcomposite xcursor xi xrandr xscrnsaver xtst
contains(QT_CONFIG, pulseaudio): REQUIRED_PACKAGES += libpulse
contains(QT_CONFIG, system-png): REQUIRED_PACKAGES += libpng
contains(QT_CONFIG, system-harfbuzz): REQUIRED_PACKAGES += harfbuzz
@@ -121,7 +121,7 @@ defineTest(finalizeConfigure) {
use?(appstore_compliant_code) {
log("AppStore Compliant ............... Enabled$${EOL}")
} else {
- log("AppStore Compliant ............... Not enabled (Default, enable with WEBENGINE_CONFIG += use_appstore_compliant_code)$${EOL}")
+ log("AppStore Compliant ............... Not enabled (Default, enable with WEBENGINE_CONFIG+=use_appstore_compliant_code)$${EOL}")
}
}
}
diff --git a/tools/qmake/mkspecs/features/gyp_generator.prf b/tools/qmake/mkspecs/features/gyp_generator.prf
index eea11ef09..0ba6de09c 100644
--- a/tools/qmake/mkspecs/features/gyp_generator.prf
+++ b/tools/qmake/mkspecs/features/gyp_generator.prf
@@ -17,7 +17,7 @@ defineReplace(mocAction) {
MOC_COMMAND = $$clean_path($$mocCmdBase())
MOC_COMMAND = $$replace(MOC_COMMAND, $$re_escape("$(DEFINES)"), $$DEFINES_LIST)
MOC_COMMAND = $$replace(MOC_COMMAND, $$re_escape("$(INCPATH)"), $$INCPATH)
- MOC_COMMAND = $$split(MOC_COMMAND, " ")
+ MOC_COMMAND = $$eval($$list($$MOC_COMMAND))
OUTPUT_FILE = $$MOC_GEN_DIR/$${OUTPUT_NAME}
contents = " {" \
" 'action_name':'$$OUTPUT_NAME'," \