New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 878356 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 1
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task

Blocked on:
issue 867421



Sign in to add a comment

Replace BrowserThread's and WebThread's PostTask with base/task/post_task.h

Project Member Reported by eseckler@chromium.org, Aug 28

Issue description

This bug tracks replacing static task posting methods on BrowserThread with base's post_task.h API, by utilizing extension TaskTraits to specify the BrowserThread. For example:

  BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, ...)
  -> base::PostTaskWithTraits(FROM_HERE, {BrowserThread::IO}, ...)

  BrowserThread::PostNonNestableTask(BrowserThread::IO, FROM_HERE, ...)
  -> base::PostTaskWithTraits(FROM_HERE, {BrowserThread::IO, NonNestable()}, ...)

  BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)
  -> base::CreateSingleThreadTaskRunnerWithTraits({BrowserThread::IO})
 
Blockedon: 867421
Cc: gab@chromium.org skyos...@chromium.org fdoray@chromium.org alexclarke@chromium.org
Labels: -Pri-3 Pri-2
Labels: -Type-Bug Type-Task
Summary: Replace BrowserThread's and WebThread's PostTask with base/task/post_task.h (was: Replace BrowserThread's PostTask with base/task/post_task.h)
The same applies to ios's WebThread.
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4948f93032c0d7300758c18cd1a38d3503bc9616

commit 4948f93032c0d7300758c18cd1a38d3503bc9616
Author: Eric Seckler <eseckler@chromium.org>
Date: Tue Aug 28 14:51:22 2018

headless: Move creation of DevTools clients after browser startup

This prepares for replacing GetTaskRunnerForThread() inside
HeadlessDevToolsClient::Create() with
base::CreateSingleThreadTaskRunnerWithTraits(), which can only be
called after browser initialization.

Bug:  878356 
Change-Id: I851788ee9926cddd4662876c84e98a1fb9d0d47e
Reviewed-on: https://chromium-review.googlesource.com/1193367
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586698}
[modify] https://crrev.com/4948f93032c0d7300758c18cd1a38d3503bc9616/headless/app/headless_shell.cc
[modify] https://crrev.com/4948f93032c0d7300758c18cd1a38d3503bc9616/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/4948f93032c0d7300758c18cd1a38d3503bc9616/headless/lib/headless_browser_context_browsertest.cc
[modify] https://crrev.com/4948f93032c0d7300758c18cd1a38d3503bc9616/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/4948f93032c0d7300758c18cd1a38d3503bc9616/headless/test/headless_browser_test.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e329cb9df7aa3132c0687d46db3a3ffb2c065aed

commit e329cb9df7aa3132c0687d46db3a3ffb2c065aed
Author: Eric Seckler <eseckler@chromium.org>
Date: Tue Aug 28 16:09:40 2018

content: Add a TaskTraits extension and TaskExecutor for BrowserThreads.

This allows using //base/task/post_task.h for posting tasks to a
BrowserThread by specifying a BrowserThread::ID as a task trait.

Also adds a content::NonNestable task trait to support non-nestable
tasks in base::PostTaskWithTraits.

In the future, we will add further traits to facilitate scheduling
tasks onto different SequenceManager queues on the UI thread, see:
https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit?usp=sharing

Bug:  867421 , 863341,  878356 
Change-Id: Id8b7bc2e374917ceb421c7f6139790e6f1457511
Reviewed-on: https://chromium-review.googlesource.com/1181364
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586728}
[modify] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/base/task/post_task_unittest.cc
[modify] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/base/task/task_traits_details.h
[modify] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/content/app/content_main_runner_impl.cc
[add] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/content/browser/browser_thread_browsertest.cc
[modify] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/content/browser/browser_thread_impl.h
[modify] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/content/browser/browser_thread_unittest.cc
[modify] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/content/public/browser/BUILD.gn
[add] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/content/public/browser/browser_task_traits.cc
[add] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/content/public/browser/browser_task_traits.h
[modify] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/content/public/browser/browser_thread.h
[modify] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/content/public/test/browser_test_base.cc
[modify] https://crrev.com/e329cb9df7aa3132c0687d46db3a3ffb2c065aed/content/test/BUILD.gn

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/315c5d821c90d430db1c4e1ab3212d7fd49f4eff

commit 315c5d821c90d430db1c4e1ab3212d7fd49f4eff
Author: Eric Seckler <eseckler@chromium.org>
Date: Wed Aug 29 10:15:59 2018

base/content: fix comments in browser_thread_impl.cc and task_traits_details.h

TBR=gab@chromium.org

Bug:  878356 ,  867421 
Change-Id: I6e79125e93207696a6df3165e4c5bc968b364e14
Reviewed-on: https://chromium-review.googlesource.com/1193931
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587060}
[modify] https://crrev.com/315c5d821c90d430db1c4e1ab3212d7fd49f4eff/base/task/task_traits_details.h
[modify] https://crrev.com/315c5d821c90d430db1c4e1ab3212d7fd49f4eff/content/browser/browser_thread_impl.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dbfb6a1b7313a0987976f5db401a8bcaab27785f

commit dbfb6a1b7313a0987976f5db401a8bcaab27785f
Author: Eric Seckler <eseckler@chromium.org>
Date: Wed Aug 29 13:05:47 2018

ios: Add a TaskTraits extension and TaskExecutor for WebThreads.

This allows using //base/task/post_task.h for posting tasks to a
WebThread by specifying a WebThread::ID as a task trait.

Related patch for BrowserThreads: https://crrev.com/c/1181364

