Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(567)

Unified Diff: jingle/glue/thread_wrapper.cc

Issue 2037873003: Roll WebRTC 13098:13104 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Roll WebRTC Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « jingle/glue/thread_wrapper.h ('k') | jingle/glue/thread_wrapper_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: jingle/glue/thread_wrapper.cc
diff --git a/jingle/glue/thread_wrapper.cc b/jingle/glue/thread_wrapper.cc
index 100ed800d76ad36ff035a925c205174924c7b574..f49c6e9cd745d79a9f7fba857bc57f86c2e23c0c 100644
--- a/jingle/glue/thread_wrapper.cc
+++ b/jingle/glue/thread_wrapper.cc
@@ -12,6 +12,7 @@
#include "base/lazy_instance.h"
#include "base/macros.h"
#include "base/threading/thread_local.h"
+#include "base/trace_event/trace_event.h"
#include "third_party/webrtc/base/nullsocketserver.h"
namespace jingle_glue {
@@ -92,18 +93,20 @@ void JingleThreadWrapper::WillDestroyCurrentMessageLoop() {
delete this;
}
-void JingleThreadWrapper::Post(rtc::MessageHandler* handler,
+void JingleThreadWrapper::Post(const rtc::Location& posted_from,
+ rtc::MessageHandler* handler,
uint32_t message_id,
rtc::MessageData* data,
bool time_sensitive) {
- PostTaskInternal(0, handler, message_id, data);
+ PostTaskInternal(posted_from, 0, handler, message_id, data);
}
-void JingleThreadWrapper::PostDelayed(int delay_ms,
+void JingleThreadWrapper::PostDelayed(const rtc::Location& posted_from,
+ int delay_ms,
rtc::MessageHandler* handler,
uint32_t message_id,
rtc::MessageData* data) {
- PostTaskInternal(delay_ms, handler, message_id, data);
+ PostTaskInternal(posted_from, delay_ms, handler, message_id, data);
}
void JingleThreadWrapper::Clear(rtc::MessageHandler* handler,
@@ -147,7 +150,15 @@ void JingleThreadWrapper::Clear(rtc::MessageHandler* handler,
}
}
-void JingleThreadWrapper::Send(rtc::MessageHandler* handler,
+void JingleThreadWrapper::Dispatch(rtc::Message* message) {
+ TRACE_EVENT2("webrtc", "JingleThreadWrapper::Dispatch", "src_file_and_line",
+ message->posted_from.file_and_line(), "src_func",
+ message->posted_from.function_name());
+ message->phandler->OnMessage(message);
+}
+
+void JingleThreadWrapper::Send(const rtc::Location& posted_from,
+ rtc::MessageHandler* handler,
uint32_t id,
rtc::MessageData* data) {
if (fStop_)
@@ -158,12 +169,13 @@ void JingleThreadWrapper::Send(rtc::MessageHandler* handler,
"thread that has JingleThreadWrapper.";
rtc::Message message;
+ message.posted_from = posted_from;
message.phandler = handler;
message.message_id = id;
message.pdata = data;
if (current_thread == this) {
- handler->OnMessage(&message);
+ Dispatch(&message);
return;
}
@@ -214,18 +226,20 @@ void JingleThreadWrapper::ProcessPendingSends() {
}
}
if (pending_send) {
- pending_send->message.phandler->OnMessage(&pending_send->message);
+ Dispatch(&pending_send->message);
pending_send->done_event.Signal();
}
}
}
-void JingleThreadWrapper::PostTaskInternal(int delay_ms,
+void JingleThreadWrapper::PostTaskInternal(const rtc::Location& posted_from,
+ int delay_ms,
rtc::MessageHandler* handler,
uint32_t message_id,
rtc::MessageData* data) {
int task_id;
rtc::Message message;
+ message.posted_from = posted_from;
message.phandler = handler;
message.message_id = message_id;
message.pdata = data;
@@ -265,7 +279,7 @@ void JingleThreadWrapper::RunTask(int task_id) {
DCHECK(message.phandler == nullptr);
delete message.pdata;
} else {
- message.phandler->OnMessage(&message);
+ Dispatch(&message);
}
}
}
@@ -295,17 +309,14 @@ bool JingleThreadWrapper::Peek(rtc::Message*, int) {
return false;
}
-void JingleThreadWrapper::PostAt(uint32_t,
+void JingleThreadWrapper::PostAt(const rtc::Location& posted_from,
+ uint32_t,
rtc::MessageHandler*,
uint32_t,
rtc::MessageData*) {
NOTREACHED();
}
-void JingleThreadWrapper::Dispatch(rtc::Message* message) {
- NOTREACHED();
-}
-
void JingleThreadWrapper::ReceiveSends() {
NOTREACHED();
}
« no previous file with comments | « jingle/glue/thread_wrapper.h ('k') | jingle/glue/thread_wrapper_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698