This is a simplified summary of what's happening. The clear logging process behaves similarly.
UI: WebrtcLoggingPrivateStartFunction::RunAsync() PostTask() to:
IO WebRtcLoggingHandlerHost::StartLogging(), which eventually leads to:
IO: WebRtcTextLogHandler::LogInitialInfoOnIOThread() PostTask() to:
UI: WebRtcTextLogHandler::EnableBrowserProcessLoggingOnUIThread() which calls:
UI: RenderProcessHostImpl::SetWebRtcLogMessageCallback() which calls:
UI: MediaStreamManager::RegisterNativeLogCallback() which calls:
IO: MediaStreamManager::DoNativeLogCallbackRegistration().
This can probably be changed to start on the UI thread as before, switch to IO thread, and stay on the IO thread all the way down to the end. See https://chromium-review.googlesource.com/c/chromium/src/+/774360
Comment 1 by thestig@chromium.org
, Nov 20 2017Status: Started (was: Untriaged)