Bug:  867421 ,  878356 
Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs
Change-Id: Ic4a539eadc1fda199376c42afa44ba95e39e7041
Reviewed-on: https://chromium-review.googlesource.com/1188283
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Kurt Horimoto <kkhorimoto@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587089}
[modify] https://crrev.com/dbfb6a1b7313a0987976f5db401a8bcaab27785f/ios/web/BUILD.gn
[modify] https://crrev.com/dbfb6a1b7313a0987976f5db401a8bcaab27785f/ios/web/app/web_main_runner.mm
[modify] https://crrev.com/dbfb6a1b7313a0987976f5db401a8bcaab27785f/ios/web/public/BUILD.gn
[add] https://crrev.com/dbfb6a1b7313a0987976f5db401a8bcaab27785f/ios/web/public/web_task_traits.cc
[add] https://crrev.com/dbfb6a1b7313a0987976f5db401a8bcaab27785f/ios/web/public/web_task_traits.h
[modify] https://crrev.com/dbfb6a1b7313a0987976f5db401a8bcaab27785f/ios/web/public/web_thread.h
[modify] https://crrev.com/dbfb6a1b7313a0987976f5db401a8bcaab27785f/ios/web/test/test_web_thread_bundle.cc
[modify] https://crrev.com/dbfb6a1b7313a0987976f5db401a8bcaab27785f/ios/web/web_thread_impl.cc
[modify] https://crrev.com/dbfb6a1b7313a0987976f5db401a8bcaab27785f/ios/web/web_thread_impl.h
[add] https://crrev.com/dbfb6a1b7313a0987976f5db401a8bcaab27785f/ios/web/web_thread_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/158b8efee111bb1d218d4566521578118aba5458

commit 158b8efee111bb1d218d4566521578118aba5458
Author: Eric Seckler <eseckler@chromium.org>
Date: Wed Aug 29 17:22:46 2018

content: Register BrowserThread's TaskExecutor in TestBrowserThreadBundle

Bug:  878356 
Change-Id: I19972d5ae7c4be89328e2040c8a436ef6ae55fb9
Reviewed-on: https://chromium-review.googlesource.com/1194076
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587173}
[modify] https://crrev.com/158b8efee111bb1d218d4566521578118aba5458/content/public/test/test_browser_thread_bundle.cc
[modify] https://crrev.com/158b8efee111bb1d218d4566521578118aba5458/content/public/test/test_browser_thread_bundle_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/03d0d427b4f1713bcaf975d1586f4ad4be53bec5

commit 03d0d427b4f1713bcaf975d1586f4ad4be53bec5
Author: Eric Seckler <eseckler@chromium.org>
Date: Wed Aug 29 20:06:36 2018

content: Add a nocompile test for browser TaskTraits.

Also adds the generated output file directory as include directory to
nocompile build targets.

Bug:  878356 ,  867421 
Change-Id: I51a8433a1e5295949f67aaea188444f81c394100
Reviewed-on: https://chromium-review.googlesource.com/1194224
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587265}
[modify] https://crrev.com/03d0d427b4f1713bcaf975d1586f4ad4be53bec5/build/nocompile.gni
[add] https://crrev.com/03d0d427b4f1713bcaf975d1586f4ad4be53bec5/content/public/browser/browser_task_traits_unittest.nc
[modify] https://crrev.com/03d0d427b4f1713bcaf975d1586f4ad4be53bec5/content/test/BUILD.gn

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6cf08db894b3d0360dc64e3c8e8156379f8a8f3f

commit 6cf08db894b3d0360dc64e3c8e8156379f8a8f3f
Author: Eric Seckler <eseckler@chromium.org>
Date: Thu Aug 30 12:01:55 2018

docs: Update threading_and_tasks.md for BrowserThread task traits.

Bug:  878356 ,  867421 
Change-Id: I0991a840a0787b6863bea79ee4079e5db7fdfe0b
Reviewed-on: https://chromium-review.googlesource.com/1194074
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587525}
[modify] https://crrev.com/6cf08db894b3d0360dc64e3c8e8156379f8a8f3f/docs/threading_and_tasks.md

FYI, a prototype replacing all callsites exists here:
https://chromium-review.googlesource.com/c/chromium/src/+/1186623

The modifications were generated by this script:
https://chromium-review.googlesource.com/c/chromium/src/+/1186623/7/tools/git/replace_browserthread.py

I'm working on preparatory patches ensuring that a TaskExecutor is registered (via a TestBrowserThreadBundle) in all those tests whose dependencies need to obtain a TaskRunner for a BrowserThread or post a task to one:

https://chromium-review.googlesource.com/c/chromium/src/+/1208050
https://chromium-review.googlesource.com/c/chromium/src/+/1208170
https://chromium-review.googlesource.com/c/chromium/src/+/1207896

Once those have landed, I intend to rebase + cl-split the callsite replacement patch.
Project Member

Comment 12 by bugdroid1@chromium.org, Sep 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/56964ea9b7fed6b05803426c7a74c54496ec1165

commit 56964ea9b7fed6b05803426c7a74c54496ec1165
Author: Eric Seckler <eseckler@chromium.org>
Date: Fri Sep 07 11:08:55 2018

chrome: Prepare browser tests for PostTask refactor.

Updates prerender and safe browsing browser tests to initialize the
SafeBrowsingDatabaseManager after BrowserThreads were created (but
before they are started). This is required for the upcoming move of
BrowserThread::PostTask to base/task/post_task.h, as construction of
SafeBrowsingDatabaseManager obtains a TaskRunner for the IO thread.
In the future, this has to happen after thread initialization.

Bug:  878356 
Change-Id: I1d4c614690ba3aacf4887fefe57d378c23668706
Reviewed-on: https://chromium-review.googlesource.com/1211735
Reviewed-by: Jialiu Lin <jialiul@chromium.org>
Reviewed-by: David Roger <droger@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589488}
[modify] https://crrev.com/56964ea9b7fed6b05803426c7a74c54496ec1165/chrome/browser/prerender/prerender_test_utils.cc
[modify] https://crrev.com/56964ea9b7fed6b05803426c7a74c54496ec1165/chrome/browser/prerender/prerender_test_utils.h
[modify] https://crrev.com/56964ea9b7fed6b05803426c7a74c54496ec1165/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc

> In the future, this has to happen after thread initialization.

Nice! So we'll finally be able to get rid of the lazy task runners in browser_thread_impl.cc (see my TODO there?!)

