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

Unified Diff: chrome/renderer/render_thread.cc

Issue 6551019: Trace_event upgrades (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More gooder js thanks to arv. Created 9 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/render_thread.cc
diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc
index 54e469421a5861670004136bc79519851bfdbb97..022d88f0a62f65edb5f820cbcda3b88b28df8121 100644
--- a/chrome/renderer/render_thread.cc
+++ b/chrome/renderer/render_thread.cc
@@ -230,7 +230,12 @@ RenderThread::RenderThread(const std::string& channel_name)
}
void RenderThread::Init() {
- TRACE_EVENT_BEGIN("RenderThread::Init", 0, "");
+ // Forward GPU trace data unless we are in single-process mode.
Ken Russell (switch to Gerrit) 2011/02/25 00:56:36 I'd avoid the reference to the GPU here -- the tra
+ if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess))
+ base::debug::TraceLog::GetInstance()->SetOutputCallback(NewCallback(this,
+ &RenderThread::OnTraceDataCollected));
+
+ TRACE_EVENT_BEGIN_LEGACY("RenderThread::Init", 0, "");
lazy_tls.Pointer()->Set(this);
#if defined(OS_WIN)
@@ -279,7 +284,7 @@ void RenderThread::Init() {
AddFilter(suicide_on_channel_error_filter_.get());
#endif
- TRACE_EVENT_END("RenderThread::Init", 0, "");
+ TRACE_EVENT_END_LEGACY("RenderThread::Init", 0, "");
}
RenderThread::~RenderThread() {
@@ -301,6 +306,10 @@ RenderThread::~RenderThread() {
lazy_tls.Pointer()->Set(NULL);
+ // Clean up GPU_TRACE
Ken Russell (switch to Gerrit) 2011/02/25 00:56:36 Remove apparently obsolete comment.
+ if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess))
+ base::debug::TraceLog::GetInstance()->SetOutputCallback(NULL);
+
// TODO(port)
#if defined(OS_WIN)
// Clean up plugin channels before this thread goes away.
@@ -644,6 +653,7 @@ bool RenderThread::OnControlMessageReceived(const IPC::Message& msg) {
IPC_MESSAGE_HANDLER(ViewMsg_SpellChecker_EnableAutoSpellCorrect,
OnSpellCheckEnableAutoSpellCorrect)
IPC_MESSAGE_HANDLER(ViewMsg_GpuChannelEstablished, OnGpuChannelEstablished)
+ IPC_MESSAGE_HANDLER(ViewMsg_SetTraceEnabled, OnSetTraceEnabled)
IPC_MESSAGE_HANDLER(ViewMsg_SetPhishingModel, OnSetPhishingModel)
IPC_MESSAGE_HANDLER(ViewMsg_SpeechInput_SetFeatureEnabled,
OnSetSpeechInputEnabled)
@@ -1097,6 +1107,18 @@ void RenderThread::OnGpuChannelEstablished(
}
}
+void RenderThread::OnTraceDataCollected(const std::string& json_events) {
+ Send(new ViewHostMsg_TraceDataCollectedRemotely(json_events));
+}
+
+void RenderThread::OnSetTraceEnabled(bool enabled) {
+ base::debug::TraceLog::GetInstance()->SetEnabled(enabled);
+ if (!enabled) {
+ std::string json_complete("['TRACE_ENDED']");
+ Send(new ViewHostMsg_TraceDataCollectedRemotely(json_complete));
+ }
+}
+
void RenderThread::OnSetPhishingModel(IPC::PlatformFileForTransit model_file) {
safe_browsing::PhishingClassifierDelegate::SetPhishingModel(model_file);
}

Powered by Google App Engine
This is Rietveld 408576698