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

Side by Side Diff: content/browser/tracing/tracing_controller_impl.cc

Issue 1005683003: favor DCHECK_CURRENTLY_ON for better logs in content/browser/[q-z]* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 #include "content/browser/tracing/tracing_controller_impl.h" 4 #include "content/browser/tracing/tracing_controller_impl.h"
5 5
6 #include "base/bind.h" 6 #include "base/bind.h"
7 #include "base/files/file_util.h" 7 #include "base/files/file_util.h"
8 #include "base/json/string_escape.h" 8 #include "base/json/string_escape.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 // This is a Leaky instance. 181 // This is a Leaky instance.
182 NOTREACHED(); 182 NOTREACHED();
183 } 183 }
184 184
185 TracingControllerImpl* TracingControllerImpl::GetInstance() { 185 TracingControllerImpl* TracingControllerImpl::GetInstance() {
186 return g_controller.Pointer(); 186 return g_controller.Pointer();
187 } 187 }
188 188
189 bool TracingControllerImpl::GetCategories( 189 bool TracingControllerImpl::GetCategories(
190 const GetCategoriesDoneCallback& callback) { 190 const GetCategoriesDoneCallback& callback) {
191 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 191 DCHECK_CURRENTLY_ON(BrowserThread::UI);
192 192
193 // Known categories come back from child processes with the EndTracingAck 193 // Known categories come back from child processes with the EndTracingAck
194 // message. So to get known categories, just begin and end tracing immediately 194 // message. So to get known categories, just begin and end tracing immediately
195 // afterwards. This will ping all the child processes for categories. 195 // afterwards. This will ping all the child processes for categories.
196 pending_get_categories_done_callback_ = callback; 196 pending_get_categories_done_callback_ = callback;
197 if (!EnableRecording( 197 if (!EnableRecording(
198 CategoryFilter("*"), TraceOptions(), EnableRecordingDoneCallback())) { 198 CategoryFilter("*"), TraceOptions(), EnableRecordingDoneCallback())) {
199 pending_get_categories_done_callback_.Reset(); 199 pending_get_categories_done_callback_.Reset();
200 return false; 200 return false;
201 } 201 }
202 202
203 bool ok = DisableRecording(NULL); 203 bool ok = DisableRecording(NULL);
204 DCHECK(ok); 204 DCHECK(ok);
205 return true; 205 return true;
206 } 206 }
207 207
208 void TracingControllerImpl::SetEnabledOnFileThread( 208 void TracingControllerImpl::SetEnabledOnFileThread(
209 const CategoryFilter& category_filter, 209 const CategoryFilter& category_filter,
210 int mode, 210 int mode,
211 const TraceOptions& trace_options, 211 const TraceOptions& trace_options,
212 const base::Closure& callback) { 212 const base::Closure& callback) {
213 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 213 DCHECK_CURRENTLY_ON(BrowserThread::FILE);
214 214
215 TraceLog::GetInstance()->SetEnabled( 215 TraceLog::GetInstance()->SetEnabled(
216 category_filter, static_cast<TraceLog::Mode>(mode), trace_options); 216 category_filter, static_cast<TraceLog::Mode>(mode), trace_options);
217 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback); 217 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback);
218 } 218 }
219 219
220 void TracingControllerImpl::SetDisabledOnFileThread( 220 void TracingControllerImpl::SetDisabledOnFileThread(
221 const base::Closure& callback) { 221 const base::Closure& callback) {
222 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 222 DCHECK_CURRENTLY_ON(BrowserThread::FILE);
223 223
224 TraceLog::GetInstance()->SetDisabled(); 224 TraceLog::GetInstance()->SetDisabled();
225 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback); 225 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback);
226 } 226 }
227 227
228 bool TracingControllerImpl::EnableRecording( 228 bool TracingControllerImpl::EnableRecording(
229 const CategoryFilter& category_filter, 229 const CategoryFilter& category_filter,
230 const TraceOptions& trace_options, 230 const TraceOptions& trace_options,
231 const EnableRecordingDoneCallback& callback) { 231 const EnableRecordingDoneCallback& callback) {
232 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 232 DCHECK_CURRENTLY_ON(BrowserThread::UI);
233 233
234 if (!can_enable_recording()) 234 if (!can_enable_recording())
235 return false; 235 return false;
236 is_recording_ = true; 236 is_recording_ = true;
237 237
238 #if defined(OS_ANDROID) 238 #if defined(OS_ANDROID)
239 if (pending_get_categories_done_callback_.is_null()) 239 if (pending_get_categories_done_callback_.is_null())
240 TraceLog::GetInstance()->AddClockSyncMetadataEvent(); 240 TraceLog::GetInstance()->AddClockSyncMetadataEvent();
241 #endif 241 #endif
242 242
(...skipping 24 matching lines...) Expand all
267 base::trace_event::TraceLog::RECORDING_MODE, 267 base::trace_event::TraceLog::RECORDING_MODE,
268 trace_options, 268 trace_options,
269 on_enable_recording_done_callback)); 269 on_enable_recording_done_callback));
270 return true; 270 return true;
271 } 271 }
272 272
273 void TracingControllerImpl::OnEnableRecordingDone( 273 void TracingControllerImpl::OnEnableRecordingDone(
274 const CategoryFilter& category_filter, 274 const CategoryFilter& category_filter,
275 const TraceOptions& trace_options, 275 const TraceOptions& trace_options,
276 const EnableRecordingDoneCallback& callback) { 276 const EnableRecordingDoneCallback& callback) {
277 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 277 DCHECK_CURRENTLY_ON(BrowserThread::UI);
278 278
279 // Notify all child processes. 279 // Notify all child processes.
280 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin(); 280 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin();
281 it != trace_message_filters_.end(); ++it) { 281 it != trace_message_filters_.end(); ++it) {
282 it->get()->SendBeginTracing(category_filter, trace_options); 282 it->get()->SendBeginTracing(category_filter, trace_options);
283 } 283 }
284 284
285 if (!callback.is_null()) 285 if (!callback.is_null())
286 callback.Run(); 286 callback.Run();
287 } 287 }
288 288
289 bool TracingControllerImpl::DisableRecording( 289 bool TracingControllerImpl::DisableRecording(
290 const scoped_refptr<TraceDataSink>& trace_data_sink) { 290 const scoped_refptr<TraceDataSink>& trace_data_sink) {
291 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 291 DCHECK_CURRENTLY_ON(BrowserThread::UI);
292 292
293 if (!can_disable_recording()) 293 if (!can_disable_recording())
294 return false; 294 return false;
295 295
296 trace_data_sink_ = trace_data_sink; 296 trace_data_sink_ = trace_data_sink;
297 trace_options_ = TraceOptions(); 297 trace_options_ = TraceOptions();
298 // Disable local trace early to avoid traces during end-tracing process from 298 // Disable local trace early to avoid traces during end-tracing process from
299 // interfering with the process. 299 // interfering with the process.
300 base::Closure on_disable_recording_done_callback = base::Bind( 300 base::Closure on_disable_recording_done_callback = base::Bind(
301 &TracingControllerImpl::OnDisableRecordingDone, base::Unretained(this)); 301 &TracingControllerImpl::OnDisableRecordingDone, base::Unretained(this));
302 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, 302 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
303 base::Bind(&TracingControllerImpl::SetDisabledOnFileThread, 303 base::Bind(&TracingControllerImpl::SetDisabledOnFileThread,
304 base::Unretained(this), 304 base::Unretained(this),
305 on_disable_recording_done_callback)); 305 on_disable_recording_done_callback));
306 return true; 306 return true;
307 } 307 }
308 308
309 void TracingControllerImpl::OnDisableRecordingDone() { 309 void TracingControllerImpl::OnDisableRecordingDone() {
310 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 310 DCHECK_CURRENTLY_ON(BrowserThread::UI);
311 311
312 #if defined(OS_ANDROID) 312 #if defined(OS_ANDROID)
313 if (pending_get_categories_done_callback_.is_null()) 313 if (pending_get_categories_done_callback_.is_null())
314 TraceLog::GetInstance()->AddClockSyncMetadataEvent(); 314 TraceLog::GetInstance()->AddClockSyncMetadataEvent();
315 #endif 315 #endif
316 316
317 // Count myself (local trace) in pending_disable_recording_ack_count_, 317 // Count myself (local trace) in pending_disable_recording_ack_count_,
318 // acked below. 318 // acked below.
319 pending_disable_recording_ack_count_ = trace_message_filters_.size() + 1; 319 pending_disable_recording_ack_count_ = trace_message_filters_.size() + 1;
320 pending_disable_recording_filters_ = trace_message_filters_; 320 pending_disable_recording_filters_ = trace_message_filters_;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin(); 356 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin();
357 it != trace_message_filters_.end(); ++it) { 357 it != trace_message_filters_.end(); ++it) {
358 it->get()->SendEndTracing(); 358 it->get()->SendEndTracing();
359 } 359 }
360 } 360 }
361 361
362 bool TracingControllerImpl::EnableMonitoring( 362 bool TracingControllerImpl::EnableMonitoring(
363 const CategoryFilter& category_filter, 363 const CategoryFilter& category_filter,
364 const TraceOptions& trace_options, 364 const TraceOptions& trace_options,
365 const EnableMonitoringDoneCallback& callback) { 365 const EnableMonitoringDoneCallback& callback) {
366 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 366 DCHECK_CURRENTLY_ON(BrowserThread::UI);
367 367
368 if (!can_enable_monitoring()) 368 if (!can_enable_monitoring())
369 return false; 369 return false;
370 OnMonitoringStateChanged(true); 370 OnMonitoringStateChanged(true);
371 371
372 #if defined(OS_ANDROID) 372 #if defined(OS_ANDROID)
373 TraceLog::GetInstance()->AddClockSyncMetadataEvent(); 373 TraceLog::GetInstance()->AddClockSyncMetadataEvent();
374 #endif 374 #endif
375 375
376 trace_options_ = trace_options; 376 trace_options_ = trace_options;
377 377
378 base::Closure on_enable_monitoring_done_callback = 378 base::Closure on_enable_monitoring_done_callback =
379 base::Bind(&TracingControllerImpl::OnEnableMonitoringDone, 379 base::Bind(&TracingControllerImpl::OnEnableMonitoringDone,
380 base::Unretained(this), 380 base::Unretained(this),
381 category_filter, trace_options, callback); 381 category_filter, trace_options, callback);
382 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, 382 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
383 base::Bind(&TracingControllerImpl::SetEnabledOnFileThread, 383 base::Bind(&TracingControllerImpl::SetEnabledOnFileThread,
384 base::Unretained(this), 384 base::Unretained(this),
385 category_filter, 385 category_filter,
386 base::trace_event::TraceLog::MONITORING_MODE, 386 base::trace_event::TraceLog::MONITORING_MODE,
387 trace_options, 387 trace_options,
388 on_enable_monitoring_done_callback)); 388 on_enable_monitoring_done_callback));
389 return true; 389 return true;
390 } 390 }
391 391
392 void TracingControllerImpl::OnEnableMonitoringDone( 392 void TracingControllerImpl::OnEnableMonitoringDone(
393 const CategoryFilter& category_filter, 393 const CategoryFilter& category_filter,
394 const TraceOptions& trace_options, 394 const TraceOptions& trace_options,
395 const EnableMonitoringDoneCallback& callback) { 395 const EnableMonitoringDoneCallback& callback) {
396 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 396 DCHECK_CURRENTLY_ON(BrowserThread::UI);
397 397
398 // Notify all child processes. 398 // Notify all child processes.
399 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin(); 399 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin();
400 it != trace_message_filters_.end(); ++it) { 400 it != trace_message_filters_.end(); ++it) {
401 it->get()->SendEnableMonitoring(category_filter, trace_options); 401 it->get()->SendEnableMonitoring(category_filter, trace_options);
402 } 402 }
403 403
404 if (!callback.is_null()) 404 if (!callback.is_null())
405 callback.Run(); 405 callback.Run();
406 } 406 }
407 407
408 bool TracingControllerImpl::DisableMonitoring( 408 bool TracingControllerImpl::DisableMonitoring(
409 const DisableMonitoringDoneCallback& callback) { 409 const DisableMonitoringDoneCallback& callback) {
410 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 410 DCHECK_CURRENTLY_ON(BrowserThread::UI);
411 411
412 if (!can_disable_monitoring()) 412 if (!can_disable_monitoring())
413 return false; 413 return false;
414 414
415 trace_options_ = TraceOptions(); 415 trace_options_ = TraceOptions();
416 base::Closure on_disable_monitoring_done_callback = 416 base::Closure on_disable_monitoring_done_callback =
417 base::Bind(&TracingControllerImpl::OnDisableMonitoringDone, 417 base::Bind(&TracingControllerImpl::OnDisableMonitoringDone,
418 base::Unretained(this), callback); 418 base::Unretained(this), callback);
419 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, 419 BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
420 base::Bind(&TracingControllerImpl::SetDisabledOnFileThread, 420 base::Bind(&TracingControllerImpl::SetDisabledOnFileThread,
421 base::Unretained(this), 421 base::Unretained(this),
422 on_disable_monitoring_done_callback)); 422 on_disable_monitoring_done_callback));
423 return true; 423 return true;
424 } 424 }
425 425
426 scoped_refptr<TracingController::TraceDataSink> 426 scoped_refptr<TracingController::TraceDataSink>
427 TracingController::CreateStringSink( 427 TracingController::CreateStringSink(
428 const base::Callback<void(base::RefCountedString*)>& callback) { 428 const base::Callback<void(base::RefCountedString*)>& callback) {
429 return new StringTraceDataSink(callback); 429 return new StringTraceDataSink(callback);
430 } 430 }
431 431
432 scoped_refptr<TracingController::TraceDataSink> 432 scoped_refptr<TracingController::TraceDataSink>
433 TracingController::CreateFileSink(const base::FilePath& file_path, 433 TracingController::CreateFileSink(const base::FilePath& file_path,
434 const base::Closure& callback) { 434 const base::Closure& callback) {
435 return new FileTraceDataSink(file_path, callback); 435 return new FileTraceDataSink(file_path, callback);
436 } 436 }
437 437
438 void TracingControllerImpl::OnDisableMonitoringDone( 438 void TracingControllerImpl::OnDisableMonitoringDone(
439 const DisableMonitoringDoneCallback& callback) { 439 const DisableMonitoringDoneCallback& callback) {
440 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 440 DCHECK_CURRENTLY_ON(BrowserThread::UI);
441 441
442 OnMonitoringStateChanged(false); 442 OnMonitoringStateChanged(false);
443 443
444 // Notify all child processes. 444 // Notify all child processes.
445 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin(); 445 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin();
446 it != trace_message_filters_.end(); ++it) { 446 it != trace_message_filters_.end(); ++it) {
447 it->get()->SendDisableMonitoring(); 447 it->get()->SendDisableMonitoring();
448 } 448 }
449 if (!callback.is_null()) 449 if (!callback.is_null())
450 callback.Run(); 450 callback.Run();
451 } 451 }
452 452
453 void TracingControllerImpl::GetMonitoringStatus( 453 void TracingControllerImpl::GetMonitoringStatus(
454 bool* out_enabled, 454 bool* out_enabled,
455 CategoryFilter* out_category_filter, 455 CategoryFilter* out_category_filter,
456 TraceOptions* out_trace_options) { 456 TraceOptions* out_trace_options) {
457 *out_enabled = is_monitoring_; 457 *out_enabled = is_monitoring_;
458 *out_category_filter = TraceLog::GetInstance()->GetCurrentCategoryFilter(); 458 *out_category_filter = TraceLog::GetInstance()->GetCurrentCategoryFilter();
459 *out_trace_options = trace_options_; 459 *out_trace_options = trace_options_;
460 } 460 }
461 461
462 bool TracingControllerImpl::CaptureMonitoringSnapshot( 462 bool TracingControllerImpl::CaptureMonitoringSnapshot(
463 const scoped_refptr<TraceDataSink>& monitoring_data_sink) { 463 const scoped_refptr<TraceDataSink>& monitoring_data_sink) {
464 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 464 DCHECK_CURRENTLY_ON(BrowserThread::UI);
465 465
466 if (!can_disable_monitoring()) 466 if (!can_disable_monitoring())
467 return false; 467 return false;
468 468
469 if (!monitoring_data_sink.get()) 469 if (!monitoring_data_sink.get())
470 return false; 470 return false;
471 471
472 monitoring_data_sink_ = monitoring_data_sink; 472 monitoring_data_sink_ = monitoring_data_sink;
473 473
474 // Count myself in pending_capture_monitoring_snapshot_ack_count_, 474 // Count myself in pending_capture_monitoring_snapshot_ack_count_,
(...skipping 20 matching lines...) Expand all
495 495
496 #if defined(OS_ANDROID) 496 #if defined(OS_ANDROID)
497 TraceLog::GetInstance()->AddClockSyncMetadataEvent(); 497 TraceLog::GetInstance()->AddClockSyncMetadataEvent();
498 #endif 498 #endif
499 499
500 return true; 500 return true;
501 } 501 }
502 502
503 bool TracingControllerImpl::GetTraceBufferUsage( 503 bool TracingControllerImpl::GetTraceBufferUsage(
504 const GetTraceBufferUsageCallback& callback) { 504 const GetTraceBufferUsageCallback& callback) {
505 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 505 DCHECK_CURRENTLY_ON(BrowserThread::UI);
506 506
507 if (!can_get_trace_buffer_usage() || callback.is_null()) 507 if (!can_get_trace_buffer_usage() || callback.is_null())
508 return false; 508 return false;
509 509
510 pending_trace_buffer_usage_callback_ = callback; 510 pending_trace_buffer_usage_callback_ = callback;
511 511
512 // Count myself in pending_trace_log_status_ack_count_, acked below. 512 // Count myself in pending_trace_log_status_ack_count_, acked below.
513 pending_trace_log_status_ack_count_ = trace_message_filters_.size() + 1; 513 pending_trace_log_status_ack_count_ = trace_message_filters_.size() + 1;
514 pending_trace_log_status_filters_ = trace_message_filters_; 514 pending_trace_log_status_filters_ = trace_message_filters_;
515 maximum_trace_buffer_usage_ = 0; 515 maximum_trace_buffer_usage_ = 0;
(...skipping 15 matching lines...) Expand all
531 it != trace_message_filters_.end(); ++it) { 531 it != trace_message_filters_.end(); ++it) {
532 it->get()->SendGetTraceLogStatus(); 532 it->get()->SendGetTraceLogStatus();
533 } 533 }
534 return true; 534 return true;
535 } 535 }
536 536
537 bool TracingControllerImpl::SetWatchEvent( 537 bool TracingControllerImpl::SetWatchEvent(
538 const std::string& category_name, 538 const std::string& category_name,
539 const std::string& event_name, 539 const std::string& event_name,
540 const WatchEventCallback& callback) { 540 const WatchEventCallback& callback) {
541 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 541 DCHECK_CURRENTLY_ON(BrowserThread::UI);
542 542
543 if (callback.is_null()) 543 if (callback.is_null())
544 return false; 544 return false;
545 545
546 watch_category_name_ = category_name; 546 watch_category_name_ = category_name;
547 watch_event_name_ = event_name; 547 watch_event_name_ = event_name;
548 watch_event_callback_ = callback; 548 watch_event_callback_ = callback;
549 549
550 TraceLog::GetInstance()->SetWatchEvent( 550 TraceLog::GetInstance()->SetWatchEvent(
551 category_name, event_name, 551 category_name, event_name,
552 base::Bind(&TracingControllerImpl::OnWatchEventMatched, 552 base::Bind(&TracingControllerImpl::OnWatchEventMatched,
553 base::Unretained(this))); 553 base::Unretained(this)));
554 554
555 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin(); 555 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin();
556 it != trace_message_filters_.end(); ++it) { 556 it != trace_message_filters_.end(); ++it) {
557 it->get()->SendSetWatchEvent(category_name, event_name); 557 it->get()->SendSetWatchEvent(category_name, event_name);
558 } 558 }
559 return true; 559 return true;
560 } 560 }
561 561
562 bool TracingControllerImpl::CancelWatchEvent() { 562 bool TracingControllerImpl::CancelWatchEvent() {
563 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 563 DCHECK_CURRENTLY_ON(BrowserThread::UI);
564 564
565 if (!can_cancel_watch_event()) 565 if (!can_cancel_watch_event())
566 return false; 566 return false;
567 567
568 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin(); 568 for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin();
569 it != trace_message_filters_.end(); ++it) { 569 it != trace_message_filters_.end(); ++it) {
570 it->get()->SendCancelWatchEvent(); 570 it->get()->SendCancelWatchEvent();
571 } 571 }
572 572
573 watch_event_callback_.Reset(); 573 watch_event_callback_.Reset();
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
699 pending_get_categories_done_callback_.Reset(); 699 pending_get_categories_done_callback_.Reset();
700 } else if (trace_data_sink_.get()) { 700 } else if (trace_data_sink_.get()) {
701 trace_data_sink_->Close(); 701 trace_data_sink_->Close();
702 trace_data_sink_ = NULL; 702 trace_data_sink_ = NULL;
703 } 703 }
704 } 704 }
705 705
706 #if defined(OS_CHROMEOS) || defined(OS_WIN) 706 #if defined(OS_CHROMEOS) || defined(OS_WIN)
707 void TracingControllerImpl::OnEndSystemTracingAcked( 707 void TracingControllerImpl::OnEndSystemTracingAcked(
708 const scoped_refptr<base::RefCountedString>& events_str_ptr) { 708 const scoped_refptr<base::RefCountedString>& events_str_ptr) {
709 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 709 DCHECK_CURRENTLY_ON(BrowserThread::UI);
710 710
711 if (trace_data_sink_.get()) { 711 if (trace_data_sink_.get()) {
712 #if defined(OS_WIN) 712 #if defined(OS_WIN)
713 // The Windows kernel events are kept into a JSon format stored as string 713 // The Windows kernel events are kept into a JSon format stored as string
714 // and must not be escaped. 714 // and must not be escaped.
715 std::string json_string = events_str_ptr->data(); 715 std::string json_string = events_str_ptr->data();
716 #else 716 #else
717 std::string json_string = 717 std::string json_string =
718 base::GetQuotedJSONString(events_str_ptr->data()); 718 base::GetQuotedJSONString(events_str_ptr->data());
719 #endif 719 #endif
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 is_monitoring_ = is_monitoring; 884 is_monitoring_ = is_monitoring;
885 #if !defined(OS_ANDROID) 885 #if !defined(OS_ANDROID)
886 for (std::set<TracingUI*>::iterator it = tracing_uis_.begin(); 886 for (std::set<TracingUI*>::iterator it = tracing_uis_.begin();
887 it != tracing_uis_.end(); it++) { 887 it != tracing_uis_.end(); it++) {
888 (*it)->OnMonitoringStateChanged(is_monitoring); 888 (*it)->OnMonitoringStateChanged(is_monitoring);
889 } 889 }
890 #endif 890 #endif
891 } 891 }
892 892
893 } // namespace content 893 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/tracing/trace_message_filter.cc ('k') | content/browser/utility_process_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698