chrome/browser: Always specify thread affinity when posting tasks (shard 3/3)
*** Note: There is no behavior change from this patch. ***
The PostTask APIs will shortly be changed to require all tasks to explicitly
specify their thread affinity, i.e., whether the task should run on the thread
pool or a specific named thread such as a BrowserThread. This patch updates all
call sites with thread affinity annotation. We also remove the "WithTraits"
suffix to make the call sites more readable.
Before:
// Thread pool task.
base::PostTaskWithTraits(FROM_HERE, {...}, ...);
// UI thread task.
base::PostTaskWithTraits(FROM_HERE, {BrowserThread::UI, ...}, ...);
After:
// Thread pool task.
base::PostTask(FROM_HERE, {base::ThreadPool(), ...}, ...);
// UI thread task.
base::PostTask(FROM_HERE, {BrowserThread::UI, ...}, ...);
This patch was semi-automatically prepared with these steps:
1. Patch in https://crrev.com/c/1635827 to make thread affinity a build-time
requirement.
2. Run an initial pass with a clang rewriter:
https://chromium-review.googlesource.com/c/chromium/src/+/1635623
3. ninja -C out/Debug | grep 'requested here' | cut -d: -f1-3 | sort | \
uniq > errors.txt
4. while read line; do
f=$(echo $line | cut -d: -f 1)
r=$(echo $line | cut -d: -f 2)
c=$(echo $line | cut -d: -f 3)
sed -i "${r}s/./&base::ThreadPool(),/$c" $f
done < errors.txt
5. GOTO 3 until build succeeds.
6. Remove the "WithTraits" suffix from task API call sites:
$ tools/git/mffr.py -i <(cat <<EOF
[
["PostTaskWithTraits",
"PostTask"],
["PostDelayedTaskWithTraits",
"PostDelayedTask"],
["PostTaskWithTraitsAndReply",
"PostTaskAndReply"],
["CreateTaskRunnerWithTraits",
"CreateTaskRunner"],
["CreateSequencedTaskRunnerWithTraits",
"CreateSequencedTaskRunner"],
["CreateUpdateableSequencedTaskRunnerWithTraits",
"CreateUpdateableSequencedTaskRunner"],
["CreateSingleThreadTaskRunnerWithTraits",
"CreateSingleThreadTaskRunner"],
["CreateCOMSTATaskRunnerWithTraits",
"CreateCOMSTATaskRunner"]
]
EOF
)
This CL was uploaded by git cl split.
Bug: 968047
Change-Id: I2d71d797e509699f21e328b99c89543f34afe831
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1748896
Auto-Submit: Sami Kyöstilä <[email protected]>
Commit-Queue: Avi Drissman <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Cr-Commit-Position: refs/heads/master@{#686090}
diff --git a/chrome/browser/google/google_brand_chromeos.cc b/chrome/browser/google/google_brand_chromeos.cc
index 10ade47..5128bd3 100644
--- a/chrome/browser/google/google_brand_chromeos.cc
+++ b/chrome/browser/google/google_brand_chromeos.cc
@@ -95,9 +95,9 @@
return;
}
- base::PostTaskWithTraitsAndReplyWithResult(
+ base::PostTaskAndReplyWithResult(
FROM_HERE,
- {base::MayBlock(), base::TaskPriority::BEST_EFFORT,
+ {base::ThreadPool(), base::MayBlock(), base::TaskPriority::BEST_EFFORT,
base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN},
base::Bind(&ReadBrandFromFile), base::Bind(&SetBrand, callback));
}