@fdoray : can you review the refactoring script in #11?
Project Member

Comment 14 by bugdroid1@chromium.org, Sep 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/882d37ed9f164c72c35f638219c4c5ff5f685798

commit 882d37ed9f164c72c35f638219c4c5ff5f685798
Author: Eric Seckler <eseckler@chromium.org>
Date: Fri Sep 07 18:54:43 2018

components: Prepare unittests for PostTask refactor.

This adds TestBrowserThreadBundles to unittests that will need it when
we replace BrowserThread::PostTask() and friends with base/post_task.h.

The TestBrowserThreadBundle initializes globals that are required for
things like posting a task to or obtaining a TaskRunner for a BrowserThread.

I'm making this change in a separate patch to make review of the
future automated refactoring patches easier.

Depends on https://crrev.com/c/1185887.

Bug:  878356 
Change-Id: Ifd332b995e3449b26d9c93283fb708792b2e66eb
Reviewed-on: https://chromium-review.googlesource.com/1208050
Reviewed-by: Derek Cheng <imcheng@chromium.org>
Reviewed-by: Jialiu Lin <jialiul@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589613}
[modify] https://crrev.com/882d37ed9f164c72c35f638219c4c5ff5f685798/components/cast_channel/cast_message_handler_unittest.cc
[modify] https://crrev.com/882d37ed9f164c72c35f638219c4c5ff5f685798/components/cast_channel/cast_socket_service_unittest.cc
[modify] https://crrev.com/882d37ed9f164c72c35f638219c4c5ff5f685798/components/safe_browsing/db/whitelist_checker_client_unittest.cc
[modify] https://crrev.com/882d37ed9f164c72c35f638219c4c5ff5f685798/components/safe_browsing/triggers/ad_sampler_trigger_unittest.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Sep 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/458f348d254d9ef92134566d04711a2c8167fa5e

commit 458f348d254d9ef92134566d04711a2c8167fa5e
Author: Eric Seckler <eseckler@chromium.org>
Date: Tue Sep 11 12:03:38 2018

ios: Add NonNestable TaskTrait

Turns out we'll need it afterall since some ios code
uses NonNestable tasks, e.g. indirectly via DeleteSoon.

Bug:  867421 ,  878356 
Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs
Change-Id: I77c0161b083c987f48b0f3270490e8feee241b18
Reviewed-on: https://chromium-review.googlesource.com/1216564
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590269}
[modify] https://crrev.com/458f348d254d9ef92134566d04711a2c8167fa5e/ios/web/public/web_task_traits.h
[modify] https://crrev.com/458f348d254d9ef92134566d04711a2c8167fa5e/ios/web/web_thread_impl.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Sep 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/217006b4ff0a0892387cadc27a29bb3a4ddf9e96

commit 217006b4ff0a0892387cadc27a29bb3a4ddf9e96
Author: Eric Seckler <eseckler@chromium.org>
Date: Tue Sep 11 15:21:02 2018

ios: Replace uses of WebThread task posting with post_task.h API

To unify the way tasks are posted, we're changing the way tasks
are posted to a WebThread. Instead of
WebThread::PostTask(WebThread::UI, ..) and alike, tasks are now
posted via base::PostTaskWithTraits(FROM_HERE, {WebThread::UI}).

Also replaces uses of TestWebThread with TestWebThreadBundle
in ios_io_thread_unittest.mm and request_tracker_impl_unittest.mm.

In a follow-up patch, we will remove public PostTask and
GetTaskRunnerForThread methods from WebThread.

Design doc for TaskTraits:
https://docs.google.com/document/d/1SGy9VTXUwyXEX_yBZ0ukFAnS8B0hDeMUJD-1iALaE-Q/edit?usp=sharing

Bug:  878356 
Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs
Change-Id: Iedc1189834e5f1b1eeb00b2ae1fc707f8e4f5256
Reviewed-on: https://chromium-review.googlesource.com/1216663
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590315}
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/components/autofill/ios/browser/fake_autofill_agent.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/components/autofill/ios/browser/fake_js_autofill_manager.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/components/proxy_config/ios/proxy_service_factory.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/app/application_delegate/app_state.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/app/application_delegate/app_state_unittest.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/app/application_delegate/metrics_mediator.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/application_context_impl.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/bookmarks/bookmark_model_factory.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/browser_state/chrome_browser_state_io_data.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/browser_state/off_the_record_chrome_browser_state_impl.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/browser_state/off_the_record_chrome_browser_state_io_data.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/browser_state/test_chrome_browser_state.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/browser_state/test_chrome_browser_state_isolated_context.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/browsing_data/browsing_data_remover_impl.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/browsing_data/cache_counter.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/browsing_data/cache_counter_unittest.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/gcm/ios_chrome_gcm_profile_service_factory.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/ios_chrome_main_parts.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/net/chrome_cookie_store_ios_client.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/net/cookie_util.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/net/ios_chrome_http_user_agent_settings.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/net/ios_chrome_network_delegate.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/net/ios_chrome_url_request_context_getter.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/omaha/omaha_service.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/share_extension/share_extension_item_receiver.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/sync/glue/sync_start_util.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/sync/ios_chrome_sync_client.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/sync/profile_sync_service_factory.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/tabs/tab_model.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/ui/chrome_web_view_factory.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/ui/contextual_search/contextual_search_delegate.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/ui/image_util/image_copier.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/ui/settings/settings_egtest.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/web/image_fetch_tab_helper.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/chrome/browser/web_data_service_factory.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/components/io_thread/ios_io_thread.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/components/io_thread/ios_io_thread_unittest.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/app/web_main_loop.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/browser_state.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/download/download_task_impl.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/net/cookie_notification_bridge.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/net/cookies/wk_http_system_cookie_store.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/net/crw_cert_verification_controller.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/net/request_tracker_impl.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/net/request_tracker_impl_unittest.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/network_context_owner.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/network_context_owner_unittest.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/public/test/fakes/test_browser_state.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/service_manager_connection_impl_unittest.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/service_manager_context.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/shell/shell_browser_state.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/web_state/session_certificate_policy_cache_impl.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/web_state/session_certificate_policy_cache_impl_unittest.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/web_thread_impl.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/webui/url_data_manager_ios.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/webui/url_data_manager_ios_backend.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web/webui/url_data_source_ios_impl.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web_view/internal/autofill/cwv_autofill_data_manager.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web_view/internal/autofill/cwv_credit_card_verifier_unittest.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web_view/internal/ios_global_state_web_view_configuration.cc
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web_view/internal/sync/web_view_gcm_profile_service_factory.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web_view/internal/sync/web_view_sync_client.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web_view/internal/web_view_browser_state.mm
[modify] https://crrev.com/217006b4ff0a0892387cadc27a29bb3a4ddf9e96/ios/web_view/internal/webdata_services/web_view_web_data_service_wrapper_factory.cc

