| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #ifndef CONTENT_BROWSER_TRACE_MESSAGE_FILTER_H_ | 5 #ifndef CONTENT_BROWSER_TRACE_MESSAGE_FILTER_H_ |
| 6 #define CONTENT_BROWSER_TRACE_MESSAGE_FILTER_H_ | 6 #define CONTENT_BROWSER_TRACE_MESSAGE_FILTER_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "content/public/browser/browser_message_filter.h" | 11 #include "content/public/browser/browser_message_filter.h" |
| 12 | 12 |
| 13 // This class sends and receives trace messages on the browser process. | 13 // This class sends and receives trace messages on the browser process. |
| 14 // See also: trace_controller.h | 14 // See also: trace_controller.h |
| 15 // See also: child_trace_message_filter.h | 15 // See also: child_trace_message_filter.h |
| 16 class TraceMessageFilter : public content::BrowserMessageFilter { | 16 class TraceMessageFilter : public content::BrowserMessageFilter { |
| 17 public: | 17 public: |
| 18 TraceMessageFilter(); | 18 TraceMessageFilter(); |
| 19 virtual ~TraceMessageFilter(); | |
| 20 | 19 |
| 21 // content::BrowserMessageFilter override. | 20 // content::BrowserMessageFilter override. |
| 22 virtual void OnFilterAdded(IPC::Channel* channel) OVERRIDE; | 21 virtual void OnFilterAdded(IPC::Channel* channel) OVERRIDE; |
| 23 | 22 |
| 24 // content::BrowserMessageFilter implementation. | 23 // content::BrowserMessageFilter implementation. |
| 25 virtual void OnChannelClosing() OVERRIDE; | 24 virtual void OnChannelClosing() OVERRIDE; |
| 26 virtual bool OnMessageReceived(const IPC::Message& message, | 25 virtual bool OnMessageReceived(const IPC::Message& message, |
| 27 bool* message_was_ok) OVERRIDE; | 26 bool* message_was_ok) OVERRIDE; |
| 28 | 27 |
| 29 void SendBeginTracing(const std::vector<std::string>& included_categories, | 28 void SendBeginTracing(const std::vector<std::string>& included_categories, |
| 30 const std::vector<std::string>& excluded_categories); | 29 const std::vector<std::string>& excluded_categories); |
| 31 void SendEndTracing(); | 30 void SendEndTracing(); |
| 32 void SendGetTraceBufferPercentFull(); | 31 void SendGetTraceBufferPercentFull(); |
| 33 | 32 |
| 33 protected: |
| 34 virtual ~TraceMessageFilter(); |
| 35 |
| 34 private: | 36 private: |
| 35 // Message handlers. | 37 // Message handlers. |
| 36 void OnChildSupportsTracing(); | 38 void OnChildSupportsTracing(); |
| 37 void OnEndTracingAck(const std::vector<std::string>& known_categories); | 39 void OnEndTracingAck(const std::vector<std::string>& known_categories); |
| 38 void OnTraceBufferFull(); | 40 void OnTraceBufferFull(); |
| 39 void OnTraceBufferPercentFullReply(float percent_full); | 41 void OnTraceBufferPercentFullReply(float percent_full); |
| 40 void OnTraceDataCollected(const std::string& data); | 42 void OnTraceDataCollected(const std::string& data); |
| 41 | 43 |
| 42 // ChildTraceMessageFilter exists: | 44 // ChildTraceMessageFilter exists: |
| 43 bool has_child_; | 45 bool has_child_; |
| 44 | 46 |
| 45 // Awaiting ack for previously sent SendEndTracing | 47 // Awaiting ack for previously sent SendEndTracing |
| 46 bool is_awaiting_end_ack_; | 48 bool is_awaiting_end_ack_; |
| 47 bool is_awaiting_bpf_ack_; | 49 bool is_awaiting_bpf_ack_; |
| 48 | 50 |
| 49 DISALLOW_COPY_AND_ASSIGN(TraceMessageFilter); | 51 DISALLOW_COPY_AND_ASSIGN(TraceMessageFilter); |
| 50 }; | 52 }; |
| 51 | 53 |
| 52 #endif // CONTENT_BROWSER_TRACE_MESSAGE_FILTER_H_ | 54 #endif // CONTENT_BROWSER_TRACE_MESSAGE_FILTER_H_ |
| 53 | 55 |
| OLD | NEW |