| OLD | NEW |
| 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/browser/ui/webui/tracing_ui.h" | 5 #include "chrome/browser/ui/webui/tracing_ui.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 | 66 |
| 67 // WebUIMessageHandler implementation. | 67 // WebUIMessageHandler implementation. |
| 68 virtual void RegisterMessages(); | 68 virtual void RegisterMessages(); |
| 69 | 69 |
| 70 // SelectFileDialog::Listener implementation | 70 // SelectFileDialog::Listener implementation |
| 71 virtual void FileSelected(const FilePath& path, int index, void* params); | 71 virtual void FileSelected(const FilePath& path, int index, void* params); |
| 72 virtual void FileSelectionCanceled(void* params); | 72 virtual void FileSelectionCanceled(void* params); |
| 73 | 73 |
| 74 // TraceSubscriber implementation. | 74 // TraceSubscriber implementation. |
| 75 virtual void OnEndTracingComplete(); | 75 virtual void OnEndTracingComplete(); |
| 76 virtual void OnTraceDataCollected(const std::string& trace_fragment); | 76 virtual void OnTraceDataCollected( |
| 77 const scoped_refptr<base::RefCountedString>& trace_fragment); |
| 77 virtual void OnTraceBufferPercentFullReply(float percent_full); | 78 virtual void OnTraceBufferPercentFullReply(float percent_full); |
| 78 | 79 |
| 79 // GpuDataManagerObserver implementation. | 80 // GpuDataManagerObserver implementation. |
| 80 virtual void OnGpuInfoUpdate() OVERRIDE; | 81 virtual void OnGpuInfoUpdate() OVERRIDE; |
| 81 | 82 |
| 82 // Messages. | 83 // Messages. |
| 83 void OnTracingControllerInitialized(const ListValue* list); | 84 void OnTracingControllerInitialized(const ListValue* list); |
| 84 void OnBeginTracing(const ListValue* list); | 85 void OnBeginTracing(const ListValue* list); |
| 85 void OnEndTracingAsync(const ListValue* list); | 86 void OnEndTracingAsync(const ListValue* list); |
| 86 void OnBeginRequestBufferPercentFull(const ListValue* list); | 87 void OnBeginRequestBufferPercentFull(const ListValue* list); |
| (...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 } | 373 } |
| 373 } | 374 } |
| 374 | 375 |
| 375 void TracingMessageHandler::OnEndTracingComplete() { | 376 void TracingMessageHandler::OnEndTracingComplete() { |
| 376 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 377 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 377 trace_enabled_ = false; | 378 trace_enabled_ = false; |
| 378 web_ui()->CallJavascriptFunction("tracingController.onEndTracingComplete"); | 379 web_ui()->CallJavascriptFunction("tracingController.onEndTracingComplete"); |
| 379 } | 380 } |
| 380 | 381 |
| 381 void TracingMessageHandler::OnTraceDataCollected( | 382 void TracingMessageHandler::OnTraceDataCollected( |
| 382 const std::string& trace_fragment) { | 383 const scoped_refptr<base::RefCountedString>& trace_fragment) { |
| 383 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 384 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 384 | 385 |
| 385 base::debug::TraceResultBuffer::SimpleOutput output; | 386 base::debug::TraceResultBuffer::SimpleOutput output; |
| 386 base::debug::TraceResultBuffer trace_buffer; | 387 base::debug::TraceResultBuffer trace_buffer; |
| 387 trace_buffer.SetOutputCallback(output.GetCallback()); | 388 trace_buffer.SetOutputCallback(output.GetCallback()); |
| 388 output.Append("tracingController.onTraceDataCollected("); | 389 output.Append("tracingController.onTraceDataCollected("); |
| 389 trace_buffer.Start(); | 390 trace_buffer.Start(); |
| 390 trace_buffer.AddFragment(trace_fragment); | 391 trace_buffer.AddFragment(trace_fragment->data()); |
| 391 trace_buffer.Finish(); | 392 trace_buffer.Finish(); |
| 392 output.Append(");"); | 393 output.Append(");"); |
| 393 | 394 |
| 394 web_ui()->GetWebContents()->GetRenderViewHost()-> | 395 web_ui()->GetWebContents()->GetRenderViewHost()-> |
| 395 ExecuteJavascriptInWebFrame(string16(), UTF8ToUTF16(output.json_output)); | 396 ExecuteJavascriptInWebFrame(string16(), UTF8ToUTF16(output.json_output)); |
| 396 } | 397 } |
| 397 | 398 |
| 398 void TracingMessageHandler::OnTraceBufferPercentFullReply(float percent_full) { | 399 void TracingMessageHandler::OnTraceBufferPercentFullReply(float percent_full) { |
| 399 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 400 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 400 web_ui()->CallJavascriptFunction( | 401 web_ui()->CallJavascriptFunction( |
| (...skipping 10 matching lines...) Expand all Loading... |
| 411 // | 412 // |
| 412 //////////////////////////////////////////////////////////////////////////////// | 413 //////////////////////////////////////////////////////////////////////////////// |
| 413 | 414 |
| 414 TracingUI::TracingUI(content::WebUI* web_ui) : WebUIController(web_ui) { | 415 TracingUI::TracingUI(content::WebUI* web_ui) : WebUIController(web_ui) { |
| 415 web_ui->AddMessageHandler(new TracingMessageHandler()); | 416 web_ui->AddMessageHandler(new TracingMessageHandler()); |
| 416 | 417 |
| 417 // Set up the chrome://tracing/ source. | 418 // Set up the chrome://tracing/ source. |
| 418 Profile::FromWebUI(web_ui)-> | 419 Profile::FromWebUI(web_ui)-> |
| 419 GetChromeURLDataManager()->AddDataSource(CreateTracingHTMLSource()); | 420 GetChromeURLDataManager()->AddDataSource(CreateTracingHTMLSource()); |
| 420 } | 421 } |
| OLD | NEW |