Project Member

Comment 17 by bugdroid1@chromium.org, Sep 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c02219b93961462ae4037bb184cdc0bb6b88828a

commit c02219b93961462ae4037bb184cdc0bb6b88828a
Author: Eric Seckler <eseckler@chromium.org>
Date: Tue Sep 11 17:54:34 2018

content: Prepare unittests for PostTask refactor.

This adds TestBrowserThreadBundles to unittests that will need it when
we replace BrowserThread::PostTask() and friends with base/post_task.h.

The TestBrowserThreadBundle initializes globals that are required for
things like posting a task to or obtaining a TaskRunner for a BrowserThread.

I'm making this change in a separate patch to make review of the
future automated refactoring patches easier.

Bug:  878356 
Change-Id: I100eefb16afa5490c9c7dee56c9a0bdb72501524
Reviewed-on: https://chromium-review.googlesource.com/1208170
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Christian Fremerey <chfremer@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590387}
[modify] https://crrev.com/c02219b93961462ae4037bb184cdc0bb6b88828a/content/browser/browser_main_loop_unittest.cc
[modify] https://crrev.com/c02219b93961462ae4037bb184cdc0bb6b88828a/content/browser/renderer_host/media/service_video_capture_device_launcher_unittest.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Sep 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f3456e51dc97cf9c68b3a4aeb704d9dc4a935d7

commit 5f3456e51dc97cf9c68b3a4aeb704d9dc4a935d7
Author: Eric Seckler <eseckler@chromium.org>
Date: Wed Sep 12 12:57:31 2018

ios: Remove WebThread task posting methods.

These methods have been replaced with the base/post_task.h API as
described in web_task_traits.h.

Bug:  878356 
Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs
Change-Id: I5e31710e2a1a19bb5c5f62b8955c8f1f13fc67ac
Reviewed-on: https://chromium-review.googlesource.com/1219888
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590654}
[modify] https://crrev.com/5f3456e51dc97cf9c68b3a4aeb704d9dc4a935d7/ios/web/public/web_thread.h
[modify] https://crrev.com/5f3456e51dc97cf9c68b3a4aeb704d9dc4a935d7/ios/web/web_thread_impl.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Sep 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84

commit 2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84
Author: Eric Seckler <eseckler@chromium.org>
Date: Thu Sep 13 13:02:31 2018

chrome: Prepare unittests for PostTask refactor.

This adds TestBrowserThreadBundles to unittests that will need it when
we replace BrowserThread::PostTask() and friends with base/post_task.h.

The TestBrowserThreadBundle initializes globals that are required for
things like posting a task to or obtaining a TaskRunner for a BrowserThread.

I'm making this change in a separate patch to make review of the
future automated refactoring patches easier.

Bug:  878356 
Change-Id: Idcd72e2500e7b524a513120abbcc7d58c318b05f
Reviewed-on: https://chromium-review.googlesource.com/1207896
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: proberge <proberge@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Derek Cheng <imcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590986}
[modify] https://crrev.com/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84/chrome/browser/google/google_search_domain_mixing_metrics_emitter_unittest.cc
[modify] https://crrev.com/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84/chrome/browser/media/router/issue_manager_unittest.cc
[modify] https://crrev.com/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84/chrome/browser/media/router/media_sinks_observer_unittest.cc
[modify] https://crrev.com/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84/chrome/browser/media/router/presentation/browser_presentation_connection_proxy_unittest.cc
[modify] https://crrev.com/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84/chrome/browser/media/router/presentation/presentation_media_sinks_observer_unittest.cc
[modify] https://crrev.com/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84/chrome/browser/media/router/providers/cast/cast_app_discovery_service_unittest.cc
[modify] https://crrev.com/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84/chrome/browser/media/router/providers/cast/cast_media_route_provider_unittest.cc
[modify] https://crrev.com/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84/chrome/browser/media/router/providers/dial/dial_media_route_provider_unittest.cc
[modify] https://crrev.com/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84/chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider_unittest.cc
[modify] https://crrev.com/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84/chrome/browser/metrics/thread_watcher_unittest.cc
[modify] https://crrev.com/2325ecf5e9d1fd50d09e65a4ce9f1d2b7ce6fb84/chrome/browser/safe_browsing/incident_reporting/resource_request_detector_unittest.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Sep 14

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3a161f1327201eebfec0abd2b3f85d55a5dc8fd8

commit 3a161f1327201eebfec0abd2b3f85d55a5dc8fd8
Author: Eric Seckler <eseckler@chromium.org>
Date: Fri Sep 14 10:15:32 2018

chrome metrics: Refactor ThreadWatcherTest for TestBrowserThreadBundle

This makes ThreadWatcherTest compatible for use of
TestBrowserThreadBundle to prepare for the upcoming PostTask refactor.

The TestBrowserThreadBundle initializes globals that will be required to
post a task to or obtain a TaskRunner for a BrowserThread.

This is a more involved change, since ThreadWatcherTest currently runs
the UI thread on a separate thread from the main thread. Since this is
not supported by TBTB, this change also refactors the test architecture.

