diff options
author | Martin Negyokru <[email protected]> | 2025-07-16 13:48:54 +0200 |
---|---|---|
committer | Martin Negyokru <[email protected]> | 2025-07-31 10:42:09 +0000 |
commit | 235f23b18388138c342f527f599ec2d2bf786bc6 (patch) | |
tree | 00b455495f2b6e4ec7d6b9227d1eb5ce45dd05f9 | |
parent | 771641a5683cadf71ffd9064f19002b5a878a461 (diff) |
Initialize WebRtcEventLogManager at startup
It is needed for webrtcLoggingPrivate.startEventLogging
extension api.
Fixes FATAL:extension_function.cc(416)] Check failed: did_respond() webrtcLoggingPrivate.startEventLogging
crash on google meet.
Pick-to: 6.10
Change-Id: I6bdba290944b1cb1dcb1d3345e02abf90e204774
Reviewed-by: Szabolcs David <[email protected]>
-rw-r--r-- | src/core/browser_main_parts_qt.cpp | 15 | ||||
-rw-r--r-- | src/core/browser_main_parts_qt.h | 16 |
2 files changed, 28 insertions, 3 deletions
diff --git a/src/core/browser_main_parts_qt.cpp b/src/core/browser_main_parts_qt.cpp index ee037d180..cdc5e32ad 100644 --- a/src/core/browser_main_parts_qt.cpp +++ b/src/core/browser_main_parts_qt.cpp @@ -26,7 +26,6 @@ #include "content/public/browser/child_process_security_policy.h" #include "content/public/common/content_features.h" #include "content/public/common/result_codes.h" -#include "extensions/buildflags/buildflags.h" #include "ppapi/buildflags/buildflags.h" #include "select_file_dialog_factory_qt.h" #include "services/service_manager/public/cpp/connector.h" @@ -42,6 +41,10 @@ #include "extensions/extensions_browser_client_qt.h" #include "extensions/extension_system_factory_qt.h" #include "common/extensions/extensions_client_qt.h" + +#if BUILDFLAG(ENABLE_WEBRTC) +#include "chrome/browser/media/webrtc/webrtc_event_log_manager.h" +#endif #endif // BUILDFLAG(ENABLE_EXTENSIONS) #if BUILDFLAG(ENABLE_PLUGINS) @@ -198,6 +201,10 @@ std::unique_ptr<base::MessagePump> messagePumpFactory() #endif } +BrowserMainPartsQt::BrowserMainPartsQt() = default; + +BrowserMainPartsQt::~BrowserMainPartsQt() = default; + int BrowserMainPartsQt::PreEarlyInitialization() { #if BUILDFLAG(ENABLE_EXTENSIONS) @@ -242,6 +249,12 @@ int BrowserMainPartsQt::PreMainMessageLoopRun() content::PluginService *plugin_service = content::PluginService::GetInstance(); plugin_service->SetFilter(extensions::PluginServiceFilterQt::GetInstance()); #endif // BUILDFLAG(ENABLE_PLUGINS) + +#if BUILDFLAG(ENABLE_WEBRTC) + m_webrtcEventLogManager = + webrtc_event_logging::WebRtcEventLogManager::CreateSingletonInstance(); +#endif + #endif // BUILDFLAG(ENABLE_EXTENSIONS) if (base::FeatureList::IsEnabled(features::kWebUsb)) { diff --git a/src/core/browser_main_parts_qt.h b/src/core/browser_main_parts_qt.h index dc7eae9fb..4ab4ed978 100644 --- a/src/core/browser_main_parts_qt.h +++ b/src/core/browser_main_parts_qt.h @@ -6,6 +6,8 @@ #include "content/public/browser/browser_main_parts.h" +#include "extensions/buildflags/buildflags.h" +#include "media/media_buildflags.h" #include "web_usb_detector_qt.h" namespace base { @@ -24,6 +26,12 @@ namespace performance_manager { class PerformanceManagerLifetime; } +#if BUILDFLAG(ENABLE_EXTENSIONS) && BUILDFLAG(ENABLE_WEBRTC) +namespace webrtc_event_logging { +class WebRtcEventLogManager; +} +#endif + namespace QtWebEngineCore { std::unique_ptr<base::MessagePump> messagePumpFactory(); @@ -31,8 +39,8 @@ std::unique_ptr<base::MessagePump> messagePumpFactory(); class BrowserMainPartsQt : public content::BrowserMainParts { public: - BrowserMainPartsQt() = default; - ~BrowserMainPartsQt() override = default; + BrowserMainPartsQt(); + ~BrowserMainPartsQt() override; int PreEarlyInitialization() override; void PreCreateMainMessageLoop() override; @@ -52,6 +60,10 @@ private: #if BUILDFLAG(IS_MAC) std::unique_ptr<device::GeolocationSystemPermissionManager> m_geolocationSystemPermissionManager; #endif + +#if BUILDFLAG(ENABLE_EXTENSIONS) && BUILDFLAG(ENABLE_WEBRTC) + std::unique_ptr<webrtc_event_logging::WebRtcEventLogManager> m_webrtcEventLogManager; +#endif }; } // namespace QtWebEngineCore |