Chromium Code Reviews| Index: chrome/browser/ui/webui/help/version_updater_win.cc |
| diff --git a/chrome/browser/ui/webui/help/version_updater_win.cc b/chrome/browser/ui/webui/help/version_updater_win.cc |
| index 43bcd5945b4b3fd9a608a9030900a6a7785775b0..88e3bf3f62e6408dc79d6e687f7c7ae35a1d7e72 100644 |
| --- a/chrome/browser/ui/webui/help/version_updater_win.cc |
| +++ b/chrome/browser/ui/webui/help/version_updater_win.cc |
| @@ -5,14 +5,12 @@ |
| #include "chrome/browser/ui/webui/help/version_updater_win.h" |
| #include "base/memory/weak_ptr.h" |
| -#include "base/task_runner_util.h" |
| -#include "base/threading/sequenced_worker_pool.h" |
| +#include "base/task_scheduler/post_task.h" |
| #include "base/win/win_util.h" |
| #include "base/win/windows_version.h" |
| #include "chrome/browser/browser_process.h" |
| #include "chrome/browser/first_run/upgrade_util.h" |
| #include "chrome/grit/generated_resources.h" |
| -#include "content/public/browser/browser_thread.h" |
| #include "content/public/browser/web_contents.h" |
| #include "ui/aura/window.h" |
| #include "ui/aura/window_tree_host.h" |
| @@ -46,47 +44,37 @@ void VersionUpdaterWin::CheckForUpdate(const StatusCallback& callback, |
| void VersionUpdaterWin::OnUpdateCheckComplete( |
| const base::string16& new_version) { |
| - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| Status status = CHECKING; |
| if (new_version.empty()) { |
| // Google Update says that no new version is available. Check to see if a |
| // restart is needed for a previously-applied update to take effect. |
| - if (base::PostTaskAndReplyWithResult( |
| - content::BrowserThread::GetBlockingPool(), |
| - FROM_HERE, |
| - base::Bind(&upgrade_util::IsUpdatePendingRestart), |
| - base::Bind(&VersionUpdaterWin::OnPendingRestartCheck, |
| - weak_factory_.GetWeakPtr()))) { |
| - // Early exit since callback_ will be Run in OnPendingRestartCheck. |
| - return; |
| - } |
| - // Failure to post the task means that Chrome is shutting down. A pending |
| - // update (if there is one) will be applied as Chrome exits, so tell the |
| - // caller that it is up to date in either case. |
| - status = UPDATED; |
| - } else { |
| - // Notify the caller that the update is now beginning and initiate it. |
| - status = UPDATING; |
| - BeginUpdateCheckOnFileThread(true /* install_update_if_possible */); |
| + base::PostTaskWithTraitsAndReplyWithResult( |
| + FROM_HERE, {base::MayBlock(), base::TaskPriority::USER_VISIBLE}, |
| + base::Bind(&upgrade_util::IsUpdatePendingRestart), |
| + base::Bind(&VersionUpdaterWin::OnPendingRestartCheck, |
| + weak_factory_.GetWeakPtr())); |
| + // Early exit since callback_ will be Run in OnPendingRestartCheck. |
| + return; |
| } |
| + |
| + // Notify the caller that the update is now beginning and initiate it. |
| + status = UPDATING; |
| + BeginUpdateCheckOnFileThread(true /* install_update_if_possible */); |
| callback_.Run(status, 0, std::string(), 0, base::string16()); |
| } |
| void VersionUpdaterWin::OnUpgradeProgress(int progress, |
| const base::string16& new_version) { |
| - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| callback_.Run(UPDATING, progress, std::string(), 0, base::string16()); |
| } |
| void VersionUpdaterWin::OnUpgradeComplete(const base::string16& new_version) { |
| - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| callback_.Run(NEARLY_UPDATED, 0, std::string(), 0, base::string16()); |
| } |
| void VersionUpdaterWin::OnError(GoogleUpdateErrorCode error_code, |
| const base::string16& html_error_message, |
| const base::string16& new_version) { |
| - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
|
gab
2017/07/11 23:40:15
It's fine to keep these (the UI thread isn't going
calamity
2017/07/12 07:11:40
Done.
|
| base::string16 message; |
| Status status = FAILED; |
| @@ -118,8 +106,8 @@ void VersionUpdaterWin::BeginUpdateCheckOnFileThread( |
| bool install_update_if_possible) { |
| // Disconnect from any previous attempts to avoid redundant callbacks. |
| weak_factory_.InvalidateWeakPtrs(); |
| - BeginUpdateCheck(content::BrowserThread::GetTaskRunnerForThread( |
| - content::BrowserThread::FILE), |
| + BeginUpdateCheck(base::CreateSingleThreadTaskRunnerWithTraits( |
|
gab
2017/07/11 23:40:15
Have the leaves of this call obtain the task runne
calamity
2017/07/12 07:11:40
I gave this a shot. The latest patchset shows my a
|
| + {base::MayBlock(), base::TaskPriority::USER_VISIBLE}), |
| g_browser_process->GetApplicationLocale(), |
| install_update_if_possible, owner_widget_, |
| weak_factory_.GetWeakPtr()); |