The tests now use the WatchDogThread to verify expectations and wait
for state changes on the ThreadWatcher objects. This is closer to the
way ThreadWatcher would be used in practice.

State changes are now observed on the WatchDogThread, too, eliminaing
the need for some locking, and signalling uses nested RunLoops instead
of condition variables where possible.

Bug:  878356 
Change-Id: I6e759b140c7544b7abbdb8fd59f6a51163dc31e4
Reviewed-on: https://chromium-review.googlesource.com/1222891
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591317}
[modify] https://crrev.com/3a161f1327201eebfec0abd2b3f85d55a5dc8fd8/chrome/browser/metrics/thread_watcher_unittest.cc

Project Member

Comment 21 by bugdroid1@chromium.org, Sep 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/04e71d2e6ba7447c5f992bb7a36735ee4a36c20a

commit 04e71d2e6ba7447c5f992bb7a36735ee4a36c20a
Author: Eric Seckler <eseckler@chromium.org>
Date: Mon Sep 17 11:19:42 2018

cast: Use TestBrowserThreadBundle in CastActivityManagerTest

This adds TestBrowserThreadBundles to the test, which will need it when
we replace BrowserThread::PostTask() and friends with base/post_task.h.

The TestBrowserThreadBundle initializes globals that are required for
things like posting a task to or obtaining a TaskRunner for a BrowserThread.

I'm making this change in a separate patch to make review of the
future automated refactoring patches easier.

TBR=imcheng@chromium.org

Bug:  878356 
Change-Id: I37f50502c01e1ec87c91cd7f9cdb7777da55e80a
Reviewed-on: https://chromium-review.googlesource.com/1227936
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591640}
[modify] https://crrev.com/04e71d2e6ba7447c5f992bb7a36735ee4a36c20a/chrome/browser/media/router/providers/cast/cast_activity_manager_unittest.cc

Project Member

Comment 22 by bugdroid1@chromium.org, Sep 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/442086c5265368fc99ea8ddf60832e42896007cc

commit 442086c5265368fc99ea8ddf60832e42896007cc
Author: Eric Seckler <eseckler@chromium.org>
Date: Mon Sep 17 14:00:44 2018

content: Prepare MediaStreamUIProxyTests for PostTask refactor

This adds a TestBrowserThreadBundle to the test, which will need it when
we replace BrowserThread::PostTask() and friends with base/post_task.h.

The TestBrowserThreadBundle initializes globals that are required for
things like posting a task to or obtaining a TaskRunner for a BrowserThread.

Bug:  878356 
Change-Id: I90daa05b9724a4412cb76e562a87e3c1b5d69b93
Reviewed-on: https://chromium-review.googlesource.com/1228115
Reviewed-by: Max Morin <maxmorin@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591661}
[modify] https://crrev.com/442086c5265368fc99ea8ddf60832e42896007cc/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Sep 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e105c2d5ad371e0c321bebbb38ac5805a289f07c

commit e105c2d5ad371e0c321bebbb38ac5805a289f07c
Author: Eric Seckler <eseckler@chromium.org>
Date: Mon Sep 17 21:27:07 2018

content: Fix destruction of BrowserTaskExecutor in BrowserMainLoopTest

The call to BrowserTaskExecutor::ResetForTesting() happens too early:
ShutdownThreadsAndCleanUp will require it to be present once we replace
BrowserThread::PostTask with base::PostTaskWithTraits.

Bug:  878356 
Change-Id: I7b2913288705107b509655c0a0cdb43374eb0157
Reviewed-on: https://chromium-review.googlesource.com/1227993
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591822}
[modify] https://crrev.com/e105c2d5ad371e0c321bebbb38ac5805a289f07c/content/browser/browser_main_loop_unittest.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Sep 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d2a61dc99093efd77398c1396c141d4f590a617b

commit d2a61dc99093efd77398c1396c141d4f590a617b
Author: Eric Seckler <eseckler@chromium.org>
Date: Mon Sep 17 22:05:02 2018

chrome: Remove BrowserProcessImplTest

The test is of questionable use (browser tests are much better suited to
test the integration of BrowserProcessImpl), currently flaky and/or
disabled on multiple platforms, and would require exceptions in
content's public test utilities to keep working. See also discussion on
https://chromium-review.googlesource.com/c/chromium/src/+/1228154.

Bug:  878356 
Change-Id: Ica6cda5068440a5f064f6eb17ef0ec4d8d9bd478
Reviewed-on: https://chromium-review.googlesource.com/1228139
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591836}
[delete] https://crrev.com/196454e3fde49ffea3b580a520a8778e2133982c/chrome/browser/browser_process_impl_unittest.cc
[modify] https://crrev.com/d2a61dc99093efd77398c1396c141d4f590a617b/chrome/test/BUILD.gn

Project Member

Comment 25 by bugdroid1@chromium.org, Sep 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e3605ec3d109901d1a5cd6633f7a396637af811

commit 1e3605ec3d109901d1a5cd6633f7a396637af811
Author: Eric Seckler <eseckler@chromium.org>
Date: Tue Sep 18 11:32:05 2018

chromeos: Prepare browsertests for PostTask refactor

This delays initialization of MockMediaRouters in chromeos tests until
the browser's task executor is initialized.

This is required for the upcoming move of
BrowserThread::GetTaskRunnerForThread to
base::Create*TaskRunnerWithTraits. In the future, TaskRunners can only
be obtained after thread initialization. Since MockMediaRouter obtains
a TaskRunner in its constructor, this patch moves its creation.

TBR=mtomasz@chromium.org,dominickn@chromium.org

