• Sami Kyostila's avatar
    ash: Always specify thread affinity when posting tasks · 758a0522
    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 with
           tools/git/mffr.py.
    
    This CL was uploaded by git cl split.
    
    R=oshima@chromium.org
    
    Bug: 968047
    Change-Id: I9ee81e17587644f1651afd664168c0f864df93ad
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1728877
    Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
    Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
    Reviewed-by: default avatarMitsuru Oshima (OOO 8/5,6) <oshima@chromium.org>
    Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#684397}
    758a0522
assistant_screen_context_controller.cc 9.79 KB