summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Negyokru <[email protected]>2025-07-16 13:48:54 +0200
committerMartin Negyokru <[email protected]>2025-07-31 10:42:09 +0000
commit235f23b18388138c342f527f599ec2d2bf786bc6 (patch)
tree00b455495f2b6e4ec7d6b9227d1eb5ce45dd05f9
parent771641a5683cadf71ffd9064f19002b5a878a461 (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.cpp15
-rw-r--r--src/core/browser_main_parts_qt.h16
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