Bug:  878356 
Change-Id: I951e02617de4b81dabe8ed16b8d760028fa6547f
Reviewed-on: https://chromium-review.googlesource.com/1230038
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591999}
[modify] https://crrev.com/1e3605ec3d109901d1a5cd6633f7a396637af811/chrome/browser/apps/platform_apps/app_browsertest_util.cc
[modify] https://crrev.com/1e3605ec3d109901d1a5cd6633f7a396637af811/chrome/browser/apps/platform_apps/app_browsertest_util.h
[modify] https://crrev.com/1e3605ec3d109901d1a5cd6633f7a396637af811/chrome/browser/chromeos/file_manager/external_filesystem_apitest.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Sep 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/283f494ff48fe77d90a7b15756dd1e155ed52b60

commit 283f494ff48fe77d90a7b15756dd1e155ed52b60
Author: Eric Seckler <eseckler@chromium.org>
Date: Tue Sep 18 16:59:11 2018

chromeos: Prepare TrayCastMediaRouter test for PostTask refactor

This delays initialization of MockMediaRouters in the test until the
browser's task executor is initialized.

This is required for the upcoming move of

BrowserThread::GetTaskRunnerForThread to
base::Create*TaskRunnerWithTraits. In the future, TaskRunners can only
be obtained after thread initialization. Since MockMediaRouter obtains
a TaskRunner in its constructor, this patch moves its creation.

Bug:  878356 
Change-Id: Idd599d23246d42427d35bccd3c027f0a24427cfa
Reviewed-on: https://chromium-review.googlesource.com/1230024
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592081}
[modify] https://crrev.com/283f494ff48fe77d90a7b15756dd1e155ed52b60/chrome/browser/ui/ash/system_tray_tray_cast_browsertest_media_router_chromeos.cc

Project Member

Comment 27 by bugdroid1@chromium.org, Sep 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8652dcd5d8f35d68f105136b3857e9b54148c31b

commit 8652dcd5d8f35d68f105136b3857e9b54148c31b
Author: Eric Seckler <eseckler@chromium.org>
Date: Thu Sep 20 10:42:28 2018

content: Replace uses of BrowserThread task posting with post_task.h API

This patch updates callsites of BrowserThread task posting methods to
use the post_task.h API instead.

Background: We're changing the way tasks are posted to a BrowserThread,
see PSA [1] and design doc [2]. This unifies the way tasks are posted
and paves the way for annotating tasks with task types and other
attributes that can be used to prioritize tasks in the future browser
UI thread scheduler (design doc [3]).

This CL changes callsites of the following forms:
(a) BrowserThread::Post*Task(BrowserThread::UI/IO, ..) to
    base::PostTaskWithTraits(FROM_HERE, {BrowserThread::UI/IO}, ..),
(b) BrowserThread::GetTaskRunnerForThread(BrowserThread::UI/IO) to
    base::CreateSingleThreadTaskRunnerWithTraits({BrowserThread::UI/IO}).

It also adds necessary includes. These mechanical changes were applied
by a script.

Tasks posted with the same BrowserThread::ID trait (via
PostTaskWithTraits or TaskRunners obtained from
Create*TaskRunnerWithTraits) will still execute in the order they
were posted, see [4].

[1] https://groups.google.com/a/chromium.org/d/topic/chromium-dev/A3_snMVXv8A/discussion
[2] https://docs.google.com/document/d/1SGy9VTXUwyXEX_yBZ0ukFAnS8B0hDeMUJD-1iALaE-Q/edit?usp=sharing
[3] https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit?usp=sharing
[4] https://cs.chromium.org/chromium/src/base/task/post_task.h?l=66

TBR=achuith@chromium.org, afakhry@chromium.org, agl@chromium.org, avi@chromium.org, bbudge@chromium.org, bengr@chromium.org, benwells@chromium.org, bnc@chromium.org, calamity@chromium.org, ccameron@chromium.org, chiniforooshan@chromium.org, cjgrant@chromium.org, cmumford@chromium.org, csharrison@chromium.org, dalecurtis@chromium.org, delphick@chromium.org, dgozman@chromium.org, dmazzoni@chromium.org, droger@chromium.org, dschuff@chromium.org, dullweber@chromium.org, erikchen@chromium.org, felt@chromium.org, fgorski@chromium.org, gogerald@chromium.org, groby@chromium.org, horo@chromium.org, imcheng@chromium.org, jcivelli@chromium.org, jianli@chromium.org, jinho.bang@samsung.com, jkarlin@chromium.org, jochen@chromium.org, kinuko@chromium.org, lazyboy@chromium.org, lpy@chromium.org, markusheintz@chromium.org, mattcary@chromium.org, maxmorin@chromium.org, miu@chromium.org, mkwst@chromium.org, mmenke@chromium.org, mpearson@chromium.org, msramek@chromium.org, nick@chromium.org, nparker@chromium.org, nyquist@chromium.org, peter@chromium.org, pwnall@chromium.org, qinmin@chromium.org, rbpotter@chromium.org, rdevlin.cronin@chromium.org, rouslan@chromium.org, scottmg@chromium.org, servolk@chromium.org, skuhne@chromium.org, sky@chromium.org, tapted@chromium.org, tbansal@chromium.org, thestig@chromium.org, tommi@chromium.org, tommycli@chromium.org, torne@chromium.org, tschumann@chromium.org, vabr@chromium.org, vakh@chromium.org, waffles@chromium.org, yfriedman@chromium.org, zmo@chromium.org, bartfab@chromium.org

