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

Side by Side Diff: chrome/test/base/tracing.cc

Issue 2572393002: Fix crashes in TracingBrowserTest.TestMemoryInfra (Closed)
Patch Set: . Created 4 years 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
« no previous file with comments | « chrome/test/base/tracing.h ('k') | chrome/test/base/tracing_browsertest.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 #include "chrome/test/base/tracing.h" 5 #include "chrome/test/base/tracing.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/files/file_util.h" 8 #include "base/files/file_util.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/memory/singleton.h" 10 #include "base/memory/singleton.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 46
47 class InProcessTraceController { 47 class InProcessTraceController {
48 public: 48 public:
49 static InProcessTraceController* GetInstance() { 49 static InProcessTraceController* GetInstance() {
50 return base::Singleton<InProcessTraceController>::get(); 50 return base::Singleton<InProcessTraceController>::get();
51 } 51 }
52 52
53 InProcessTraceController() {} 53 InProcessTraceController() {}
54 virtual ~InProcessTraceController() {} 54 virtual ~InProcessTraceController() {}
55 55
56 bool BeginTracing(const base::trace_event::TraceConfig& trace_config) { 56 bool BeginTracing(
57 const base::trace_event::TraceConfig& trace_config,
58 tracing::StartTracingDoneCallback start_tracing_done_callback) {
57 DCHECK_CURRENTLY_ON(BrowserThread::UI); 59 DCHECK_CURRENTLY_ON(BrowserThread::UI);
58 return content::TracingController::GetInstance()->StartTracing( 60 return content::TracingController::GetInstance()->StartTracing(
59 trace_config, content::TracingController::StartTracingDoneCallback()); 61 trace_config, start_tracing_done_callback);
60 } 62 }
61 63
62 bool EndTracing(std::string* json_trace_output) { 64 bool EndTracing(std::string* json_trace_output) {
63 DCHECK_CURRENTLY_ON(BrowserThread::UI); 65 DCHECK_CURRENTLY_ON(BrowserThread::UI);
64 using namespace base::debug; 66 using namespace base::debug;
65 67
66 if (!content::TracingController::GetInstance()->StopTracing( 68 if (!content::TracingController::GetInstance()->StopTracing(
67 new StringTraceSink( 69 new StringTraceSink(
68 json_trace_output, 70 json_trace_output,
69 base::Bind(&InProcessTraceController::OnTracingComplete, 71 base::Bind(&InProcessTraceController::OnTracingComplete,
(...skipping 22 matching lines...) Expand all
92 94
93 DISALLOW_COPY_AND_ASSIGN(InProcessTraceController); 95 DISALLOW_COPY_AND_ASSIGN(InProcessTraceController);
94 }; 96 };
95 97
96 } // namespace 98 } // namespace
97 99
98 namespace tracing { 100 namespace tracing {
99 101
100 bool BeginTracing(const std::string& category_patterns) { 102 bool BeginTracing(const std::string& category_patterns) {
101 return InProcessTraceController::GetInstance()->BeginTracing( 103 return InProcessTraceController::GetInstance()->BeginTracing(
102 base::trace_event::TraceConfig(category_patterns, "")); 104 base::trace_event::TraceConfig(category_patterns, ""),
105 tracing::StartTracingDoneCallback());
103 } 106 }
104 107
105 bool BeginTracingWithTraceConfig( 108 bool BeginTracingWithTraceConfig(
106 const base::trace_event::TraceConfig& trace_config) { 109 const base::trace_event::TraceConfig& trace_config) {
107 return InProcessTraceController::GetInstance()->BeginTracing(trace_config); 110 return InProcessTraceController::GetInstance()->BeginTracing(
111 trace_config, tracing::StartTracingDoneCallback());
112 }
113
114 bool BeginTracingWithTraceConfig(
115 const base::trace_event::TraceConfig& trace_config,
116 tracing::StartTracingDoneCallback start_tracing_done_callback) {
117 return InProcessTraceController::GetInstance()->BeginTracing(
118 trace_config, start_tracing_done_callback);
108 } 119 }
109 120
110 bool EndTracing(std::string* json_trace_output) { 121 bool EndTracing(std::string* json_trace_output) {
111 return InProcessTraceController::GetInstance()->EndTracing(json_trace_output); 122 return InProcessTraceController::GetInstance()->EndTracing(json_trace_output);
112 } 123 }
113 124
114 } // namespace tracing 125 } // namespace tracing
OLDNEW
« no previous file with comments | « chrome/test/base/tracing.h ('k') | chrome/test/base/tracing_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698