Index: chrome/browser/browser_process_impl.cc |
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc |
index 30ecd9a173c9a662809bddca7933902ba40b5251..62ac77e07e28f8c60ef37b7183a11dd4ddb77a0a 100644 |
--- a/chrome/browser/browser_process_impl.cc |
+++ b/chrome/browser/browser_process_impl.cc |
@@ -542,7 +542,9 @@ void BrowserProcessImpl::Observe(NotificationType type, |
if (prefs->GetBoolean(prefs::kClearSiteDataOnExit) && |
local_state()->GetBoolean(prefs::kClearPluginLSODataEnabled)) { |
plugin_data_remover_ = new PluginDataRemover(); |
- plugin_data_remover_->StartRemoving(base::Time(), NULL); |
+ if (!plugin_data_remover_mime_type().empty()) |
+ plugin_data_remover_->set_mime_type(plugin_data_remover_mime_type()); |
+ plugin_data_remover_->StartRemoving(base::Time()); |
} |
} |
} else { |
@@ -551,13 +553,8 @@ void BrowserProcessImpl::Observe(NotificationType type, |
} |
void BrowserProcessImpl::WaitForPluginDataRemoverToFinish() { |
- if (!plugin_data_remover_.get() || !plugin_data_remover_->is_removing()) |
- return; |
- plugin_data_remover_->set_done_task(new MessageLoop::QuitTask()); |
- base::Time start_time(base::Time::Now()); |
- MessageLoop::current()->Run(); |
- UMA_HISTOGRAM_TIMES("ClearPluginData.wait_at_shutdown", |
- base::Time::Now() - start_time); |
+ if (plugin_data_remover_.get()) |
+ plugin_data_remover_->Wait(); |
} |
#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) |