diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-08-31 10:20:42 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-09-07 17:13:39 +0200 |
commit | 45793228dc9cad1769b63e32a2d227f8ed0e604c (patch) | |
tree | e090280cd7e9ea83e79066c23766881d3dd242de /src | |
parent | c4a4a38062ba04b0986f53a0e307c60cf97e6fb8 (diff) | |
parent | 4444cae6e06c45e8f1f3d8702abde655f6175ba9 (diff) | |
download | qtwebengine-45793228dc9cad1769b63e32a2d227f8ed0e604c.tar.gz |
Merge "Merge remote-tracking branch 'origin/5.15' into dev"
Diffstat (limited to 'src')
m--------- | src/3rdparty | 0 | ||||
-rw-r--r-- | src/buildtools/config/common.pri | 2 | ||||
-rw-r--r-- | src/core/config/common.pri | 4 | ||||
-rw-r--r-- | src/core/media_capture_devices_dispatcher.cpp | 4 | ||||
-rw-r--r-- | src/core/profile_io_data_qt.cpp | 2 | ||||
-rw-r--r-- | src/core/renderer/content_renderer_client_qt.cpp | 4 | ||||
-rw-r--r-- | src/core/web_engine_context.cpp | 5 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginefaviconprovider_p_p.h | 2 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginehistory_p.h | 6 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginenewviewrequest.cpp | 1 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginenewviewrequest_p.h | 1 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginetestsupport_p.h | 6 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginetouchhandleprovider_p_p.h | 2 | ||||
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 4 | ||||
-rw-r--r-- | src/webengine/testsupport/plugin.cpp | 2 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.h | 2 |
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>()); |