Index: chrome/browser/platform_util.cc |
diff --git a/chrome/browser/platform_util.cc b/chrome/browser/platform_util.cc |
index 5cd2e45ef73213007c86668bb94730bee4517008..fa7cc9c351b65c8dbe9fa3a47d61f75da623a7a5 100644 |
--- a/chrome/browser/platform_util.cc |
+++ b/chrome/browser/platform_util.cc |
@@ -7,6 +7,7 @@ |
#include "base/files/file.h" |
#include "base/files/file_util.h" |
#include "base/logging.h" |
+#include "chrome/browser/browser_hangs_experiment.h" |
#include "chrome/browser/platform_util_internal.h" |
#include "content/public/browser/browser_thread.h" |
@@ -57,9 +58,14 @@ void OpenItem(Profile* profile, |
OpenItemType item_type, |
const OpenOperationCallback& callback) { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- BrowserThread::PostBlockingPoolTask( |
+ base::SequencedWorkerPool::WorkerShutdown shutdown_mode = |
+ IsBrowserHangsExperimentEnabled() |
+ ? base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN |
+ : base::SequencedWorkerPool::SKIP_ON_SHUTDOWN; |
+ BrowserThread::GetBlockingPool()->PostWorkerTaskWithShutdownBehavior( |
FROM_HERE, base::Bind(&VerifyAndOpenItemOnBlockingThread, full_path, |
- item_type, callback)); |
+ item_type, callback), |
+ shutdown_mode); |
} |
} // namespace platform_util |