Index: chrome/browser/shell_integration.cc |
diff --git a/chrome/browser/shell_integration.cc b/chrome/browser/shell_integration.cc |
index a846887aa0d8bb3a30a26c9878843fec0096d1bd..7d746c3eeb2f28f2dabf24cf0b64b1e787da6901 100644 |
--- a/chrome/browser/shell_integration.cc |
+++ b/chrome/browser/shell_integration.cc |
@@ -4,6 +4,7 @@ |
#include "chrome/browser/shell_integration.h" |
+#include "base//task_scheduler/post_task.h" |
Lei Zhang
2017/05/19 23:23:13
Extra /
Patrick Monette
2017/05/26 01:50:12
Done.
|
#include "base/bind.h" |
#include "base/command_line.h" |
#include "base/files/file_util.h" |
@@ -136,15 +137,18 @@ base::string16 GetAppShortcutsSubdirName() { |
// |
void DefaultWebClientWorker::StartCheckIsDefault() { |
- BrowserThread::PostTask( |
- BrowserThread::FILE, FROM_HERE, |
- base::Bind(&DefaultWebClientWorker::CheckIsDefault, this, false)); |
+ base::CreateSequencedTaskRunnerWithTraits({base::MayBlock()}) |
+ ->PostTask(FROM_HERE, base::Bind(&DefaultWebClientWorker::CheckIsDefault, |
+ this, false)); |
} |
void DefaultWebClientWorker::StartSetAsDefault() { |
- BrowserThread::PostTask( |
- BrowserThread::FILE, FROM_HERE, |
- base::Bind(&DefaultWebClientWorker::SetAsDefault, this)); |
+ // TODO(pmonette): Windows' implementation uses a base::Timer which currently |
+ // still requires a SingleThreadTaskRunner. Change this to a |
+ // SequencedTaskRunner when crbug.com/552633 is fixed. |
+ base::CreateSingleThreadTaskRunnerWithTraits({base::MayBlock()}) |
+ ->PostTask(FROM_HERE, |
+ base::Bind(&DefaultWebClientWorker::SetAsDefault, this)); |
} |
/////////////////////////////////////////////////////////////////////////////// |
@@ -171,7 +175,8 @@ void DefaultWebClientWorker::OnCheckIsDefaultComplete( |
// DefaultWebClientWorker, private: |
void DefaultWebClientWorker::CheckIsDefault(bool is_following_set_as_default) { |
- DCHECK_CURRENTLY_ON(BrowserThread::FILE); |
+ base::ThreadRestrictions::AssertIOAllowed(); |
+ |
DefaultWebClientState state = CheckIsDefaultImpl(); |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
@@ -180,7 +185,7 @@ void DefaultWebClientWorker::CheckIsDefault(bool is_following_set_as_default) { |
} |
void DefaultWebClientWorker::SetAsDefault() { |
- DCHECK_CURRENTLY_ON(BrowserThread::FILE); |
+ base::ThreadRestrictions::AssertIOAllowed(); |
// SetAsDefaultImpl will make sure the callback is executed exactly once. |
SetAsDefaultImpl( |