Index: chrome/browser/ui/webui/tracing_ui.cc |
diff --git a/chrome/browser/ui/webui/tracing_ui.cc b/chrome/browser/ui/webui/tracing_ui.cc |
index dce1f4ad514580df6236eed9e95ed2259008a8fa..25e33e450c9e9f7eb033ca67e2e8529924acb689 100644 |
--- a/chrome/browser/ui/webui/tracing_ui.cc |
+++ b/chrome/browser/ui/webui/tracing_ui.cc |
@@ -117,6 +117,8 @@ class TracingMessageHandler |
// True while system tracing is active. |
bool system_trace_in_progress_; |
Dan Beam
2012/04/21 02:53:07
doc comment
|
+ bool observing_; |
+ |
void OnEndSystemTracingAck( |
const scoped_refptr<base::RefCountedString>& events_str_ptr); |
@@ -158,7 +160,8 @@ class TaskProxy : public base::RefCountedThreadSafe<TaskProxy> { |
TracingMessageHandler::TracingMessageHandler() |
: select_trace_file_dialog_type_(SelectFileDialog::SELECT_NONE), |
trace_enabled_(false), |
- system_trace_in_progress_(false) { |
+ system_trace_in_progress_(false), |
+ observing_(true) { |
stuartmorgan
2012/04/24 09:12:20
Same issue here.
Evan Stade
2012/04/24 17:52:40
Done.
|
} |
TracingMessageHandler::~TracingMessageHandler() { |
@@ -208,7 +211,9 @@ void TracingMessageHandler::OnTracingControllerInitialized( |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
// Watch for changes in GPUInfo |
- GpuDataManager::GetInstance()->AddObserver(this); |
+ if (!observing_) |
+ GpuDataManager::GetInstance()->AddObserver(this); |
+ observing_ = true; |
// Tell GpuDataManager it should have full GpuInfo. If the |
// Gpu process has not run yet, this will trigger its launch. |