Commit c3a601f9 authored by fdoray's avatar fdoray Committed by Commit bot

Use TaskScheduler instead of blocking pool in wallpaper_manager.cc.

The following traits are used:

Priority: Inherited (default)
  The priority is inherited from the calling context (i.e. TaskTraits
  are initialized with the priority of the current task).

Shutdown behavior: SKIP_ON_SHUTDOWN (default)
  Tasks posted with this mode that have not started executing at
  shutdown will never run. However, any task that has already begun
  executing when shutdown is invoked will be allowed to continue and
  will block shutdown until completion.

  Note: Previously, the task was posted to the blocking pool with
  BLOCK_SHUTDOWN (default in SequencedWorkerPool).

May Block:
  Tasks posted with MayBlock() may block. This includes but is not
  limited to tasks that wait on synchronous file I/O operations:
  read or write a file from disk, interact with a pipe or a socket,
  rename or delete a file, enumerate files in a directory, etc. This
  trait isn't required for the mere use of locks.

BUG=667892

Review-Url: https://codereview.chromium.org/2627083005
Cr-Commit-Position: refs/heads/master@{#443261}
parent 25e7324c
......@@ -19,6 +19,7 @@
#include "base/sha1.h"
#include "base/strings/string_number_conversions.h"
#include "base/sys_info.h"
#include "base/task_scheduler/post_task.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/threading/worker_pool.h"
#include "base/time/time.h"
......@@ -960,8 +961,8 @@ void WallpaperManager::OnDeviceWallpaperExists(const AccountId& account_id,
const std::string& hash,
bool exist) {
if (exist) {
base::PostTaskAndReplyWithResult(
BrowserThread::GetBlockingPool(), FROM_HERE,
base::PostTaskWithTraitsAndReplyWithResult(
FROM_HERE, base::TaskTraits().MayBlock(),
base::Bind(&CheckDeviceWallpaperMatchHash, GetDeviceWallpaperFilePath(),
hash),
base::Bind(&WallpaperManager::OnCheckDeviceWallpaperMatchHash,
......@@ -988,8 +989,8 @@ void WallpaperManager::OnDeviceWallpaperDownloaded(const AccountId& account_id,
return;
}
base::PostTaskAndReplyWithResult(
BrowserThread::GetBlockingPool(), FROM_HERE,
base::PostTaskWithTraitsAndReplyWithResult(
FROM_HERE, base::TaskTraits().MayBlock(),
base::Bind(&CheckDeviceWallpaperMatchHash, GetDeviceWallpaperFilePath(),
hash),
base::Bind(&WallpaperManager::OnCheckDeviceWallpaperMatchHash,
......@@ -1304,8 +1305,8 @@ bool WallpaperManager::SetDeviceWallpaperIfApplicable(
if (ShouldSetDeviceWallpaper(account_id, &url, &hash)) {
// Check if the device wallpaper exists and matches the hash. If so, use it
// directly. Otherwise download it first.
base::PostTaskAndReplyWithResult(
BrowserThread::GetBlockingPool(), FROM_HERE,
base::PostTaskWithTraitsAndReplyWithResult(
FROM_HERE, base::TaskTraits().MayBlock(),
base::Bind(&base::PathExists, GetDeviceWallpaperFilePath()),
base::Bind(&WallpaperManager::OnDeviceWallpaperExists,
weak_factory_.GetWeakPtr(), account_id, url, hash));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment