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

Unified Diff: base/trace_event/trace_event_impl.cc

Issue 1100773004: base: Remove most uses of MessageLoopProxy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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
Index: base/trace_event/trace_event_impl.cc
diff --git a/base/trace_event/trace_event_impl.cc b/base/trace_event/trace_event_impl.cc
index 12f9598a2c8a099ccd62700a8a98a0d0a9983d41..807acb383b2116c99654e533159b24b4016c97b2 100644
--- a/base/trace_event/trace_event_impl.cc
+++ b/base/trace_event/trace_event_impl.cc
@@ -14,8 +14,8 @@
#include "base/format_macros.h"
#include "base/json/string_escape.h"
#include "base/lazy_instance.h"
+#include "base/location.h"
#include "base/memory/singleton.h"
-#include "base/message_loop/message_loop.h"
#include "base/process/process_metrics.h"
#include "base/stl_util.h"
#include "base/strings/string_number_conversions.h"
@@ -28,6 +28,7 @@
#include "base/synchronization/waitable_event.h"
#include "base/sys_info.h"
#include "base/third_party/dynamic_annotations/dynamic_annotations.h"
+#include "base/thread_task_runner_handle.h"
#include "base/threading/platform_thread.h"
#include "base/threading/thread_id_name_manager.h"
#include "base/threading/worker_pool.h"
@@ -1406,7 +1407,7 @@ void TraceLog::SetEnabled(const CategoryFilter& category_filter,
AutoLock lock(lock_);
// Can't enable tracing when Flush() is in progress.
- DCHECK(!flush_message_loop_proxy_.get());
+ DCHECK(!flush_task_runner_.get());
danakj 2015/04/21 20:16:31 nit: no get()
Sami 2015/04/23 17:48:25 Done.
InternalTraceOptions new_options =
GetInternalOptionsFromTraceOptions(options);
@@ -1680,8 +1681,8 @@ void TraceLog::SetEventCallbackDisabled() {
}
// Flush() works as the following:
-// 1. Flush() is called in threadA whose message loop is saved in
-// flush_message_loop_proxy_;
+// 1. Flush() is called in threadA whose task runner is saved in
danakj 2015/04/21 20:16:31 s/threadA/thread
Sami 2015/04/23 17:48:25 I think that's supposed to mean "thread A" -- as i
+// flush_task_runner_;
// 2. If thread_message_loops_ is not empty, threadA posts task to each message
// loop to flush the thread local buffers; otherwise finish the flush;
// 3. FlushCurrentThread() deletes the thread local event buffer:
@@ -1710,9 +1711,11 @@ void TraceLog::Flush(const TraceLog::OutputCallback& cb,
thread_message_loop_task_runners;
{
AutoLock lock(lock_);
- DCHECK(!flush_message_loop_proxy_.get());
- flush_message_loop_proxy_ = MessageLoopProxy::current();
- DCHECK(!thread_message_loops_.size() || flush_message_loop_proxy_.get());
+ DCHECK(!flush_task_runner_.get());
danakj 2015/04/21 20:16:31 nit: no get()
Sami 2015/04/23 17:48:25 Done.
+ flush_task_runner_ = ThreadTaskRunnerHandle::IsSet()
+ ? ThreadTaskRunnerHandle::Get()
+ : nullptr;
+ DCHECK(!thread_message_loops_.size() || flush_task_runner_.get());
danakj 2015/04/21 20:16:31 DCHECK_IMPLIES(loops_.size(), runner_.get()) ?
Sami 2015/04/23 17:48:25 Ah, neat. TIL.
flush_output_callback_ = cb;
if (thread_shared_chunk_) {
@@ -1735,7 +1738,7 @@ void TraceLog::Flush(const TraceLog::OutputCallback& cb,
FROM_HERE,
Bind(&TraceLog::FlushCurrentThread, Unretained(this), generation));
}
- flush_message_loop_proxy_->PostDelayedTask(
+ flush_task_runner_->PostDelayedTask(
FROM_HERE,
Bind(&TraceLog::OnFlushTimeout, Unretained(this), generation),
TimeDelta::FromMilliseconds(kThreadFlushTimeoutMs));
@@ -1789,7 +1792,7 @@ void TraceLog::FinishFlush(int generation) {
UseNextTraceBuffer();
thread_message_loops_.clear();
- flush_message_loop_proxy_ = NULL;
+ flush_task_runner_ = NULL;
flush_output_callback = flush_output_callback_;
flush_output_callback_.Reset();
}
@@ -1812,7 +1815,7 @@ void TraceLog::FinishFlush(int generation) {
void TraceLog::FlushCurrentThread(int generation) {
{
AutoLock lock(lock_);
- if (!CheckGeneration(generation) || !flush_message_loop_proxy_.get()) {
+ if (!CheckGeneration(generation) || !flush_task_runner_.get()) {
danakj 2015/04/21 20:16:31 nit: no get
Sami 2015/04/23 17:48:25 Done.
// This is late. The corresponding flush has finished.
return;
}
@@ -1822,19 +1825,18 @@ void TraceLog::FlushCurrentThread(int generation) {
delete thread_local_event_buffer_.Get();
AutoLock lock(lock_);
- if (!CheckGeneration(generation) || !flush_message_loop_proxy_.get() ||
+ if (!CheckGeneration(generation) || !flush_task_runner_.get() ||
danakj 2015/04/21 20:16:31 nit: no get
Sami 2015/04/23 17:48:25 Done.
thread_message_loops_.size())
return;
- flush_message_loop_proxy_->PostTask(
- FROM_HERE,
- Bind(&TraceLog::FinishFlush, Unretained(this), generation));
+ flush_task_runner_->PostTask(
+ FROM_HERE, Bind(&TraceLog::FinishFlush, Unretained(this), generation));
}
void TraceLog::OnFlushTimeout(int generation) {
{
AutoLock lock(lock_);
- if (!CheckGeneration(generation) || !flush_message_loop_proxy_.get()) {
+ if (!CheckGeneration(generation) || !flush_task_runner_.get()) {
danakj 2015/04/21 20:16:31 nit: no get
Sami 2015/04/23 17:48:25 Done.
// Flush has finished before timeout.
return;
}

Powered by Google App Engine
This is Rietveld 408576698