| 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
|
|
|