summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-08-31 10:20:42 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-09-07 10:49:06 +0200
commit4444cae6e06c45e8f1f3d8702abde655f6175ba9 (patch)
treef35cce1682c6500ecc8b6bb5ec6ad61d480310d8 /src
parent40d808b53ded6bc091d7f642450c5fb9b09d6131 (diff)
parent7aa99d8d5b0dbf024019e70bf39b7d15796e1080 (diff)
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts: .qmake.conf src/core/compositor/display_gl_output_surface_qsg.cpp src/core/web_engine_context.cpp tests/auto/quick/quick.pro Change-Id: Iaf03434696788c89f5d3b524969513a89cb0a235
Diffstat (limited to 'src')
m---------src/3rdparty0
-rw-r--r--src/buildtools/config/common.pri2
-rw-r--r--src/core/config/common.pri4
-rw-r--r--src/core/media_capture_devices_dispatcher.cpp4
-rw-r--r--src/core/profile_io_data_qt.cpp2
-rw-r--r--src/core/renderer/content_renderer_client_qt.cpp4
-rw-r--r--src/core/web_engine_context.cpp5
-rw-r--r--src/webengine/api/qquickwebenginefaviconprovider_p_p.h2
-rw-r--r--src/webengine/api/qquickwebenginehistory_p.h6
-rw-r--r--src/webengine/api/qquickwebenginenewviewrequest.cpp1
-rw-r--r--src/webengine/api/qquickwebenginenewviewrequest_p.h1
-rw-r--r--src/webengine/api/qquickwebenginetestsupport_p.h6
-rw-r--r--src/webengine/api/qquickwebenginetouchhandleprovider_p_p.h2
-rw-r--r--src/webengine/api/qquickwebengineview.cpp4
-rw-r--r--src/webengine/testsupport/plugin.cpp2
-rw-r--r--src/webenginewidgets/api/qwebenginepage.h2
16 files changed, 30 insertions, 17 deletions
diff --git a/src/3rdparty b/src/3rdparty
-Subproject 0a4240a9c428d71656637ad4486d92bfeb52af9
+Subproject 5596a886555297ecd3a7038764382cd6dadf670
diff --git a/src/buildtools/config/common.pri b/src/buildtools/config/common.pri
index 8aeeb3894..ddcd225cc 100644
--- a/src/buildtools/config/common.pri
+++ b/src/buildtools/config/common.pri
@@ -17,7 +17,7 @@ gn_args += \
enable_resource_whitelist_generation=false \
enable_swiftshader=false \
angle_enable_swiftshader=false \
- enable_web_auth=false \
+ enable_web_auth=true \
enable_web_speech=false \
enable_widevine=true \
has_native_accessibility=false \
diff --git a/src/core/config/common.pri b/src/core/config/common.pri
index c1658ce82..8ffd59e99 100644
--- a/src/core/config/common.pri
+++ b/src/core/config/common.pri
@@ -27,6 +27,10 @@ qtConfig(webengine-webrtc) {
qtConfig(webengine-proprietary-codecs) {
gn_args += proprietary_codecs=true ffmpeg_branding=\"Chrome\"
+# Fix after updating 3rdparty in dev to include the right fix
+# qtConfig(webengine-webrtc) {
+# gn_args += rtc_use_h264=true
+# }
} else {
gn_args += proprietary_codecs=false
}
diff --git a/src/core/media_capture_devices_dispatcher.cpp b/src/core/media_capture_devices_dispatcher.cpp
index 2293c424a..693cfa2e3 100644
--- a/src/core/media_capture_devices_dispatcher.cpp
+++ b/src/core/media_capture_devices_dispatcher.cpp
@@ -173,6 +173,10 @@ WebContentsAdapterClient::MediaRequestFlags mediaRequestFlagsForRequest(const co
request.video_type == MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE)
return {WebContentsAdapterClient::MediaDesktopAudioCapture, WebContentsAdapterClient::MediaDesktopVideoCapture};
+ if (request.audio_type == MediaStreamType::DISPLAY_AUDIO_CAPTURE &&
+ request.video_type == MediaStreamType::DISPLAY_VIDEO_CAPTURE)
+ return {WebContentsAdapterClient::MediaDesktopAudioCapture, WebContentsAdapterClient::MediaDesktopVideoCapture};
+
if (request.video_type == MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE ||
request.video_type == MediaStreamType::DISPLAY_VIDEO_CAPTURE)
return {WebContentsAdapterClient::MediaDesktopVideoCapture};
diff --git a/src/core/profile_io_data_qt.cpp b/src/core/profile_io_data_qt.cpp
index 02912e35e..91adbc57d 100644
--- a/src/core/profile_io_data_qt.cpp
+++ b/src/core/profile_io_data_qt.cpp
@@ -212,7 +212,7 @@ std::unique_ptr<net::ClientCertStore> ProfileIODataQt::CreateClientCertStore()
#if QT_CONFIG(ssl)
return std::unique_ptr<net::ClientCertStore>(new ClientCertOverrideStore(m_clientCertificateStoreData));
#else
- return nullptr;
+ return std::unique_ptr<net::ClientCertStore>(new ClientCertOverrideStore(nullptr));
#endif
}
diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp
index 8c4d02ad7..3e9e8f299 100644
--- a/src/core/renderer/content_renderer_client_qt.cpp
+++ b/src/core/renderer/content_renderer_client_qt.cpp
@@ -622,9 +622,7 @@ void ContentRendererClientQt::WillSendRequest(blink::WebLocalFrame *frame,
bool ContentRendererClientQt::RequiresWebComponentsV0(const GURL &url)
{
Q_UNUSED(url);
- // Google services still presents pages using these features
- // to Chromium 80 based browsers (YouTube in particular).
- return true;
+ return false;
}
} // namespace QtWebEngineCore
diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp
index da0c70af5..2a5666776 100644
--- a/src/core/web_engine_context.cpp
+++ b/src/core/web_engine_context.cpp
@@ -660,6 +660,9 @@ WebEngineContext::WebEngineContext()
parsedCommandLine->AppendSwitch(switches::kEnableThreadedCompositing);
+ // Do not advertise a feature we have removed at compile time
+ parsedCommandLine->AppendSwitch(switches::kDisableSpeechAPI);
+
std::string disableFeatures;
std::string enableFeatures;
// Needed to allow navigations within pages that were set using setHtml(). One example is
@@ -689,8 +692,6 @@ WebEngineContext::WebEngineContext()
// Explicitly tell Chromium about default-on features we do not support
appendToFeatureList(disableFeatures, features::kBackgroundFetch.name);
appendToFeatureList(disableFeatures, features::kSmsReceiver.name);
- appendToFeatureList(disableFeatures, features::kWebAuth.name);
- appendToFeatureList(disableFeatures, features::kWebAuthCable.name);
appendToFeatureList(disableFeatures, features::kWebPayments.name);
appendToFeatureList(disableFeatures, features::kWebUsb.name);
appendToFeatureList(disableFeatures, media::kPictureInPicture.name);
diff --git a/src/webengine/api/qquickwebenginefaviconprovider_p_p.h b/src/webengine/api/qquickwebenginefaviconprovider_p_p.h
index 18b6d61c8..4ccc4ba10 100644
--- a/src/webengine/api/qquickwebenginefaviconprovider_p_p.h
+++ b/src/webengine/api/qquickwebenginefaviconprovider_p_p.h
@@ -72,7 +72,7 @@ public:
void detach(QQuickWebEngineView *);
- virtual QPixmap requestPixmap(const QString &, QSize *, const QSize &);
+ QPixmap requestPixmap(const QString &, QSize *, const QSize &) override;
private:
QQuickWebEngineView *viewForIconUrl(const QUrl &) const;
diff --git a/src/webengine/api/qquickwebenginehistory_p.h b/src/webengine/api/qquickwebenginehistory_p.h
index 5d4783e96..db0be3bad 100644
--- a/src/webengine/api/qquickwebenginehistory_p.h
+++ b/src/webengine/api/qquickwebenginehistory_p.h
@@ -73,9 +73,9 @@ public:
QQuickWebEngineHistoryListModel(QQuickWebEngineHistoryListModelPrivate*);
virtual ~QQuickWebEngineHistoryListModel();
- int rowCount(const QModelIndex& parent = QModelIndex()) const;
- QVariant data(const QModelIndex& index, int role) const;
- QHash<int, QByteArray> roleNames() const;
+ int rowCount(const QModelIndex& parent = QModelIndex()) const override;
+ QVariant data(const QModelIndex& index, int role) const override;
+ QHash<int, QByteArray> roleNames() const override;
void reset();
private:
diff --git a/src/webengine/api/qquickwebenginenewviewrequest.cpp b/src/webengine/api/qquickwebenginenewviewrequest.cpp
index 0af943de8..78ae1622a 100644
--- a/src/webengine/api/qquickwebenginenewviewrequest.cpp
+++ b/src/webengine/api/qquickwebenginenewviewrequest.cpp
@@ -117,5 +117,6 @@ void QQuickWebEngineNewViewRequest::openIn(QQuickWebEngineView *view)
view->d_func()->adoptWebContents(m_adapter.data());
else
view->setUrl(m_requestedUrl);
+ m_isRequestHandled = true;
m_adapter.reset();
}
diff --git a/src/webengine/api/qquickwebenginenewviewrequest_p.h b/src/webengine/api/qquickwebenginenewviewrequest_p.h
index e21f76111..d4686b291 100644
--- a/src/webengine/api/qquickwebenginenewviewrequest_p.h
+++ b/src/webengine/api/qquickwebenginenewviewrequest_p.h
@@ -77,6 +77,7 @@ private:
QQuickWebEngineNewViewRequest();
QQuickWebEngineView::NewViewDestination m_destination;
bool m_isUserInitiated;
+ bool m_isRequestHandled = false;
QSharedPointer<QtWebEngineCore::WebContentsAdapter> m_adapter;
QUrl m_requestedUrl;
friend class QQuickWebEngineView;
diff --git a/src/webengine/api/qquickwebenginetestsupport_p.h b/src/webengine/api/qquickwebenginetestsupport_p.h
index 30e6ee5c4..89a997b29 100644
--- a/src/webengine/api/qquickwebenginetestsupport_p.h
+++ b/src/webengine/api/qquickwebenginetestsupport_p.h
@@ -86,9 +86,9 @@ public:
Q_INVOKABLE void create();
Q_INVOKABLE void release();
- virtual void showInputPanel();
- virtual void hideInputPanel();
- virtual bool isInputPanelVisible() const;
+ void showInputPanel() override;
+ void hideInputPanel() override;
+ bool isInputPanelVisible() const override;
private:
bool m_visible;
diff --git a/src/webengine/api/qquickwebenginetouchhandleprovider_p_p.h b/src/webengine/api/qquickwebenginetouchhandleprovider_p_p.h
index 277436289..5379a5729 100644
--- a/src/webengine/api/qquickwebenginetouchhandleprovider_p_p.h
+++ b/src/webengine/api/qquickwebenginetouchhandleprovider_p_p.h
@@ -65,7 +65,7 @@ public:
~QQuickWebEngineTouchHandleProvider();
void init(const QMap<int, QImage> &images);
- virtual QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize);
+ QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize) override;
private:
QMap<int, QImage> m_touchHandleMap;
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index 8d810ee33..4bf957c3b 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -564,6 +564,7 @@ QQuickWebEngineViewPrivate::adoptNewWindow(QSharedPointer<WebContentsAdapter> ne
const QRect &, const QUrl &targetUrl)
{
Q_Q(QQuickWebEngineView);
+ Q_ASSERT(newWebContents);
QQuickWebEngineNewViewRequest request;
request.m_adapter = newWebContents;
request.m_isUserInitiated = userGesture;
@@ -588,6 +589,9 @@ QQuickWebEngineViewPrivate::adoptNewWindow(QSharedPointer<WebContentsAdapter> ne
Q_EMIT q->newViewRequested(&request);
+ if (!request.m_isRequestHandled)
+ return nullptr;
+
return newWebContents;
}
diff --git a/src/webengine/testsupport/plugin.cpp b/src/webengine/testsupport/plugin.cpp
index 7a1e73d8b..828110207 100644
--- a/src/webengine/testsupport/plugin.cpp
+++ b/src/webengine/testsupport/plugin.cpp
@@ -48,7 +48,7 @@ class QtWebEngineTestSupportPlugin : public QQmlExtensionPlugin
Q_OBJECT
Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
public:
- virtual void registerTypes(const char *uri)
+ void registerTypes(const char *uri) override
{
qWarning("\nWARNING: This project is using the testsupport QML API extensions for QtWebEngine and is therefore tied to a specific QtWebEngine release.\n"
"WARNING: The testsupport API will change from version to version, or even be removed. You have been warned!\n");
diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h
index 055c9ee46..5ac30863f 100644
--- a/src/webenginewidgets/api/qwebenginepage.h
+++ b/src/webenginewidgets/api/qwebenginepage.h
@@ -254,7 +254,7 @@ public:
void replaceMisspelledWord(const QString &replacement);
- virtual bool event(QEvent*);
+ bool event(QEvent*) override;
void findText(const QString &subString, FindFlags options = FindFlags(), const QWebEngineCallback<bool> &resultCallback = QWebEngineCallback<bool>());