-
Sami Kyostila authored
*** 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. R=oysteine@chromium.org Bug: 968047 Change-Id: Ibc31dc65ba9108247d7e6780d5f815827f4a3354 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739814 Auto-Submit: Sami Kyöstilä <skyostil@chromium.org> Reviewed-by:
oysteine <oysteine@chromium.org> Commit-Queue: oysteine <oysteine@chromium.org> Cr-Commit-Position: refs/heads/master@{#684453}
d8fa3628