diff options
author | marshall@chromium.org <marshall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-02 21:48:44 +0000 |
---|---|---|
committer | marshall@chromium.org <marshall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-02 21:48:44 +0000 |
commit | aab16d4cc88e5f0ac0e7c9ec701d5b4a91f42cd4 (patch) | |
tree | 245075178e48cfef09af18e828283d33f31e5f35 /content/browser/tracing/tracing_controller_impl.h | |
parent | e2a93f4784b9036abf5051977d75a98df55a5b33 (diff) | |
download | chromium_src-aab16d4cc88e5f0ac0e7c9ec701d5b4a91f42cd4.zip chromium_src-aab16d4cc88e5f0ac0e7c9ec701d5b4a91f42cd4.tar.gz chromium_src-aab16d4cc88e5f0ac0e7c9ec701d5b4a91f42cd4.tar.bz2 |
Fix TracingController to properly track response callbacks when a TraceMessageFilter is removed before a response is received from the associated subprocess.
BUG=329003
TEST=none
Review URL: https://codereview.chromium.org/107103008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242806 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/tracing/tracing_controller_impl.h')
-rw-r--r-- | content/browser/tracing/tracing_controller_impl.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/content/browser/tracing/tracing_controller_impl.h b/content/browser/tracing/tracing_controller_impl.h index ed3c8fd..0f23b1bc 100644 --- a/content/browser/tracing/tracing_controller_impl.h +++ b/content/browser/tracing/tracing_controller_impl.h @@ -55,7 +55,7 @@ class TracingControllerImpl : public TracingController { virtual bool CancelWatchEvent() OVERRIDE; private: - typedef std::set<scoped_refptr<TraceMessageFilter> > TraceMessageFilterMap; + typedef std::set<scoped_refptr<TraceMessageFilter> > TraceMessageFilterSet; class ResultFile; friend struct base::DefaultLazyInstanceTraits<TracingControllerImpl>; @@ -107,23 +107,30 @@ class TracingControllerImpl : public TracingController { bool has_more_events); void OnDisableRecordingAcked( + TraceMessageFilter* trace_message_filter, const std::vector<std::string>& known_category_groups); void OnResultFileClosed(); - void OnCaptureMonitoringSnapshotAcked(); + void OnCaptureMonitoringSnapshotAcked( + TraceMessageFilter* trace_message_filter); void OnMonitoringSnapshotFileClosed(); - void OnTraceBufferPercentFullReply(float percent_full); + void OnTraceBufferPercentFullReply( + TraceMessageFilter* trace_message_filter, + float percent_full); void OnWatchEventMatched(); - TraceMessageFilterMap trace_message_filters_; + TraceMessageFilterSet trace_message_filters_; // Pending acks for DisableRecording. int pending_disable_recording_ack_count_; + TraceMessageFilterSet pending_disable_recording_filters_; // Pending acks for CaptureMonitoringSnapshot. int pending_capture_monitoring_snapshot_ack_count_; + TraceMessageFilterSet pending_capture_monitoring_filters_; // Pending acks for GetTraceBufferPercentFull. int pending_trace_buffer_percent_full_ack_count_; + TraceMessageFilterSet pending_trace_buffer_percent_full_filters_; float maximum_trace_buffer_percent_full_; bool is_recording_; |