Remove BrowserMainLoop access from RenderFrameAudioInputStreamFactory and below
In preparation for moving render frame stream factories,
ForwardingAudioStreamFactory and audio stream brokers to IO thread.
Bug: 866440,852880,866442
Change-Id: Ifbea4159ad55507666836bf82d049feb5000a5d8
Reviewed-on: https://chromium-review.googlesource.com/1219627
Commit-Queue: Max Morin <[email protected]>
Reviewed-by: Max Morin <[email protected]>
Reviewed-by: Kinuko Yasuda <[email protected]>
Cr-Commit-Position: refs/heads/master@{#592744}
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 0365df2a..e6e3a6e 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -40,6 +40,7 @@
#include "content/browser/accessibility/accessibility_tree_formatter_blink.h"
#include "content/browser/accessibility/browser_accessibility_state_impl.h"
#include "content/browser/bad_message.h"
+#include "content/browser/browser_main_loop.h"
#include "content/browser/browser_plugin/browser_plugin_embedder.h"
#include "content/browser/browser_plugin/browser_plugin_guest.h"
#include "content/browser/child_process_security_policy_impl.h"
@@ -130,6 +131,7 @@
#include "content/public/common/service_manager_connection.h"
#include "content/public/common/url_utils.h"
#include "content/public/common/web_preferences.h"
+#include "media/base/user_input_monitor.h"
#include "net/base/url_util.h"
#include "net/http/http_cache.h"
#include "net/http/http_transaction_factory.h"
@@ -6471,6 +6473,11 @@
if (!audio_stream_factory_) {
audio_stream_factory_.emplace(
this,
+ // BrowserMainLoop::GetInstance() may be null in unit tests.
+ BrowserMainLoop::GetInstance()
+ ? static_cast<media::UserInputMonitorBase*>(
+ BrowserMainLoop::GetInstance()->user_input_monitor())
+ : nullptr,
content::ServiceManagerConnection::GetForProcess()
->GetConnector()
->Clone(),