Bug:  878356 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I37526c8e75630ee7bec29421276094a30e903894
Reviewed-on: https://chromium-review.googlesource.com/1186623
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592750}
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/aw_browser_context.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/aw_browser_terminator.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/aw_content_browser_client.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/aw_contents.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/aw_contents_statics.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/aw_gl_functor.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/aw_login_delegate.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/aw_quota_manager_bridge.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/aw_safe_browsing_ui_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/aw_url_checker_delegate_impl.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/net/aw_network_delegate.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/net/aw_url_request_context_getter.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/net/aw_url_request_context_getter_unittest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/net/token_binding_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/android_webview/browser/tracing/aw_tracing_controller.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/apps/launcher.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/after_startup_task_utils.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/after_startup_task_utils_unittest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/android/bookmarks/partner_bookmarks_reader.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/android/download/download_controller.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/android/feedback/process_id_feedback_source.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/android/history_report/data_provider.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/android/provider/run_on_ui_thread_blocking.h
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/android/thumbnail/thumbnail_cache.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/android/vr/mailbox_to_surface_bridge.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/apps/app_shim/app_shim_host_manager_mac.mm
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/apps/platform_apps/shortcut_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/background/background_mode_manager_mac.mm
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/bookmarks/bookmark_model_factory.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_appcache_helper.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_cache_storage_helper.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_channel_id_helper.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_database_helper.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_file_system_helper.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_indexed_db_helper.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_local_storage_helper.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_media_license_helper.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_quota_helper_impl.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_quota_helper_unittest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_service_worker_helper.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/browsing_data_shared_worker_helper.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/counters/site_data_counting_helper.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/browsing_data/counters/site_data_counting_helper_unittest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/captive_portal/captive_portal_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/certificate_manager_model.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chrome_browser_main.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chrome_browser_main_linux.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chrome_browser_main_posix.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chrome_browser_main_win.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chrome_content_browser_client_browsertest_chromeos.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chrome_plugin_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chrome_quota_permission_context.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chrome_service.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chrome_service_worker_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chrome_site_per_process_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/accessibility/accessibility_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/accessibility/spoken_feedback_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/android_sms/connection_establisher_impl.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/app_mode/app_session.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/app_mode/kiosk_app_data.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/app_mode/kiosk_diagnosis_runner.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/app_mode/kiosk_external_update_validator.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/apps/intent_helper/apps_navigation_throttle.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/auth/arc_active_directory_enrollment_token_fetcher_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/auth/arc_auth_service_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/auth/arc_robot_auth_code_fetcher_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/downloads_watcher/arc_downloads_watcher_service.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_async_file_util.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_file_stream_reader.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_watcher_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/fileapi/arc_file_system_bridge.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/fileapi/arc_file_system_operation_runner_util.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/fileapi/file_stream_forwarder.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/oemcrypto/arc_oemcrypto_bridge.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/print/arc_print_service.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/tracing/arc_tracing_bridge.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/arc/video/gpu_arc_video_service_host.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/attestation/attestation_policy_observer.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/attestation/enrollment_policy_observer.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/base/file_flusher.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/boot_times_recorder.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/crostini/crostini_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/customization/customization_document.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/dbus/component_updater_service_provider.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/drive/download_handler.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/drive/drive_file_stream_reader.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/drive/fileapi/async_file_util.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/drive/fileapi/drivefs_async_file_util.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/drive/fileapi/file_system_backend_delegate.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/drive/fileapi/webkit_file_stream_writer_impl.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/extensions/file_manager/private_api_file_system.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/extensions/wallpaper_private_api.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/external_metrics.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/file_manager/fileapi_util.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/file_manager/filesystem_api_util.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/file_manager/snapshot_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/file_manager/volume_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_writer.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/file_system_provider/fileapi/watcher_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/fileapi/external_file_url_request_job.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/fileapi/recent_download_source.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/fileapi/recent_drive_source.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/app_launch_signin_screen.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/auth/auth_prewarmer.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager_unittest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/lock/screen_locker.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/profile_auth_data.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/saml/saml_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/screenshot_testing/screenshot_testing_mixin.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/signin/merge_session_resource_throttle.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/signin/merge_session_xhr_request_waiter.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/signin/oauth2_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/signin/oauth2_token_fetcher.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/signin_partition_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/signin_partition_manager_unittest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/webview_login_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/login/wizard_controller.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/mobile/mobile_activator.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/net/delay_network_call.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/platform_keys/platform_keys_nss.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/policy/policy_cert_service.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/policy/policy_oauth2_token_fetcher.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/policy/remote_commands/crd_host_delegate.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/policy/signin_profile_apps_policy_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/policy/user_affiliation_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/policy/user_network_configuration_updater.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/policy/user_network_configuration_updater_factory_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/power/freezer_cgroup_process_manager.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/printing/cups_print_job_manager_impl.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/proxy_config_service_impl_unittest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/chromeos/system_logs/debug_log_writer.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/component_updater/component_patcher_operation_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/component_updater/component_updater_resource_throttle.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/component_updater/pepper_flash_component_installer.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/component_updater/recovery_component_installer.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/component_updater/ssl_error_assistant_component_installer.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/component_updater/supervised_user_whitelist_installer.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/component_updater/sw_reporter_installer_win.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/component_updater/widevine_cdm_component_installer.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/content_settings/content_settings_browsertest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/custom_handlers/protocol_handler_registry.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/custom_handlers/protocol_handler_registry_unittest.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/data_use_measurement/chrome_data_use_ascriber_service.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/data_use_measurement/page_load_capping/page_load_capping_service.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/devtools/device/adb/mock_adb_server.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/devtools/device/cast_device_provider.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857e9b54148c31b/chrome/browser/devtools/device/devtools_device_discovery.cc
[modify] https://crrev.com/8652dcd5d8f35d68f105136b3857
Project Member

Comment 28 by bugdroid1@chromium.org, Sep 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d23655d1878cbf5bd03f918d9276050ba112b252

commit d23655d1878cbf5bd03f918d9276050ba112b252
Author: Eric Seckler <eseckler@chromium.org>
Date: Thu Sep 20 14:40:06 2018

content/chrome: Replace remaining references to BrowserThread::PostTask

Replace the remaining references to BrowserThread::PostTask with the
base::PostTaskWithTraits API.

These locations weren't covered by the global replacement patch as they
were either added recently or ignored by the script.

TBR=lazyboy@chromium.org

