OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/trace_message_filter.h" | 5 #include "content/browser/trace_message_filter.h" |
6 | 6 |
7 #include "content/browser/trace_controller_impl.h" | 7 #include "content/browser/trace_controller_impl.h" |
8 #include "content/common/child_process_messages.h" | 8 #include "content/components/tracing/tracing_messages.h" |
9 | 9 |
10 namespace content { | 10 namespace content { |
11 | 11 |
12 TraceMessageFilter::TraceMessageFilter() : | 12 TraceMessageFilter::TraceMessageFilter() : |
13 has_child_(false), | 13 has_child_(false), |
14 is_awaiting_end_ack_(false), | 14 is_awaiting_end_ack_(false), |
15 is_awaiting_buffer_percent_full_ack_(false) { | 15 is_awaiting_buffer_percent_full_ack_(false) { |
16 } | 16 } |
17 | 17 |
18 void TraceMessageFilter::OnFilterAdded(IPC::Channel* channel) { | 18 void TraceMessageFilter::OnFilterAdded(IPC::Channel* channel) { |
(...skipping 14 matching lines...) Expand all Loading... |
33 | 33 |
34 TraceControllerImpl::GetInstance()->RemoveFilter(this); | 34 TraceControllerImpl::GetInstance()->RemoveFilter(this); |
35 } | 35 } |
36 } | 36 } |
37 | 37 |
38 bool TraceMessageFilter::OnMessageReceived(const IPC::Message& message, | 38 bool TraceMessageFilter::OnMessageReceived(const IPC::Message& message, |
39 bool* message_was_ok) { | 39 bool* message_was_ok) { |
40 // Always on IO thread (BrowserMessageFilter guarantee). | 40 // Always on IO thread (BrowserMessageFilter guarantee). |
41 bool handled = true; | 41 bool handled = true; |
42 IPC_BEGIN_MESSAGE_MAP_EX(TraceMessageFilter, message, *message_was_ok) | 42 IPC_BEGIN_MESSAGE_MAP_EX(TraceMessageFilter, message, *message_was_ok) |
43 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_ChildSupportsTracing, | 43 IPC_MESSAGE_HANDLER(TracingHostMsg_ChildSupportsTracing, |
44 OnChildSupportsTracing) | 44 OnChildSupportsTracing) |
45 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_EndTracingAck, OnEndTracingAck) | 45 IPC_MESSAGE_HANDLER(TracingHostMsg_EndTracingAck, OnEndTracingAck) |
46 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_TraceDataCollected, | 46 IPC_MESSAGE_HANDLER(TracingHostMsg_TraceDataCollected, |
47 OnTraceDataCollected) | 47 OnTraceDataCollected) |
48 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_TraceNotification, | 48 IPC_MESSAGE_HANDLER(TracingHostMsg_TraceNotification, |
49 OnTraceNotification) | 49 OnTraceNotification) |
50 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_TraceBufferPercentFullReply, | 50 IPC_MESSAGE_HANDLER(TracingHostMsg_TraceBufferPercentFullReply, |
51 OnTraceBufferPercentFullReply) | 51 OnTraceBufferPercentFullReply) |
52 IPC_MESSAGE_UNHANDLED(handled = false) | 52 IPC_MESSAGE_UNHANDLED(handled = false) |
53 IPC_END_MESSAGE_MAP_EX() | 53 IPC_END_MESSAGE_MAP_EX() |
54 return handled; | 54 return handled; |
55 } | 55 } |
56 | 56 |
57 void TraceMessageFilter::SendBeginTracing( | 57 void TraceMessageFilter::SendBeginTracing( |
58 const std::vector<std::string>& included_categories, | 58 const std::vector<std::string>& included_categories, |
59 const std::vector<std::string>& excluded_categories) { | 59 const std::vector<std::string>& excluded_categories) { |
60 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 60 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
61 Send(new ChildProcessMsg_BeginTracing(included_categories, | 61 Send(new TracingMsg_BeginTracing(included_categories, |
62 excluded_categories)); | 62 excluded_categories, |
| 63 base::TimeTicks::NowFromSystemTraceTime())); |
63 } | 64 } |
64 | 65 |
65 void TraceMessageFilter::SendEndTracing() { | 66 void TraceMessageFilter::SendEndTracing() { |
66 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 67 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
67 DCHECK(!is_awaiting_end_ack_); | 68 DCHECK(!is_awaiting_end_ack_); |
68 is_awaiting_end_ack_ = true; | 69 is_awaiting_end_ack_ = true; |
69 Send(new ChildProcessMsg_EndTracing); | 70 Send(new TracingMsg_EndTracing); |
70 } | 71 } |
71 | 72 |
72 void TraceMessageFilter::SendGetTraceBufferPercentFull() { | 73 void TraceMessageFilter::SendGetTraceBufferPercentFull() { |
73 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 74 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
74 DCHECK(!is_awaiting_buffer_percent_full_ack_); | 75 DCHECK(!is_awaiting_buffer_percent_full_ack_); |
75 is_awaiting_buffer_percent_full_ack_ = true; | 76 is_awaiting_buffer_percent_full_ack_ = true; |
76 Send(new ChildProcessMsg_GetTraceBufferPercentFull); | 77 Send(new TracingMsg_GetTraceBufferPercentFull); |
77 } | 78 } |
78 | 79 |
79 void TraceMessageFilter::SendSetWatchEvent(const std::string& category_name, | 80 void TraceMessageFilter::SendSetWatchEvent(const std::string& category_name, |
80 const std::string& event_name) { | 81 const std::string& event_name) { |
81 Send(new ChildProcessMsg_SetWatchEvent(category_name, event_name)); | 82 Send(new TracingMsg_SetWatchEvent(category_name, event_name)); |
82 } | 83 } |
83 | 84 |
84 void TraceMessageFilter::SendCancelWatchEvent() { | 85 void TraceMessageFilter::SendCancelWatchEvent() { |
85 Send(new ChildProcessMsg_CancelWatchEvent); | 86 Send(new TracingMsg_CancelWatchEvent); |
86 } | 87 } |
87 | 88 |
88 TraceMessageFilter::~TraceMessageFilter() {} | 89 TraceMessageFilter::~TraceMessageFilter() {} |
89 | 90 |
90 void TraceMessageFilter::OnChildSupportsTracing() { | 91 void TraceMessageFilter::OnChildSupportsTracing() { |
91 has_child_ = true; | 92 has_child_ = true; |
92 TraceControllerImpl::GetInstance()->AddFilter(this); | 93 TraceControllerImpl::GetInstance()->AddFilter(this); |
93 } | 94 } |
94 | 95 |
95 void TraceMessageFilter::OnEndTracingAck( | 96 void TraceMessageFilter::OnEndTracingAck( |
(...skipping 22 matching lines...) Expand all Loading... |
118 if (is_awaiting_buffer_percent_full_ack_) { | 119 if (is_awaiting_buffer_percent_full_ack_) { |
119 is_awaiting_buffer_percent_full_ack_ = false; | 120 is_awaiting_buffer_percent_full_ack_ = false; |
120 TraceControllerImpl::GetInstance()->OnTraceBufferPercentFullReply( | 121 TraceControllerImpl::GetInstance()->OnTraceBufferPercentFullReply( |
121 percent_full); | 122 percent_full); |
122 } else { | 123 } else { |
123 NOTREACHED(); | 124 NOTREACHED(); |
124 } | 125 } |
125 } | 126 } |
126 | 127 |
127 } // namespace content | 128 } // namespace content |
OLD | NEW |