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

Side by Side Diff: base/debug/trace_event_impl.h

Issue 369703003: Reduce usage of MessageLoopProxy in base/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/bind_helpers.h ('k') | base/debug/trace_event_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 5
6 #ifndef BASE_DEBUG_TRACE_EVENT_IMPL_H_ 6 #ifndef BASE_DEBUG_TRACE_EVENT_IMPL_H_
7 #define BASE_DEBUG_TRACE_EVENT_IMPL_H_ 7 #define BASE_DEBUG_TRACE_EVENT_IMPL_H_
8 8
9 #include <stack> 9 #include <stack>
10 #include <string> 10 #include <string>
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 TRACE_EVENT_PHASE_INSTANT, \ 42 TRACE_EVENT_PHASE_INSTANT, \
43 name, reinterpret_cast<const void*>(id), extra) 43 name, reinterpret_cast<const void*>(id), extra)
44 44
45 template <typename Type> 45 template <typename Type>
46 struct DefaultSingletonTraits; 46 struct DefaultSingletonTraits;
47 47
48 namespace base { 48 namespace base {
49 49
50 class WaitableEvent; 50 class WaitableEvent;
51 class MessageLoop; 51 class MessageLoop;
52 class SequencedTaskRunner;
52 53
53 namespace debug { 54 namespace debug {
54 55
55 // For any argument of type TRACE_VALUE_TYPE_CONVERTABLE the provided 56 // For any argument of type TRACE_VALUE_TYPE_CONVERTABLE the provided
56 // class must implement this interface. 57 // class must implement this interface.
57 class BASE_EXPORT ConvertableToTraceFormat 58 class BASE_EXPORT ConvertableToTraceFormat
58 : public RefCounted<ConvertableToTraceFormat> { 59 : public RefCounted<ConvertableToTraceFormat> {
59 public: 60 public:
60 // Append the class info to the provided |out| string. The appended 61 // Append the class info to the provided |out| string. The appended
61 // data must be a valid JSON object. Strings must be properly quoted, and 62 // data must be a valid JSON object. Strings must be properly quoted, and
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after
780 PlatformThreadHandle sampling_thread_handle_; 781 PlatformThreadHandle sampling_thread_handle_;
781 782
782 CategoryFilter category_filter_; 783 CategoryFilter category_filter_;
783 CategoryFilter event_callback_category_filter_; 784 CategoryFilter event_callback_category_filter_;
784 785
785 ThreadLocalPointer<ThreadLocalEventBuffer> thread_local_event_buffer_; 786 ThreadLocalPointer<ThreadLocalEventBuffer> thread_local_event_buffer_;
786 ThreadLocalBoolean thread_blocks_message_loop_; 787 ThreadLocalBoolean thread_blocks_message_loop_;
787 ThreadLocalBoolean thread_is_in_trace_event_; 788 ThreadLocalBoolean thread_is_in_trace_event_;
788 789
789 // Contains the message loops of threads that have had at least one event 790 // Contains the message loops of threads that have had at least one event
790 // added into the local event buffer. Not using MessageLoopProxy because we 791 // added into the local event buffer. Not using TaskRunners because we
791 // need to know the life time of the message loops. 792 // need to know the life time of the message loops.
792 hash_set<MessageLoop*> thread_message_loops_; 793 hash_set<MessageLoop*> thread_message_loops_;
793 794
794 // For events which can't be added into the thread local buffer, e.g. events 795 // For events which can't be added into the thread local buffer, e.g. events
795 // from threads without a message loop. 796 // from threads without a message loop.
796 scoped_ptr<TraceBufferChunk> thread_shared_chunk_; 797 scoped_ptr<TraceBufferChunk> thread_shared_chunk_;
797 size_t thread_shared_chunk_index_; 798 size_t thread_shared_chunk_index_;
798 799
799 // Set when asynchronous Flush is in progress. 800 // Set when asynchronous Flush is in progress.
800 OutputCallback flush_output_callback_; 801 OutputCallback flush_output_callback_;
801 scoped_refptr<MessageLoopProxy> flush_message_loop_proxy_; 802 scoped_refptr<SequencedTaskRunner> flush_task_runner_;
802 subtle::AtomicWord generation_; 803 subtle::AtomicWord generation_;
803 804
804 DISALLOW_COPY_AND_ASSIGN(TraceLog); 805 DISALLOW_COPY_AND_ASSIGN(TraceLog);
805 }; 806 };
806 807
807 } // namespace debug 808 } // namespace debug
808 } // namespace base 809 } // namespace base
809 810
810 #endif // BASE_DEBUG_TRACE_EVENT_IMPL_H_ 811 #endif // BASE_DEBUG_TRACE_EVENT_IMPL_H_
OLDNEW
« no previous file with comments | « base/bind_helpers.h ('k') | base/debug/trace_event_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698