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

Unified Diff: content/browser/tracing/trace_message_filter.cc

Issue 2833873003: WIP: The tracing service prototype
Patch Set: sync Created 3 years, 7 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 | « content/browser/tracing/trace_message_filter.h ('k') | content/browser/tracing/tracing_controller_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/tracing/trace_message_filter.cc
diff --git a/content/browser/tracing/trace_message_filter.cc b/content/browser/tracing/trace_message_filter.cc
index a0e97d1b3c13c58ff3b1afbcd9d054d7f7cfd7b4..44bcf2bcdfec63407eb5cb4866191a7065e2c36a 100644
--- a/content/browser/tracing/trace_message_filter.cc
+++ b/content/browser/tracing/trace_message_filter.cc
@@ -12,40 +12,14 @@
namespace content {
TraceMessageFilter::TraceMessageFilter(int child_process_id)
- : BrowserMessageFilter(TracingMsgStart),
- has_child_(false),
- tracing_process_id_(
- ChildProcessHostImpl::ChildProcessUniqueIdToTracingProcessId(
- child_process_id)),
- is_awaiting_end_ack_(false),
- is_awaiting_buffer_percent_full_ack_(false) {
-}
+ : BrowserMessageFilter(TracingMsgStart) {}
TraceMessageFilter::~TraceMessageFilter() {}
-void TraceMessageFilter::OnChannelClosing() {
- if (has_child_) {
- if (is_awaiting_end_ack_)
- OnEndTracingAck(std::vector<std::string>());
-
- if (is_awaiting_buffer_percent_full_ack_)
- OnTraceLogStatusReply(base::trace_event::TraceLogStatus());
-
- TracingControllerImpl::GetInstance()->RemoveTraceMessageFilter(this);
- }
-}
-
bool TraceMessageFilter::OnMessageReceived(const IPC::Message& message) {
// Always on IO thread (BrowserMessageFilter guarantee).
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(TraceMessageFilter, message)
- IPC_MESSAGE_HANDLER(TracingHostMsg_ChildSupportsTracing,
- OnChildSupportsTracing)
- IPC_MESSAGE_HANDLER(TracingHostMsg_EndTracingAck, OnEndTracingAck)
- IPC_MESSAGE_HANDLER(TracingHostMsg_TraceDataCollected,
- OnTraceDataCollected)
- IPC_MESSAGE_HANDLER(TracingHostMsg_TraceLogStatusReply,
- OnTraceLogStatusReply)
IPC_MESSAGE_HANDLER(TracingHostMsg_TriggerBackgroundTrace,
OnTriggerBackgroundTrace)
IPC_MESSAGE_HANDLER(TracingHostMsg_AbortBackgroundTrace,
@@ -55,68 +29,6 @@ bool TraceMessageFilter::OnMessageReceived(const IPC::Message& message) {
return handled;
}
-void TraceMessageFilter::SendBeginTracing(
- const base::trace_event::TraceConfig& trace_config) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- Send(new TracingMsg_BeginTracing(
- trace_config.ToString(), base::TimeTicks::Now(), tracing_process_id_));
-}
-
-void TraceMessageFilter::SendEndTracing() {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- DCHECK(!is_awaiting_end_ack_);
- is_awaiting_end_ack_ = true;
- Send(new TracingMsg_EndTracing);
-}
-
-void TraceMessageFilter::SendCancelTracing() {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- DCHECK(!is_awaiting_end_ack_);
- is_awaiting_end_ack_ = true;
- Send(new TracingMsg_CancelTracing);
-}
-
-void TraceMessageFilter::SendGetTraceLogStatus() {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- DCHECK(!is_awaiting_buffer_percent_full_ack_);
- is_awaiting_buffer_percent_full_ack_ = true;
- Send(new TracingMsg_GetTraceLogStatus);
-}
-
-void TraceMessageFilter::OnChildSupportsTracing() {
- has_child_ = true;
- TracingControllerImpl::GetInstance()->AddTraceMessageFilter(this);
-}
-
-void TraceMessageFilter::OnEndTracingAck(
- const std::vector<std::string>& known_categories) {
- // is_awaiting_end_ack_ should always be true here, but check in case the
- // child process is compromised.
- if (is_awaiting_end_ack_) {
- is_awaiting_end_ack_ = false;
- TracingControllerImpl::GetInstance()->OnStopTracingAcked(
- this, known_categories);
- } else {
- NOTREACHED();
- }
-}
-
-void TraceMessageFilter::OnTraceDataCollected(const std::string& data) {
- scoped_refptr<base::RefCountedString> data_ptr(new base::RefCountedString());
- data_ptr->data() = data;
- TracingControllerImpl::GetInstance()->OnTraceDataCollected(data_ptr);
-}
-
-void TraceMessageFilter::OnTraceLogStatusReply(
- const base::trace_event::TraceLogStatus& status) {
- if (is_awaiting_buffer_percent_full_ack_) {
- is_awaiting_buffer_percent_full_ack_ = false;
- TracingControllerImpl::GetInstance()->OnTraceLogStatusReply(this, status);
- } else {
- NOTREACHED();
- }
-}
-
void TraceMessageFilter::OnTriggerBackgroundTrace(const std::string& name) {
BackgroundTracingManagerImpl::GetInstance()->OnHistogramTrigger(name);
}
« no previous file with comments | « content/browser/tracing/trace_message_filter.h ('k') | content/browser/tracing/tracing_controller_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698