Commit c9518143 authored by Matt Falkenhagen's avatar Matt Falkenhagen Committed by Commit Bot

Convert content/public to {Once,Repeating}Callback for webrtc_log.

This callback can be called multiple times, so make it a
RepeatingCallback. Also pass it by value for functions that
take ownership per guidelines in //docs/callback.md.

Bug: 1007763
Change-Id: Ib15dd0a20357ac58dbe691b3dea263ebf24b0163
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1948364Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Reviewed-by: default avatardanakj <danakj@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#721180}
parent 2074f318
......@@ -526,7 +526,7 @@ void WebRtcTextLogHandler::OnGetNetworkInterfaceList(
// TODO(darin): Change SetLogMessageCallback to run on the UI thread.
auto log_message_callback = base::Bind(
auto log_message_callback = base::BindRepeating(
&ForwardMessageViaTaskRunner, base::SequencedTaskRunnerHandle::Get(),
base::Bind(&WebRtcTextLogHandler::LogMessage,
weak_factory_.GetWeakPtr()));
......
......@@ -1841,7 +1841,7 @@ void MediaStreamManager::UseFakeUIFactoryForTests(
// static
void MediaStreamManager::RegisterNativeLogCallback(
int renderer_host_id,
const base::Callback<void(const std::string&)>& callback) {
base::RepeatingCallback<void(const std::string&)> callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
MediaStreamManager* msm = g_media_stream_manager_tls_ptr.Pointer()->Get();
if (!msm) {
......@@ -1849,7 +1849,7 @@ void MediaStreamManager::RegisterNativeLogCallback(
return;
}
msm->DoNativeLogCallbackRegistration(renderer_host_id, callback);
msm->DoNativeLogCallbackRegistration(renderer_host_id, std::move(callback));
}
// static
......@@ -2147,10 +2147,10 @@ void MediaStreamManager::OnMediaStreamUIWindowId(
void MediaStreamManager::DoNativeLogCallbackRegistration(
int renderer_host_id,
const base::Callback<void(const std::string&)>& callback) {
base::RepeatingCallback<void(const std::string&)> callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
// Re-registering (overwriting) is allowed and happens in some tests.
log_callbacks_[renderer_host_id] = callback;
log_callbacks_[renderer_host_id] = std::move(callback);
}
void MediaStreamManager::DoNativeLogCallbackUnregistration(
......
......@@ -289,7 +289,7 @@ class CONTENT_EXPORT MediaStreamManager
// Called on the IO thread.
static void RegisterNativeLogCallback(
int renderer_host_id,
const base::Callback<void(const std::string&)>& callback);
base::RepeatingCallback<void(const std::string&)> callback);
static void UnregisterNativeLogCallback(int renderer_host_id);
// Generates a hash of a device's unique ID usable by one
......@@ -498,7 +498,7 @@ class CONTENT_EXPORT MediaStreamManager
// Runs on the IO thread and does the actual [un]registration of callbacks.
void DoNativeLogCallbackRegistration(
int renderer_host_id,
const base::Callback<void(const std::string&)>& callback);
base::RepeatingCallback<void(const std::string&)> callback);
void DoNativeLogCallbackUnregistration(int renderer_host_id);
// Callback to handle the reply to a low-level enumeration request.
......@@ -536,7 +536,8 @@ class CONTENT_EXPORT MediaStreamManager
fake_ui_factory_;
// Maps render process hosts to log callbacks. Used on the IO thread.
std::map<int, base::Callback<void(const std::string&)>> log_callbacks_;
std::map<int, base::RepeatingCallback<void(const std::string&)>>
log_callbacks_;
std::unique_ptr<AudioServiceListener> audio_service_listener_;
......
......@@ -12,9 +12,10 @@ namespace content {
// static
void WebRtcLog::SetLogMessageCallback(
int render_process_id,
const base::Callback<void(const std::string&)>& callback) {
base::RepeatingCallback<void(const std::string&)> callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
MediaStreamManager::RegisterNativeLogCallback(render_process_id, callback);
MediaStreamManager::RegisterNativeLogCallback(render_process_id,
std::move(callback));
}
// static
......
......@@ -21,7 +21,7 @@ class CONTENT_EXPORT WebRtcLog {
// process associated with the RenderProcessHost with |render_process_id|.
static void SetLogMessageCallback(
int render_process_id,
const base::Callback<void(const std::string&)>& callback);
base::RepeatingCallback<void(const std::string&)> callback);
static void ClearLogMessageCallback(int render_process_id);
private:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment