Index: chrome/browser/browser_process_impl.cc |
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc |
index 958f805d366558b7c2862123cf10dd49485b3bc8..f648641e6c482b13a4d3bc77cb10d7bb1408f0b3 100644 |
--- a/chrome/browser/browser_process_impl.cc |
+++ b/chrome/browser/browser_process_impl.cc |
@@ -70,6 +70,7 @@ |
#include "content/browser/browser_thread.h" |
#include "content/browser/child_process_security_policy.h" |
#include "content/browser/gpu/gpu_process_host_ui_shim.h" |
+#include "content/browser/gpu/gpu_thread_host.h" |
#include "content/browser/plugin_service.h" |
#include "content/browser/renderer_host/render_process_host.h" |
#include "content/browser/renderer_host/resource_dispatcher_host.h" |
@@ -233,6 +234,10 @@ BrowserProcessImpl::~BrowserProcessImpl() { |
// Wait for removing plugin data to finish before shutting down the IO thread. |
WaitForPluginDataRemoverToFinish(); |
+ // Make sure the singleton gets destroyed. This cannot happen too late because |
+ // of necessary cleanup. |
+ GpuThreadHost::Destroy(); |
+ |
// Destroying the GpuProcessHostUIShims on the UI thread posts a task to |
// delete related objects on the GPU thread. This must be done before |
// stopping the GPU thread. The GPU thread will close IPC channels to renderer |