Index: chrome/browser/platform_util.cc |
diff --git a/chrome/browser/platform_util.cc b/chrome/browser/platform_util.cc |
index 5cd2e45ef73213007c86668bb94730bee4517008..c8f262fec35d0c582834e1b28e3a617467b5f8bd 100644 |
--- a/chrome/browser/platform_util.cc |
+++ b/chrome/browser/platform_util.cc |
@@ -8,6 +8,7 @@ |
#include "base/files/file_util.h" |
#include "base/logging.h" |
#include "chrome/browser/platform_util_internal.h" |
+#include "chrome/common/chrome_features.h" |
#include "content/public/browser/browser_thread.h" |
using content::BrowserThread; |
@@ -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 = |
+ base::FeatureList::IsEnabled(features::kBrowserHangFixesExperiment) |
+ ? 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 |