Index: chromecast/browser/metrics/external_metrics.cc |
diff --git a/chromecast/browser/metrics/external_metrics.cc b/chromecast/browser/metrics/external_metrics.cc |
index ce9884cb37dba966e1fae70867ac48ae3181d9a0..4b5f5d92f9713617a5adef2fc2cfcec71286d41c 100644 |
--- a/chromecast/browser/metrics/external_metrics.cc |
+++ b/chromecast/browser/metrics/external_metrics.cc |
@@ -58,7 +58,19 @@ ExternalMetrics::ExternalMetrics( |
DCHECK(stability_provider); |
} |
-ExternalMetrics::~ExternalMetrics() {} |
+ExternalMetrics::~ExternalMetrics() { |
+} |
+ |
+void ExternalMetrics::DestroySelf() { |
+ if (!content::BrowserThread::CurrentlyOn(content::BrowserThread::FILE)) { |
gunsch
2015/01/09 18:56:19
Why does it need to be destroyed on the file threa
gfhuang
2015/01/09 19:10:45
Yes
|
+ content::BrowserThread::PostTask( |
+ content::BrowserThread::FILE, |
+ FROM_HERE, |
+ base::Bind(&ExternalMetrics::DestroySelf, base::Unretained(this))); |
+ return; |
+ } |
+ delete this; |
+} |
void ExternalMetrics::Start() { |
ScheduleCollector(); |