Bug:  878356 
Change-Id: Id199777ae6bcb30ebb03b767f9cd8c6f981c6ac4
Reviewed-on: https://chromium-review.googlesource.com/1235727
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Max Morin <maxmorin@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592796}
[modify] https://crrev.com/d23655d1878cbf5bd03f918d9276050ba112b252/chrome/browser/browser_process.h
[modify] https://crrev.com/d23655d1878cbf5bd03f918d9276050ba112b252/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
[modify] https://crrev.com/d23655d1878cbf5bd03f918d9276050ba112b252/chrome/browser/chromeos/policy/policy_cert_service.cc
[modify] https://crrev.com/d23655d1878cbf5bd03f918d9276050ba112b252/chrome/browser/net/dns_probe_browsertest.cc
[modify] https://crrev.com/d23655d1878cbf5bd03f918d9276050ba112b252/chrome/browser/ui/webui/quota_internals/quota_internals_proxy.cc
[modify] https://crrev.com/d23655d1878cbf5bd03f918d9276050ba112b252/components/keyed_service/core/refcounted_keyed_service.h
[modify] https://crrev.com/d23655d1878cbf5bd03f918d9276050ba112b252/content/browser/media/audio_input_stream_broker.cc
[modify] https://crrev.com/d23655d1878cbf5bd03f918d9276050ba112b252/content/browser/scheduler/responsiveness/README
[modify] https://crrev.com/d23655d1878cbf5bd03f918d9276050ba112b252/extensions/browser/api/display_source/display_source_apitestbase.cc

Project Member

Comment 29 by bugdroid1@chromium.org, Sep 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d89f64d9cffcf502426eaea8c650ac805cb3696

commit 4d89f64d9cffcf502426eaea8c650ac805cb3696
Author: Eric Seckler <eseckler@chromium.org>
Date: Thu Sep 20 18:16:16 2018

content: Remove BrowserThread::Post*Task / GetTaskRunnerForThread.

This removes BrowserThread::Post(NonNestable|)(Delayed|)Task and moves
GetTaskRunnerForThread into the impl (it's still used to vend
TaskRunners in BrowserTaskExecutor).

These methods have been replaced by base/post_task.h in conjunction
with content/public/browser/browser_task_traits.h

Bug:  878356 
Change-Id: Ia122dc0921769f43da9271ddd6e1ce2f402df779
Reviewed-on: https://chromium-review.googlesource.com/1235728
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592879}
[modify] https://crrev.com/4d89f64d9cffcf502426eaea8c650ac805cb3696/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/4d89f64d9cffcf502426eaea8c650ac805cb3696/content/browser/browser_thread_impl.h
[modify] https://crrev.com/4d89f64d9cffcf502426eaea8c650ac805cb3696/content/browser/browser_thread_unittest.cc
[modify] https://crrev.com/4d89f64d9cffcf502426eaea8c650ac805cb3696/content/browser/scheduler/browser_task_executor.cc
[modify] https://crrev.com/4d89f64d9cffcf502426eaea8c650ac805cb3696/content/browser/scheduler/browser_task_executor_unittest.cc
[modify] https://crrev.com/4d89f64d9cffcf502426eaea8c650ac805cb3696/content/public/browser/browser_thread.h

Project Member

Comment 30 by bugdroid1@chromium.org, Sep 25

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3e0abdf22df868d432e7744a21a745e369b1ce2e

commit 3e0abdf22df868d432e7744a21a745e369b1ce2e
Author: Eric Seckler <eseckler@chromium.org>
Date: Tue Sep 25 09:03:05 2018

content: Proxy BrowserThread TaskRunners in BrowserTaskExecutor.

This moves the proxy TaskRunners into BrowserTaskExecutor, which
then exposes them to base/post_task.h.

Also replaces uses of LazyInstance with NoDestructor.

Bug:  878356 
Change-Id: I4ca14d49404158da9f98953b3a725da47081881d
Reviewed-on: https://chromium-review.googlesource.com/1236437
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593868}
[modify] https://crrev.com/3e0abdf22df868d432e7744a21a745e369b1ce2e/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/3e0abdf22df868d432e7744a21a745e369b1ce2e/content/browser/scheduler/browser_task_executor.cc
[modify] https://crrev.com/3e0abdf22df868d432e7744a21a745e369b1ce2e/content/browser/scheduler/browser_task_executor.h
[modify] https://crrev.com/3e0abdf22df868d432e7744a21a745e369b1ce2e/content/browser/scheduler/browser_task_executor_unittest.cc
[modify] https://crrev.com/3e0abdf22df868d432e7744a21a745e369b1ce2e/content/public/browser/browser_thread.h

Project Member

Comment 31 by bugdroid1@chromium.org, Sep 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e8b52905e9c7f996550eb3507669b741a50022be

commit e8b52905e9c7f996550eb3507669b741a50022be
Author: Eric Seckler <eseckler@chromium.org>
Date: Fri Sep 28 10:33:06 2018

content: Document BrowserThread task posting order guarantees.

Bug:  878356 , 882872
Change-Id: I16af203c203b82efc408d2153c43eb3cb6fcc7b9
Reviewed-on: https://chromium-review.googlesource.com/1246361
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595043}
[modify] https://crrev.com/e8b52905e9c7f996550eb3507669b741a50022be/content/public/browser/browser_task_traits.h

Let's add this documentation to WebThread too
Project Member

Comment 33 by bugdroid1@chromium.org, Oct 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ead3ef5225f3d87a85e632e6183d47a76ab4df1

commit 7ead3ef5225f3d87a85e632e6183d47a76ab4df1
Author: Eric Seckler <eseckler@chromium.org>
Date: Mon Oct 01 10:15:28 2018

ios: Document WebThread task posting order guarantees.

Replicating the equivalent BrowserThread documentation for ios, see
https://chromium-review.googlesource.com/c/chromium/src/+/1246361

Bug:  878356 , 882872
Change-Id: Ie9470baecbce1dbb5b6c45852836db238cffe3b7
Reviewed-on: https://chromium-review.googlesource.com/1253763
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595418}
[modify] https://crrev.com/7ead3ef5225f3d87a85e632e6183d47a76ab4df1/ios/web/public/web_task_traits.h

Status: Fixed (was: Started)

Sign in to add a comment