diff options
author | Michal Klocek <michal.klocek@qt.io> | 2018-05-30 20:10:14 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2018-05-30 20:10:14 +0000 |
commit | 3bef9a742b48ed9b72877c346b7bdf6bbe03eb8c (patch) | |
tree | 4c76ca67f27bb0fd8024060a0dadf1f6a5310831 /src | |
parent | 6e28e764d7c425f942820f0881231eb83e553e6e (diff) | |
parent | 391a6322511bb189b7d7cc094e34a34ae6495820 (diff) |
Merge "Merge remote-tracking branch 'origin/5.11' into dev" into refs/staging/dev
Diffstat (limited to 'src')
m--------- | src/3rdparty | 0 | ||||
-rw-r--r-- | src/core/web_contents_adapter.cpp | 9 | ||||
-rw-r--r-- | src/core/web_contents_delegate_qt.cpp | 11 | ||||
-rw-r--r-- | src/core/web_contents_delegate_qt.h | 1 | ||||
-rw-r--r-- | src/core/yuv_video_node.cpp | 7 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-features.qdoc | 19 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 5 |
7 files changed, 31 insertions, 21 deletions
diff --git a/src/3rdparty b/src/3rdparty -Subproject de120c712b755a45687b4f3a7fd01bb7d334669 +Subproject 96f354df27c2f3c7c1b221b676c7a1af6b3da37 diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index 1c5eb2535..9a544cb0a 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -989,6 +989,15 @@ void WebContentsAdapter::updateWebPreferences(const content::WebPreferences & we { CHECK_INITIALIZED(); m_webContents->GetRenderViewHost()->UpdateWebkitPreferences(webPreferences); + + // In case of updating preferences during navigation, there might be a pending RVH what will + // be active on successful navigation. + content::RenderFrameHost *pendingRFH = (static_cast<content::WebContentsImpl*>(m_webContents.get()))->GetPendingMainFrame(); + if (pendingRFH) { + content::RenderViewHost *pendingRVH = pendingRFH->GetRenderViewHost(); + Q_ASSERT(pendingRVH); + pendingRVH->UpdateWebkitPreferences(webPreferences); + } } void WebContentsAdapter::download(const QUrl &url, const QString &suggestedFileName, diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp index a8c390c41..8a3757838 100644 --- a/src/core/web_contents_delegate_qt.cpp +++ b/src/core/web_contents_delegate_qt.cpp @@ -526,17 +526,6 @@ void WebContentsDelegateQt::ActivateContents(content::WebContents* contents) contents->Focus(); } -void WebContentsDelegateQt::RenderViewHostChanged(content::RenderViewHost *old_host, content::RenderViewHost *new_host) -{ - Q_ASSERT(new_host); - - // The old RVH can be nullptr if it was shut down. - if (!old_host) - return; - - new_host->UpdateWebkitPreferences(old_host->GetWebkitPreferences()); -} - void WebContentsDelegateQt::RequestToLockMouse(content::WebContents *web_contents, bool user_gesture, bool last_unlocked_by_target) { Q_UNUSED(user_gesture); diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h index 43badf60e..2ef87ccd8 100644 --- a/src/core/web_contents_delegate_qt.h +++ b/src/core/web_contents_delegate_qt.h @@ -139,7 +139,6 @@ public: void WasShown() override; void DidFirstVisuallyNonEmptyPaint() override; void ActivateContents(content::WebContents* contents) override; - void RenderViewHostChanged(content::RenderViewHost *old_host, content::RenderViewHost *new_host) override; void didFailLoad(const QUrl &url, int errorCode, const QString &errorDescription); void overrideWebPreferences(content::WebContents *, content::WebPreferences*); diff --git a/src/core/yuv_video_node.cpp b/src/core/yuv_video_node.cpp index ebde2e005..4a436d952 100644 --- a/src/core/yuv_video_node.cpp +++ b/src/core/yuv_video_node.cpp @@ -56,7 +56,7 @@ namespace QtWebEngineCore { class YUVVideoMaterialShader : public QSGMaterialShader { public: - YUVVideoMaterialShader(const gfx::ColorSpace &colorSpace) : m_colorSpace(colorSpace) + YUVVideoMaterialShader(const gfx::ColorSpace &colorSpace) { static const char *shaderHead = "varying mediump vec2 v_yaTexCoord;\n" @@ -80,9 +80,11 @@ public: " mediump vec3 rgb = DoColorConversion(yuv);\n" " gl_FragColor = vec4(rgb, 1.0) * alpha;\n" "}"; + // Invalid or unspecified color spaces should be treated as REC709. + gfx::ColorSpace src = colorSpace.IsValid() ? colorSpace : gfx::ColorSpace::CreateREC709(); gfx::ColorSpace dst = gfx::ColorSpace::CreateSRGB(); std::unique_ptr<gfx::ColorTransform> transform = - gfx::ColorTransform::NewColorTransform(m_colorSpace, dst, gfx::ColorTransform::Intent::INTENT_PERCEPTUAL); + gfx::ColorTransform::NewColorTransform(src, dst, gfx::ColorTransform::Intent::INTENT_PERCEPTUAL); QByteArray header(shaderHead); if (QOpenGLContext::currentContext()->isOpenGLES()) @@ -143,7 +145,6 @@ protected: m_id_opacity = program()->uniformLocation("alpha"); } - gfx::ColorSpace m_colorSpace; int m_id_matrix; int m_id_yaTexScale; int m_id_uvTexScale; diff --git a/src/webengine/doc/src/qtwebengine-features.qdoc b/src/webengine/doc/src/qtwebengine-features.qdoc index 96b5072ee..d900e551b 100644 --- a/src/webengine/doc/src/qtwebengine-features.qdoc +++ b/src/webengine/doc/src/qtwebengine-features.qdoc @@ -56,12 +56,29 @@ 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 when configuring Qt: + following option to the \c configure tool when configuring Qt: \code -webengine-proprietary-codecs \endcode + For example, the following option could be passed when configuring Qt for + building it at the top level: + + \code + configure -webengine-proprietary-codecs + \endcode + + For more information, see \l{Qt Configure Options}. + + When using qmake to build just the Qt WebEngine module, the following + command can be used (in this example, the Qt WebEngine source code is + located in \c {C:\qt\qtwebengine}): + + \code + qmake C:\qt\qtwebengine -- -webengine-proprietary-codecs + \endcode + \warning When distributing proprietary codec libraries, you must acquire licenses for them. diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 99fbf523f..8badd4f7a 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -617,11 +617,6 @@ void QWebEnginePagePrivate::updateAction(QWebEnginePage::WebAction action) const if (!a) return; - if (!adapter->isInitialized()) { - a->setEnabled(false); - return; - } - bool enabled = true; switch (action) { |