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

Issue metadata

Status: Fixed
Owner:
Closed: Feb 1
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug


Sign in to add a comment

Deprecate BrowserThreads FILE/FILE_USER_BLOCKING/PROCESS_LAUNCHER/CACHE/DB

Project Member Reported by fdoray@chromium.org, Feb 7 2017

Issue description

All tasks should be posted directly to TaskScheduler, ideally in parallel on in sequences (ignoring UI/IO threads for the scope of this bug).
 
Showing comments 159 - 258 of 258 Older
Project Member

Comment 159 by bugdroid1@chromium.org, Jul 25 2017

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

commit 6899098c691dd693391f5fa19456e571009c0e47
Author: Greg Thompson <grt@chromium.org>
Date: Tue Jul 25 15:49:37 2017

Migrate the UpgradeDetector to the task scheduler.

Also:
- removes the use of base::Singleton, which isn't needed
- fixes races (potentially causing browser crashes) in the way
  detection was done on Windows.

BUG=366647,689520

Change-Id: I856a3d472225bb4678d89042b9997751935ba88f
Reviewed-on: https://chromium-review.googlesource.com/581087
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489314}
[modify] https://crrev.com/6899098c691dd693391f5fa19456e571009c0e47/chrome/browser/upgrade_detector_impl.cc
[modify] https://crrev.com/6899098c691dd693391f5fa19456e571009c0e47/chrome/browser/upgrade_detector_impl.h
[modify] https://crrev.com/6899098c691dd693391f5fa19456e571009c0e47/chrome/browser/upgrade_detector_impl_unittest.cc

Project Member

Comment 160 by bugdroid1@chromium.org, Jul 25 2017

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

commit 35312169018b50666fd155db3107066c39625f92
Author: Istiaque Ahmed <lazyboy@chromium.org>
Date: Tue Jul 25 21:00:16 2017

[TaskScheduler] Migrate page_capture api to use TaskScheduler.

FILE thread is going away, migrate calls from page_capture to
MayBlock() task.

Bug: 689520
Change-Id: I30457946b529c4bc40348e338241b4d4fae87767
Reviewed-on: https://chromium-review.googlesource.com/579580
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489425}
[modify] https://crrev.com/35312169018b50666fd155db3107066c39625f92/chrome/browser/extensions/api/page_capture/page_capture_api.cc
[modify] https://crrev.com/35312169018b50666fd155db3107066c39625f92/chrome/browser/extensions/api/page_capture/page_capture_apitest.cc

Project Member

Comment 161 by bugdroid1@chromium.org, Jul 25 2017

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

commit 03721598639ea7c7246c5b964495bc619fabe309
Author: Istiaque Ahmed <lazyboy@chromium.org>
Date: Tue Jul 25 21:15:28 2017

[TaskScheduler] Update terminal_private_api to use TaskScheduler.

FILE BrowserThread is deprecrated. Make terminal_private_api
post tasks to TaskScheduler.

Bug: 689520
Change-Id: Idd71fde7c5f3744816016d82e8d73535f0ceeb6c
Reviewed-on: https://chromium-review.googlesource.com/578712
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Toni Barzic <tbarzic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489433}
[modify] https://crrev.com/03721598639ea7c7246c5b964495bc619fabe309/chrome/browser/extensions/api/terminal/terminal_private_api.cc
[modify] https://crrev.com/03721598639ea7c7246c5b964495bc619fabe309/chrome/browser/extensions/api/terminal/terminal_private_api.h
[modify] https://crrev.com/03721598639ea7c7246c5b964495bc619fabe309/chromeos/process_proxy/process_proxy.cc
[modify] https://crrev.com/03721598639ea7c7246c5b964495bc619fabe309/chromeos/process_proxy/process_proxy.h
[modify] https://crrev.com/03721598639ea7c7246c5b964495bc619fabe309/chromeos/process_proxy/process_proxy_registry.cc
[modify] https://crrev.com/03721598639ea7c7246c5b964495bc619fabe309/chromeos/process_proxy/process_proxy_registry.h
[modify] https://crrev.com/03721598639ea7c7246c5b964495bc619fabe309/chromeos/process_proxy/process_proxy_unittest.cc

Project Member

Comment 162 by bugdroid1@chromium.org, Jul 25 2017

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

commit 846b42d1db6f42a57766e35d92595b5a4b96e62b
Author: David Trainor <dtrainor@chromium.org>
Date: Tue Jul 25 21:44:36 2017

Migrate ThumbnailProvider to TaskScheduler

Change how ThumbnailProvider works to remove BrowserThread::FILE
references.  There is a slightly larger refactor surrounding this which
changes the thumbnail flow from:

Request (UI) -> Load (File) -> Decode Helper (File) -> ...
... -> Decode Magic (?) -> Decode Finished (File) -> Scale (File) -> ...
... -> Respond (UI)

to:

Request (UI) -> Load (Pool) -> Decode Helper (UI) -> ...
... -> Decode Magic (?) -> Decode Finished (UI) -> Scale (Pool) -> ...
... -> Respond (UI)

This makes a bit more sense because it uses the trait pool as a pool and
not as a long running task_runner that can have tasks and replies posted
to it.  It also cleans up the logic and flow a bit.

BUG=689520

Change-Id: I18f2600100cddec9d910933d80ef74c5a58502a0
Reviewed-on: https://chromium-review.googlesource.com/581674
Commit-Queue: David Trainor <dtrainor@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489448}
[modify] https://crrev.com/846b42d1db6f42a57766e35d92595b5a4b96e62b/chrome/browser/android/download/ui/thumbnail_provider.cc

Project Member

Comment 163 by bugdroid1@chromium.org, Jul 26 2017

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

commit fc9947ea832ac22831d19063776c7f47b66afc89
Author: Michael Giuffrida <michaelpg@chromium.org>
Date: Wed Jul 26 09:37:47 2017

Update apps/launcher.cc to use TaskTraits instead of FILE thread

Bug: 689520
Change-Id: I16f1973206cd0221ca7161cf7467a0188d94bc22
Reviewed-on: https://chromium-review.googlesource.com/581681
Reviewed-by: Ben Wells <benwells@chromium.org>
Commit-Queue: Michael Giuffrida <michaelpg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489575}
[modify] https://crrev.com/fc9947ea832ac22831d19063776c7f47b66afc89/apps/launcher.cc

Project Member

Comment 164 by bugdroid1@chromium.org, Jul 26 2017

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

commit b1ce18ce5c0150078baf9f0840f94fcacb0dc402
Author: Tommy C. Li <tommycli@chromium.org>
Date: Wed Jul 26 16:58:38 2017

Media Galleries: Port GalleryWatchManager off of FILE thread.

Move to using a SequencedTaskRunner instead, as the calls still need
to be sequenced with each other (not run concurrently).

Bug: 689520
Change-Id: I59dc2bffd753da8c6e68598271c6070c79fab13d
Reviewed-on: https://chromium-review.googlesource.com/583575
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tommy Li <tommycli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489674}
[modify] https://crrev.com/b1ce18ce5c0150078baf9f0840f94fcacb0dc402/chrome/browser/media_galleries/gallery_watch_manager.cc
[modify] https://crrev.com/b1ce18ce5c0150078baf9f0840f94fcacb0dc402/chrome/browser/media_galleries/gallery_watch_manager.h

Project Member

Comment 165 by bugdroid1@chromium.org, Jul 26 2017

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

commit de752aafe7035ef2bd8b6840665e1818bb6ad9f5
Author: Peter Kasting <pkasting@chromium.org>
Date: Wed Jul 26 18:34:28 2017

Missed this file in https://chromium-review.googlesource.com/c/580708 .

Bug: 689520
Change-Id: I25d61da7184b91f409472b7431edc14e5fe88908
Reviewed-on: https://chromium-review.googlesource.com/586287
Reviewed-by: Rohit Rao <rohitrao@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489706}
[modify] https://crrev.com/de752aafe7035ef2bd8b6840665e1818bb6ad9f5/ios/chrome/browser/browsing_data/ios_chrome_browsing_data_remover.mm

Project Member

Comment 166 by bugdroid1@chromium.org, Jul 26 2017

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

commit 43f1ea3c40d4ad30e19b891d123541d629e15a62
Author: Tommy C. Li <tommycli@chromium.org>
Date: Wed Jul 26 19:10:26 2017

Storage Monitor: Migrate Media Storage Util to TaskScheduler

This also required adding an optional ScopedTaskEnvironment to
RenderViewHostTestHarness. It's usually completely harmless, and
compatible with the existing TestBrowserThreadBundle.

However, in one test (AudioRendererHostTest), the MediaStreamManager
relies on TestBrowserThreadBundle behavior in the absence of
ScopedTaskEnvironment. We disable the ScopedTaskEnvironment in that
case.

Bug: 689520
Change-Id: Id170baac5136eff95972b86790ba9092a6db07be
Reviewed-on: https://chromium-review.googlesource.com/575383
Commit-Queue: Tommy Li <tommycli@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489718}
[modify] https://crrev.com/43f1ea3c40d4ad30e19b891d123541d629e15a62/chrome/browser/media_galleries/media_file_system_registry_unittest.cc
[modify] https://crrev.com/43f1ea3c40d4ad30e19b891d123541d629e15a62/chrome/browser/media_galleries/win/mtp_device_delegate_impl_win_unittest.cc
[modify] https://crrev.com/43f1ea3c40d4ad30e19b891d123541d629e15a62/components/storage_monitor/media_storage_util.cc
[modify] https://crrev.com/43f1ea3c40d4ad30e19b891d123541d629e15a62/components/storage_monitor/media_storage_util_unittest.cc
[modify] https://crrev.com/43f1ea3c40d4ad30e19b891d123541d629e15a62/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
[modify] https://crrev.com/43f1ea3c40d4ad30e19b891d123541d629e15a62/content/public/test/test_renderer_host.cc
[modify] https://crrev.com/43f1ea3c40d4ad30e19b891d123541d629e15a62/content/public/test/test_renderer_host.h

Project Member

Comment 168 by bugdroid1@chromium.org, Jul 26 2017

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

commit 6155ab855eedf4bec6c40774ac2e92ecec976bcd
Author: Bo Liu <boliu@chromium.org>
Date: Wed Jul 26 22:28:57 2017

Move QuotaManager from DB thread to task scheduler

QuotaManager already takes a SequencedTaskRunner as a parameter, so only
need to update constructor call sites. Most call sites are from unit
tests through MockQuotaManager.

Then need to fix a lot of unit tests that explicitly controls RunLoop.
storage_unittests are generally from MessageLoop to
ScopedTaskEnvironment. Upper layer tests are switched to
TestBrowserThreadBundle, and RunLoop switched to
RunAllBlockingPoolTasksUntilIdle.

Note also needed to add some RunUntilIdle calls near end of some tests
to make sure sql db is shutdown on task scheduler before underlying file
is deleted.

Bug: 689520
Change-Id: Ie186475ca09250b25a4020fcc0c4c216efa2d7a5
Reviewed-on: https://chromium-review.googlesource.com/583852
Reviewed-by: Michael Nordman <michaeln@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Bo Liu <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489777}
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/chrome/browser/browsing_data/browsing_data_file_system_helper_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/chrome/browser/browsing_data/browsing_data_quota_helper_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/chrome/browser/engagement/important_sites_usage_counter_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/chrome/browser/extensions/app_data_migrator_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/chrome/browser/sync_file_system/local/canned_syncable_file_system.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/chrome/browser/sync_file_system/local/syncable_file_operation_runner_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/content/browser/appcache/appcache_storage_impl_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/content/browser/browsing_data/browsing_data_remover_impl_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/content/browser/cache_storage/cache_storage_cache_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/content/browser/cache_storage/cache_storage_manager_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/content/browser/indexed_db/indexed_db_quota_client_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/content/browser/storage_partition_impl_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/fileapi/copy_or_move_operation_delegate_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/fileapi/file_system_context_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/fileapi/file_system_operation_impl_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/fileapi/file_system_operation_impl_write_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/fileapi/obfuscated_file_util_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/quota/quota_manager.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/quota/quota_manager.h
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/quota/quota_manager_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/quota/storage_monitor_unittest.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/test/mock_quota_manager.cc
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/test/mock_quota_manager.h
[modify] https://crrev.com/6155ab855eedf4bec6c40774ac2e92ecec976bcd/storage/browser/test/mock_quota_manager_unittest.cc

Project Member

Comment 169 by bugdroid1@chromium.org, Jul 27 2017

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

commit fc9ffa56ada0f41e56e9fc6fb4a6908a6492a701
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Jul 27 00:53:33 2017

Add migration hint for OverrideThreadForMessage().

TBR=fdoray@chromium.org

NOTRY=True

Bug: 689520
Change-Id: I3e53c759f0874e3a249d347a94a58eac761c52f4
Reviewed-on: https://chromium-review.googlesource.com/588132
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489821}
[modify] https://crrev.com/fc9ffa56ada0f41e56e9fc6fb4a6908a6492a701/docs/task_scheduler_migration.md

Blockedon: 749365
Project Member

Comment 171 by bugdroid1@chromium.org, Jul 27 2017

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

commit 19c26f5aa59e257eb34a6bf9b786386dc9ea7278
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Jul 27 17:00:57 2017

Update comment in byte_stream.h to not mention BrowserThread::FILE

R=avi@chromium.org

Bug: 689520
Change-Id: If26b672ce68f8362c8f9194597720199f094ca30
Reviewed-on: https://chromium-review.googlesource.com/587890
Commit-Queue: Avi Drissman <avi@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489985}
[modify] https://crrev.com/19c26f5aa59e257eb34a6bf9b786386dc9ea7278/content/browser/byte_stream.h

Project Member

Comment 172 by bugdroid1@chromium.org, Jul 27 2017

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

commit ac8b845cc9b9c55b21326e5527eba749f1606973
Author: Michael Giuffrida <michaelpg@chromium.org>
Date: Thu Jul 27 23:21:58 2017

Remove GetBlockingPool call from shell_prefs.cc

These files are only accessed through the JsonPrefStore created here,
so we don't need to worry about getting a unique SequencedWorkerPool.

Bug: 689520
Change-Id: I4c609c8b76ff07bf6c43c6d67efa3edf65c374f4
Reviewed-on: https://chromium-review.googlesource.com/582587
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490088}
[modify] https://crrev.com/ac8b845cc9b9c55b21326e5527eba749f1606973/extensions/shell/browser/shell_prefs.cc

Project Member

Comment 174 by bugdroid1@chromium.org, Jul 27 2017

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

commit 0d4b2af46c20abb894c38389bf328316d724be32
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Jul 27 23:46:15 2017

Migrate FileUtilitiesMessageFilter off of FILE thread.

Bug: 689520
Change-Id: I369165e8cae99a17ca29f0d17430ae7f8d024c8c
Reviewed-on: https://chromium-review.googlesource.com/585572
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490127}
[modify] https://crrev.com/0d4b2af46c20abb894c38389bf328316d724be32/content/browser/renderer_host/file_utilities_message_filter.cc
[modify] https://crrev.com/0d4b2af46c20abb894c38389bf328316d724be32/content/browser/renderer_host/file_utilities_message_filter.h

Project Member

Comment 175 by bugdroid1@chromium.org, Jul 28 2017

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

commit dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8
Author: David Benjamin <davidben@chromium.org>
Date: Thu Jul 27 23:59:02 2017

Convert SSLKeyLogger to the new task scheduler stuff.

Bug: 689520
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
Change-Id: Icb9892f9332af05076f86f810d84e03efdd2b2cb
Reviewed-on: https://chromium-review.googlesource.com/587630
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: David Benjamin <davidben@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490142}
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/chrome/browser/io_thread.cc
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/components/cronet/android/cronet_url_request_context_adapter.cc
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/components/cronet/ios/cronet_environment.h
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/components/cronet/ios/cronet_environment.mm
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/components/cronet/stale_host_resolver_unittest.cc
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/components/cronet/url_request_context_config.cc
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/components/cronet/url_request_context_config.h
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/components/cronet/url_request_context_config_unittest.cc
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/net/socket/ssl_client_socket.cc
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/net/socket/ssl_client_socket.h
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/net/socket/ssl_client_socket_impl.cc
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/net/socket/ssl_client_socket_impl.h
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/net/ssl/ssl_key_logger.cc
[modify] https://crrev.com/dc2f4b07c7440115d330ddf28f6595a9cc9a4fc8/net/ssl/ssl_key_logger.h

Project Member

Comment 176 by bugdroid1@chromium.org, Jul 28 2017

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

commit cd5f51ddab9fe65c77e3281bdb3d96ef7bae326c
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Fri Jul 28 15:33:45 2017

[Task Migration][Extensions] Migrate the DeveloperPrivate API

Migrate the developerPrivate API to use the new task scheduler API
instead of posting tasks to the browser thread.

Bug: 689520
Change-Id: I69a6a53a6fdf03481f7f0701d645c5622b3b9dc8
Reviewed-on: https://chromium-review.googlesource.com/590695
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490401}
[modify] https://crrev.com/cd5f51ddab9fe65c77e3281bdb3d96ef7bae326c/chrome/browser/extensions/api/developer_private/developer_private_api.cc

Project Member

Comment 178 by bugdroid1@chromium.org, Jul 28 2017

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

commit 2e3f4f184d4d7c8fd7e1a0d1dc32ffda8e0eb1bc
Author: Patrick Monette <pmonette@chromium.org>
Date: Fri Jul 28 16:28:36 2017

Remove usage of BrowserThread::FILE in remaining files in value_store

Bug: 689520
Change-Id: Ib00b91bb131245b0e239eb26b5dd82d894e022ea
Reviewed-on: https://chromium-review.googlesource.com/590098
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490423}
[modify] https://crrev.com/2e3f4f184d4d7c8fd7e1a0d1dc32ffda8e0eb1bc/extensions/browser/value_store/leveldb_scoped_database.cc
[modify] https://crrev.com/2e3f4f184d4d7c8fd7e1a0d1dc32ffda8e0eb1bc/extensions/browser/value_store/value_store_unittest.cc
[modify] https://crrev.com/2e3f4f184d4d7c8fd7e1a0d1dc32ffda8e0eb1bc/extensions/browser/value_store/value_store_unittest.h

Project Member

Comment 179 by bugdroid1@chromium.org, Jul 28 2017

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

commit 4e881fc1362c7c878db396c71c18673d4a7f62e6
Author: Tommy C. Li <tommycli@chromium.org>
Date: Fri Jul 28 22:28:06 2017

Reland "Storage Monitor: Port Mac ImageCaptureDevice off of FILE thread."

This is a reland of a456fdbdbac4831652a01e084ab512b8b6919619
Original change's description:
> Storage Monitor: Port Mac ImageCaptureDevice off of FILE thread.
> 
> Bug: 575383
> Change-Id: I7e2908ff4ffb93fe30e48a54e6c0ab616ce1f736
> Reviewed-on: https://chromium-review.googlesource.com/588078
> Reviewed-by: Lei Zhang <thestig@chromium.org>
> Commit-Queue: Tommy Li <tommycli@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#490102}

Bug: 689520
Change-Id: Ibe5a7b95d6ef2de1b452a42d0a1b4435f3083721
Reviewed-on: https://chromium-review.googlesource.com/591829
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tommy Li <tommycli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490525}
[modify] https://crrev.com/4e881fc1362c7c878db396c71c18673d4a7f62e6/chrome/browser/media_galleries/mac/mtp_device_delegate_impl_mac_unittest.mm
[modify] https://crrev.com/4e881fc1362c7c878db396c71c18673d4a7f62e6/components/storage_monitor/image_capture_device.mm
[modify] https://crrev.com/4e881fc1362c7c878db396c71c18673d4a7f62e6/components/storage_monitor/image_capture_device_manager_unittest.mm

Project Member

Comment 180 by bugdroid1@chromium.org, Jul 28 2017

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

commit 15d6164c5ebbebd62de711579996ffae084b4fe5
Author: Nate Chapin <japhet@chromium.org>
Date: Fri Jul 28 23:07:27 2017

Revert "Switch browser/extensions/api/system_storage/system_storage_api.[h|cc] to the TaskScheduler API"

This reverts commit 73d162eb24c9c7a6b7cf4b65bc0562ae0a4236d9.

Reason for revert: Suspected cause of data race in ExtensionServiceTest.StorageQuota: https://build.chromium.org/p/chromium.memory/builders/Linux%20TSan%20Tests/builds/9501

Original change's description:
> Switch browser/extensions/api/system_storage/system_storage_api.[h|cc] to the TaskScheduler API
> 
> BUG=689520
> 
> Change-Id: Ia07f6c50a4dd0df96a63194e78a4cda85df181c6
> Reviewed-on: https://chromium-review.googlesource.com/586467
> Commit-Queue: Gabriel Charette <gab@chromium.org>
> Reviewed-by: Gabriel Charette <gab@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#490406}

TBR=gab@chromium.org,benhenry@chromium.org,ningxin.hu@intel.com

Change-Id: Iaafab4821c676cb077fdfca970f534a2bfcb0114
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 689520
Reviewed-on: https://chromium-review.googlesource.com/591933
Reviewed-by: Nate Chapin <japhet@chromium.org>
Commit-Queue: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490534}
[modify] https://crrev.com/15d6164c5ebbebd62de711579996ffae084b4fe5/extensions/browser/api/system_storage/storage_info_provider.cc
[modify] https://crrev.com/15d6164c5ebbebd62de711579996ffae084b4fe5/extensions/browser/api/system_storage/storage_info_provider.h
[modify] https://crrev.com/15d6164c5ebbebd62de711579996ffae084b4fe5/extensions/browser/api/system_storage/system_storage_api.cc
[modify] https://crrev.com/15d6164c5ebbebd62de711579996ffae084b4fe5/extensions/browser/api/system_storage/system_storage_api.h
[modify] https://crrev.com/15d6164c5ebbebd62de711579996ffae084b4fe5/extensions/browser/api/system_storage/system_storage_apitest.cc

Project Member

Comment 181 by bugdroid1@chromium.org, Jul 29 2017

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

commit 62636d5d85d9e7a8aa746cbf25e6d7d4f9a4781d
Author: Lei Zhang <thestig@chromium.org>
Date: Sat Jul 29 00:06:22 2017

Move PWGRasterConverter off the FILE thread.

BUG=689520

Change-Id: I7f2c33cd196e51cf1952fc678f3076d8f2ff02ce
Reviewed-on: https://chromium-review.googlesource.com/590811
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490549}
[modify] https://crrev.com/62636d5d85d9e7a8aa746cbf25e6d7d4f9a4781d/chrome/browser/printing/pwg_raster_converter.cc

Project Member

Comment 182 by bugdroid1@chromium.org, Jul 29 2017

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

commit ae6be93fd4359a182b1e5c213c8eab3e9d9535a0
Author: Ningxin Hu <ningxin.hu@intel.com>
Date: Sat Jul 29 01:14:15 2017

Reland "Switch browser/extensions/api/system_storage/system_storage_api.[h|cc] to the TaskScheduler API"

This is a reland of 73d162eb24c9c7a6b7cf4b65bc0562ae0a4236d9

It wasn't the culprit, https://chromium-review.googlesource.com/c/585386/ is.

Original change's description:
> Switch browser/extensions/api/system_storage/system_storage_api.[h|cc] to the TaskScheduler API
> 
> BUG=689520
> 
> Change-Id: Ia07f6c50a4dd0df96a63194e78a4cda85df181c6
> Reviewed-on: https://chromium-review.googlesource.com/586467
> Commit-Queue: Gabriel Charette <gab@chromium.org>
> Reviewed-by: Gabriel Charette <gab@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#490406}

TBR=ningxin.hu@intel.com

Bug: 689520
Change-Id: I3d1bfa52dd89bbd9b9c6c512c413512bcc91dda0
Reviewed-on: https://chromium-review.googlesource.com/591934
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490569}
[modify] https://crrev.com/ae6be93fd4359a182b1e5c213c8eab3e9d9535a0/extensions/browser/api/system_storage/storage_info_provider.cc
[modify] https://crrev.com/ae6be93fd4359a182b1e5c213c8eab3e9d9535a0/extensions/browser/api/system_storage/storage_info_provider.h
[modify] https://crrev.com/ae6be93fd4359a182b1e5c213c8eab3e9d9535a0/extensions/browser/api/system_storage/system_storage_api.cc
[modify] https://crrev.com/ae6be93fd4359a182b1e5c213c8eab3e9d9535a0/extensions/browser/api/system_storage/system_storage_api.h
[modify] https://crrev.com/ae6be93fd4359a182b1e5c213c8eab3e9d9535a0/extensions/browser/api/system_storage/system_storage_apitest.cc

Project Member

Comment 183 by bugdroid1@chromium.org, Jul 29 2017

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

commit 73b3e2daaaceeb200833170eac45bb6e67ff83ef
Author: Gabriel Charette <gab@chromium.org>
Date: Sat Jul 29 03:34:36 2017

Revert "[TaskScheduler] Migrate some extension installer code to TaskScheduler."

This reverts commit 05dabf99bbe01112e7a78716869d762aa614ff9a.

Reason for revert: Data race https://crbug.com/750382 for details

Original change's description:
> [TaskScheduler] Migrate some extension installer code to TaskScheduler.
> 
> Bug: 689520
> Change-Id: I8743112968e261459d8aee5491e2280da1461661
> Reviewed-on: https://chromium-review.googlesource.com/585386
> Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
> Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#489747}

TBR=lazyboy@chromium.org,rdevlin.cronin@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

NOPRESUBMIT=True

Bug: 689520, 750382 
Change-Id: Ic7065c7ebbae93997f5008164d8c555d032d3150
Reviewed-on: https://chromium-review.googlesource.com/591935
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490607}
[modify] https://crrev.com/73b3e2daaaceeb200833170eac45bb6e67ff83ef/chrome/browser/extensions/unpacked_installer.cc
[modify] https://crrev.com/73b3e2daaaceeb200833170eac45bb6e67ff83ef/chrome/browser/extensions/user_script_listener_unittest.cc
[modify] https://crrev.com/73b3e2daaaceeb200833170eac45bb6e67ff83ef/chrome/browser/extensions/webstore_installer.cc
[modify] https://crrev.com/73b3e2daaaceeb200833170eac45bb6e67ff83ef/chrome/browser/extensions/zipfile_installer.cc
[modify] https://crrev.com/73b3e2daaaceeb200833170eac45bb6e67ff83ef/chrome/browser/extensions/zipfile_installer.h

Project Member

Comment 184 by bugdroid1@chromium.org, Jul 29 2017

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

commit af84a1bed449634f0184ba2e8982c9b7e7a1adf4
Author: Mustafa Acer <meacer@chromium.org>
Date: Sat Jul 29 04:00:00 2017

Remove usage of FILE thread from interstitial controller client

Bug: 689520
Change-Id: I8608691b69c5cfa66d1937403fb8a0476a7cf7aa
Reviewed-on: https://chromium-review.googlesource.com/592449
Commit-Queue: Mustafa Emre Acer <meacer@chromium.org>
Reviewed-by: Adrienne Porter Felt <felt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490614}
[modify] https://crrev.com/af84a1bed449634f0184ba2e8982c9b7e7a1adf4/chrome/browser/interstitials/chrome_controller_client.cc

Project Member

Comment 185 by bugdroid1@chromium.org, Jul 29 2017

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

commit 64633224cc3329ba116793b4a4e18fb737e6deb8
Author: Lei Zhang <thestig@chromium.org>
Date: Sat Jul 29 04:09:29 2017

Move PdfConverter off the FILE thread.

BUG=689520

Change-Id: Id3cd14282be33ae60ae071ffc5385c987a682727
Reviewed-on: https://chromium-review.googlesource.com/592393
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490619}
[modify] https://crrev.com/64633224cc3329ba116793b4a4e18fb737e6deb8/chrome/browser/printing/pdf_to_emf_converter.cc

Project Member

Comment 186 by bugdroid1@chromium.org, Aug 1 2017

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

commit d7c67172963630c611a96b9fb597b05ff5990c26
Author: Francois Doray <fdoray@chromium.org>
Date: Tue Aug 01 17:31:39 2017

Add PRESUBMIT against usage of deprecated WebThreads.

Bug: 689520
Change-Id: Ie8418bc9afe6f9a106f5fdd85647006722dab50f
Reviewed-on: https://chromium-review.googlesource.com/595872
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Francois Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491041}
[modify] https://crrev.com/d7c67172963630c611a96b9fb597b05ff5990c26/PRESUBMIT.py

Project Member

Comment 188 by bugdroid1@chromium.org, Aug 1 2017

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

commit f0073e34c7ddb8177738fbd76703a7b92b8a7e75
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Tue Aug 01 18:58:43 2017

[Task Migration][Extensions] Update ApiResourceManager

api_resource_manager.h mentioned the FILE thread in a comment when
discussing resources on named threads (and theoretically would have
allowed its use). Update the comment to not mention the FILE thread and
add explicit notes that the only allowed threads are the IO and UI
threads, which are all we currently use, along with a note about how the
API could be expanded, if need be. To be safe, also add a static assert
to ensure that resources use no other threads.

Since we currently only need IO and UI threads, this CL doesn't
rearchitect anything unnecessarily.

Bug: 689520
Change-Id: I5d304fd9153865af7c9778d93b34f2e20ddb95a6
Reviewed-on: https://chromium-review.googlesource.com/591688
Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491065}
[modify] https://crrev.com/f0073e34c7ddb8177738fbd76703a7b92b8a7e75/extensions/browser/api/api_resource_manager.h

Project Member

Comment 189 by bugdroid1@chromium.org, Aug 1 2017

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

commit 6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea
Author: rdevlin.cronin <rdevlin.cronin@chromium.org>
Date: Tue Aug 01 22:47:18 2017

[Extensions][TaskScheduler] Update ActivityLog for scheduling migration

Migrate the ActivityLog and related classes away from posting tasks to
and checking that they are currently on the content::BrowserThread::DB
thread, and replace this with a singleton SequencedTaskRunner to be used
in the activity log.

BUG=689520

Review-Url: https://codereview.chromium.org/2980503002
Cr-Commit-Position: refs/heads/master@{#491137}

[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/BUILD.gn
[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/activity_database.cc
[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/activity_database_unittest.cc
[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/activity_log.cc
[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/activity_log_enabled_unittest.cc
[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/activity_log_policy.cc
[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/activity_log_policy.h
[add] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/activity_log_task_runner.cc
[add] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/activity_log_task_runner.h
[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/activity_log_unittest.cc
[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/counting_policy.cc
[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/counting_policy_unittest.cc
[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
[modify] https://crrev.com/6fa6b15543d5e4ce35ac67c8a8fd1dee80d2ceea/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc

Project Member

Comment 190 by bugdroid1@chromium.org, Aug 2 2017

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

commit 9fd60dcec74601413aaf59d0684bfe09935de606
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Wed Aug 02 01:49:33 2017

[Task Migration][Extensions] Migrate the SystemInfo API

Migrate the system info API to use the new task scheduler API
instead of using the worker pool. Note: also change the shutdown
behavior to be SKIP_ON_SHUTDOWN, since there's no reason for it to be
CONTINUE_ON_SHUTDOWN.

Bug: 689520
Change-Id: I4c4fb9990123f6124948b12fc6cf580ec45c8da7
Reviewed-on: https://chromium-review.googlesource.com/591987
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491194}
[modify] https://crrev.com/9fd60dcec74601413aaf59d0684bfe09935de606/extensions/browser/api/system_info/system_info_provider.cc
[modify] https://crrev.com/9fd60dcec74601413aaf59d0684bfe09935de606/extensions/browser/api/system_info/system_info_provider.h

Project Member

Comment 191 by bugdroid1@chromium.org, Aug 2 2017

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

commit 40b4cbc3db8c603c52af3a9b255ccf009672a38c
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Wed Aug 02 01:57:59 2017

[Task Migration][Extensions] Add and use a devoted file task runner

With the new task scheduling system, there are no guarantees that
different operations will not collide - each caller has to ensure that
no conflicting tasks will be scheduled and executed synchronously. This
means that for file tasks, we need to have a common task runner for any
tasks that may touch the same files.

Introduce a common SequencedTaskRunner for the extension system, and use
it in the UserScriptLoader.  Additionally, use it in ExtensionService,
in lieu of the prior ExtensionService-owned task runner that's used for
file tasks in installation.  Finally, also make the GetFileTaskRunner()
method in ExtensionService non-virtual, since it's not needed on any of
the interfaces.

Bug: 689520
Bug: 750122
Change-Id: I9d0b993689821e7aca9b2553283609cce796a162
Reviewed-on: https://chromium-review.googlesource.com/593854
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491209}
[modify] https://crrev.com/40b4cbc3db8c603c52af3a9b255ccf009672a38c/chrome/browser/extensions/extension_service.cc
[modify] https://crrev.com/40b4cbc3db8c603c52af3a9b255ccf009672a38c/chrome/browser/extensions/extension_service.h
[modify] https://crrev.com/40b4cbc3db8c603c52af3a9b255ccf009672a38c/chrome/browser/extensions/extension_user_script_loader_unittest.cc
[modify] https://crrev.com/40b4cbc3db8c603c52af3a9b255ccf009672a38c/chrome/browser/extensions/test_extension_service.cc
[modify] https://crrev.com/40b4cbc3db8c603c52af3a9b255ccf009672a38c/chrome/browser/extensions/test_extension_service.h
[modify] https://crrev.com/40b4cbc3db8c603c52af3a9b255ccf009672a38c/extensions/browser/BUILD.gn
[add] https://crrev.com/40b4cbc3db8c603c52af3a9b255ccf009672a38c/extensions/browser/extension_file_task_runner.cc
[add] https://crrev.com/40b4cbc3db8c603c52af3a9b255ccf009672a38c/extensions/browser/extension_file_task_runner.h
[modify] https://crrev.com/40b4cbc3db8c603c52af3a9b255ccf009672a38c/extensions/browser/extension_user_script_loader.cc

Project Member

Comment 192 by bugdroid1@chromium.org, Aug 2 2017

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

commit d80d541a979f258798fc941541f73c1b3f771faa
Author: Francois Doray <fdoray@chromium.org>
Date: Wed Aug 02 14:32:34 2017

Migrate from FILE thread to TaskScheduler in FileSelectHelper.

The FILE thread is deprecated.

Bug: 689520
Change-Id: I57db0b1e7150f2ec7ee4fbdb538912b1928cd9dc
Reviewed-on: https://chromium-review.googlesource.com/595030
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Francois Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491368}
[modify] https://crrev.com/d80d541a979f258798fc941541f73c1b3f771faa/chrome/browser/file_select_helper.cc
[modify] https://crrev.com/d80d541a979f258798fc941541f73c1b3f771faa/chrome/browser/file_select_helper.h

Project Member

Comment 193 by bugdroid1@chromium.org, Aug 2 2017

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

commit fdc1a4040a25ebdd2bb566722a72bd786840e771
Author: Bret Sepulveda <bsep@chromium.org>
Date: Wed Aug 02 21:42:14 2017

Migrate profile_shortcut_manager_win to use TaskScheduler.

This patch removes all references to BrowserThread::FILE and updates
the tests to handle the fact that the shortcut manager is now truly
multithreaded.

Bug: 689520
Change-Id: I31d145c6ac1685b150a57523d2268796a351f238
Reviewed-on: https://chromium-review.googlesource.com/582367
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Bret Sepulveda <bsep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491513}
[modify] https://crrev.com/fdc1a4040a25ebdd2bb566722a72bd786840e771/chrome/browser/profiles/profile_shortcut_manager.h
[modify] https://crrev.com/fdc1a4040a25ebdd2bb566722a72bd786840e771/chrome/browser/profiles/profile_shortcut_manager_stub.cc
[modify] https://crrev.com/fdc1a4040a25ebdd2bb566722a72bd786840e771/chrome/browser/profiles/profile_shortcut_manager_unittest_win.cc
[modify] https://crrev.com/fdc1a4040a25ebdd2bb566722a72bd786840e771/chrome/browser/profiles/profile_shortcut_manager_win.cc
[modify] https://crrev.com/fdc1a4040a25ebdd2bb566722a72bd786840e771/chrome/test/base/chrome_unit_test_suite.cc

Project Member

Comment 194 by bugdroid1@chromium.org, Aug 2 2017

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

commit ecda024e8866239e213929e212698ef4afdeed57
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Wed Aug 02 21:44:40 2017

[Task Migration][Extensions] Update echoPrivate

Update the echoPrivate API to use the new task scheduling API, as well
as the dedicated Extensions-related file task runner.

Bug: 689520
Bug: 750122
Change-Id: Ie6d403cb700c71bc9faabd828b2f40f0826f85bd
Reviewed-on: https://chromium-review.googlesource.com/598464
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491515}
[modify] https://crrev.com/ecda024e8866239e213929e212698ef4afdeed57/chrome/browser/chromeos/extensions/echo_private_api.cc
[modify] https://crrev.com/ecda024e8866239e213929e212698ef4afdeed57/chrome/browser/chromeos/extensions/echo_private_api.h

Project Member

Comment 195 by bugdroid1@chromium.org, Aug 2 2017

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

commit a45799772ad8315ec9e6506485a0a7355b1e3be1
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Wed Aug 02 22:00:47 2017

Remove use of FILE thread from braille_controller_brlapi.cc

This is part of the TaskScheduler migration, see the linked
bug and various messages on chromium-dev for context.

Bug: 689520
Test: flashed to Chromebook, plugged in braille display.

Change-Id: Id7f196ba58d5e013c516e63266d47f9307e4d2d1
Reviewed-on: https://chromium-review.googlesource.com/589776
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491520}
[modify] https://crrev.com/a45799772ad8315ec9e6506485a0a7355b1e3be1/chrome/browser/extensions/api/braille_display_private/braille_controller_brlapi.cc
[modify] https://crrev.com/a45799772ad8315ec9e6506485a0a7355b1e3be1/chrome/browser/extensions/api/braille_display_private/braille_controller_brlapi.h

Project Member

Comment 196 by bugdroid1@chromium.org, Aug 2 2017

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

commit a9a51c15301a1a31da511a5e9d05d5bb7f4a90e1
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Wed Aug 02 22:06:09 2017

[Task Migration][Extensions] Update ExtensionDownloader

Update the ExtensionDownloader class to use the new task scheduling API,
as well as the dedicated Extensions-related file task runner.

Bug: 689520
Bug: 750122

Change-Id: I201adece7ae5d5f7a24f535faa86958d4fcff632
Reviewed-on: https://chromium-review.googlesource.com/594833
Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491522}
[modify] https://crrev.com/a9a51c15301a1a31da511a5e9d05d5bb7f4a90e1/extensions/browser/updater/extension_downloader.cc

Project Member

Comment 197 by bugdroid1@chromium.org, Aug 3 2017

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

commit 06ba081e89937dea18efa31eeecf8162dafd7434
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Thu Aug 03 00:23:33 2017

[Task Migration][Extensions] Update FileReader

Update the FileReader class to use the new task scheduling API, as well
as the dedicated Extensions-related file task runner.

Bug: 689520
Bug: 750122
Change-Id: I3dd119e9c6bc368ab0186e599a4a67df02b872d6
Reviewed-on: https://chromium-review.googlesource.com/594010
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491566}
[modify] https://crrev.com/06ba081e89937dea18efa31eeecf8162dafd7434/extensions/browser/api/execute_code_function.cc
[modify] https://crrev.com/06ba081e89937dea18efa31eeecf8162dafd7434/extensions/browser/file_reader.cc
[modify] https://crrev.com/06ba081e89937dea18efa31eeecf8162dafd7434/extensions/browser/file_reader.h
[modify] https://crrev.com/06ba081e89937dea18efa31eeecf8162dafd7434/extensions/browser/file_reader_unittest.cc

Project Member

Comment 198 by bugdroid1@chromium.org, Aug 3 2017

Labels: merge-merged-3163
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5904ae1820abb90b33c59fbd90e238d9d4e78e1f

commit 5904ae1820abb90b33c59fbd90e238d9d4e78e1f
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Thu Aug 03 00:42:13 2017

Migrate ValueStoreFrontend to TaskScheduler API

This migrates value_store_frontend.cc and related unit test code from
browser FILE thread to the singleton SequencedTaskRunner used by the
rest of extensions store code. I hope that this should fix crbug/746155
which I think could be caused by accessing the store backend from two
concurrent threads.

One tricky part of the change is getting rid of the test code in
rules_registry_with_cache_unittest.cc that the ValueStore is lazily
created when reading/writing. This change didn't change anything
about how the ValueStore is created but I think the original assumption
was wrong and happened to work only because there wasn't a true
multi-threading. The FILE browser thread was actually mapped to the same
physical thread so the store wasn't created until spinning the RunLoop.
In fact it seems the store creation is being initiated in the test
SetUp, and now with the true backend thread that finishes before the test
body starts running.

BUG=746155, 689520
TBR=stanisc@chromium.org

(cherry picked from commit ca9325a63d9fa6106969032a35344bd7aa493299)

Change-Id: Ida6b2bd6ca5cb4ed32fc7d70d2f949bca6085bb3
Reviewed-on: https://chromium-review.googlesource.com/578692
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#489136}
Reviewed-on: https://chromium-review.googlesource.com/599268
Reviewed-by: Stanislav Chiknavaryan <stanisc@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#254}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/5904ae1820abb90b33c59fbd90e238d9d4e78e1f/chrome/browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc
[modify] https://crrev.com/5904ae1820abb90b33c59fbd90e238d9d4e78e1f/extensions/browser/value_store/value_store_frontend.cc
[modify] https://crrev.com/5904ae1820abb90b33c59fbd90e238d9d4e78e1f/extensions/browser/value_store/value_store_frontend_unittest.cc

Project Member

Comment 199 by bugdroid1@chromium.org, Aug 3 2017

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

commit 28dc239e76d2050ea013ce1d6e57981f8a71c02b
Author: Istiaque Ahmed <lazyboy@chromium.org>
Date: Thu Aug 03 01:02:04 2017

[TaskScheduler] Make ExternalPrefLoader use sequence instead of FILE thread.

Bug: 689520
Change-Id: I65adecbed9babdb9d09fdf05f3daebcb966360ac
Reviewed-on: https://chromium-review.googlesource.com/587669
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491584}
[modify] https://crrev.com/28dc239e76d2050ea013ce1d6e57981f8a71c02b/chrome/browser/extensions/external_pref_loader.cc

Project Member

Comment 200 by bugdroid1@chromium.org, Aug 4 2017

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

commit c1663ed88114482ce82b54cc04120f4801c681c1
Author: Bret Sepulveda <bsep@chromium.org>
Date: Fri Aug 04 02:08:33 2017

Remove PostTask from browser_window_property_manager_browsertest_win.cc

This patch changes the tests to just wait for tasks to finish before
running their validation instead of relying on the timing of particular
threads. Also fixed a property leak on shutdown that was probably
causing their flakiness, so they are re-enabled.

Bug: 396344, 689520
Change-Id: I9f04d515279ec10f6353e0e6c096ca76bda8ed1c
Reviewed-on: https://chromium-review.googlesource.com/575758
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Bret Sepulveda <bsep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491918}
[modify] https://crrev.com/c1663ed88114482ce82b54cc04120f4801c681c1/base/win/win_util.cc
[modify] https://crrev.com/c1663ed88114482ce82b54cc04120f4801c681c1/chrome/browser/ui/views/frame/browser_window_property_manager_browsertest_win.cc
[modify] https://crrev.com/c1663ed88114482ce82b54cc04120f4801c681c1/ui/base/win/shell.cc

Blockedon: 752911
Project Member

Comment 203 by bugdroid1@chromium.org, Aug 7 2017

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

commit 280223f141c2d1604b41a83a28a5c42aa262f00d
Author: Bernhard Bauer <bauerb@chromium.org>
Date: Mon Aug 07 17:39:46 2017

Remove use of BrowserThead::FILE from ChromeBrowsingDataRemoverDelegate.

Bug: 689520
Change-Id: I86aa83083a4e2382435e68bbb422b9056c3be887
Reviewed-on: https://chromium-review.googlesource.com/601267
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Commit-Queue: Bernhard Bauer <bauerb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492351}
[modify] https://crrev.com/280223f141c2d1604b41a83a28a5c42aa262f00d/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc

Project Member

Comment 204 by bugdroid1@chromium.org, Aug 8 2017

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

commit e4ef7a62741de0e8a2df674ae2711bf87e15a921
Author: Istiaque Ahmed <lazyboy@chromium.org>
Date: Tue Aug 08 03:27:08 2017

[TaskScheduler] Migrate rest of page_capture_api.cc

Put ShareableFileReference's storage::ScopedFile on correct task runner
from FILE thread. FILE thread is deprecated. The correct task runner
here requires blocking IO and also requires TaskShutdownBehavior to
BLOCKING_SHUTDOWN.

BLOCKING_SHUTDOWN is necessary because ShareableFileReference
creates a storage::ScopedFile object inside it whose responsibility is
to delete file through
~storage::ScopedFile -> storage::ScopedFile::Reset ->
  (PostTask) base::DeleteFile.

BLOCKING_SHUTDOWN will ensure that DeleteFile is always called
when necessary.

Bug: 689520
Change-Id: Ib1943fb20fbd014b8ecfd32877323d88e0fe6761
Reviewed-on: https://chromium-review.googlesource.com/604932
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492519}
[modify] https://crrev.com/e4ef7a62741de0e8a2df674ae2711bf87e15a921/chrome/browser/extensions/api/page_capture/page_capture_api.cc
[modify] https://crrev.com/e4ef7a62741de0e8a2df674ae2711bf87e15a921/chrome/browser/extensions/api/page_capture/page_capture_api.h

Project Member

Comment 205 by bugdroid1@chromium.org, Aug 8 2017

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

commit c1d5db5bb53d56b6a991a8f4f43a4b7d5bb561de
Author: Francois Doray <fdoray@chromium.org>
Date: Tue Aug 08 15:06:41 2017

Migrate from FILE thread to TaskScheduler in ThumbnailCache.

The FILE thread is deprecated.

Bug: 689520
Change-Id: I6f3be9e550b42c340a7885ac0fd5f7f69c8d9383
Reviewed-on: https://chromium-review.googlesource.com/594932
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Francois Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492624}
[modify] https://crrev.com/c1d5db5bb53d56b6a991a8f4f43a4b7d5bb561de/chrome/browser/android/thumbnail/thumbnail_cache.cc
[modify] https://crrev.com/c1d5db5bb53d56b6a991a8f4f43a4b7d5bb561de/chrome/browser/android/thumbnail/thumbnail_cache.h

Project Member

Comment 206 by bugdroid1@chromium.org, Aug 8 2017

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

commit 573a5ff44e213dd56af9454f4cd14e0496a57f43
Author: Tobias Sargeant <tobiasjs@google.com>
Date: Tue Aug 08 17:13:16 2017

Migrate AwBrowserTerminator to taskscheduler

This requires removing the sequencing dependency between CrashDumpManager
and AwBrowserTerminator. Split minidump handling out from the child
process observation (now in ChildProcessCrashObserver), so that WebView
no longer requires two observers. AwBrowserTerminator now handles both
minidump processing (via CrashDumpManager) and renderer crash behaviour.

Bug: 689520
Change-Id: I3055536fba6e439d617039c48dacae7c389f2e2b
Reviewed-on: https://chromium-review.googlesource.com/582693
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Reviewed-by: Alok Priyadarshi <alokp@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Tobias Sargeant <tobiasjs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492675}
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/android_webview/browser/aw_browser_main_parts.cc
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/android_webview/browser/aw_browser_terminator.cc
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/android_webview/browser/aw_browser_terminator.h
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/chrome/browser/chrome_browser_main_android.cc
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/chromecast/browser/cast_browser_main_parts.cc
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/chromecast/browser/cast_content_browser_client.cc
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/components/crash/content/browser/BUILD.gn
[add] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/components/crash/content/browser/child_process_crash_observer_android.cc
[add] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/components/crash/content/browser/child_process_crash_observer_android.h
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/components/crash/content/browser/crash_dump_manager_android.cc
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/components/crash/content/browser/crash_dump_manager_android.h
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/content/shell/browser/shell_browser_main_parts.cc
[modify] https://crrev.com/573a5ff44e213dd56af9454f4cd14e0496a57f43/content/shell/browser/shell_content_browser_client.cc

Project Member

Comment 207 by bugdroid1@chromium.org, Aug 8 2017

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

commit 1efe997596ecc62070b2692c03d08054199c99da
Author: Istiaque Ahmed <lazyboy@chromium.org>
Date: Tue Aug 08 18:21:52 2017

[TaskScheduler] Migrate removable_storage_provider.* to task runner.

Bug: 689520
Change-Id: I7bf48d8f6e63090f627d924656364b92e1b45c6c
Reviewed-on: https://chromium-review.googlesource.com/602997
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492703}
[modify] https://crrev.com/1efe997596ecc62070b2692c03d08054199c99da/chrome/browser/extensions/api/image_writer_private/image_writer_private_api.cc
[modify] https://crrev.com/1efe997596ecc62070b2692c03d08054199c99da/chrome/browser/extensions/api/image_writer_private/image_writer_private_api.h
[modify] https://crrev.com/1efe997596ecc62070b2692c03d08054199c99da/chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc
[modify] https://crrev.com/1efe997596ecc62070b2692c03d08054199c99da/chrome/browser/extensions/api/image_writer_private/removable_storage_provider.h
[modify] https://crrev.com/1efe997596ecc62070b2692c03d08054199c99da/chrome/browser/extensions/api/image_writer_private/removable_storage_provider_chromeos.cc
[modify] https://crrev.com/1efe997596ecc62070b2692c03d08054199c99da/chrome/browser/extensions/api/image_writer_private/removable_storage_provider_chromeos_unittest.cc
[modify] https://crrev.com/1efe997596ecc62070b2692c03d08054199c99da/chrome/browser/extensions/api/image_writer_private/removable_storage_provider_linux.cc
[modify] https://crrev.com/1efe997596ecc62070b2692c03d08054199c99da/chrome/browser/extensions/api/image_writer_private/removable_storage_provider_mac.cc
[modify] https://crrev.com/1efe997596ecc62070b2692c03d08054199c99da/chrome/browser/extensions/api/image_writer_private/removable_storage_provider_win.cc

Project Member

Comment 208 by bugdroid1@chromium.org, Aug 9 2017

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

commit 04d3a0ac922e0c04b2bbdf932624b046b16033be
Author: Istiaque Ahmed <lazyboy@chromium.org>
Date: Wed Aug 09 16:24:23 2017

[TaskScheduler Migration] Remove FILE thread usage from ComponentLoader.

FILE thread is deprecated. Use extension specific file task runner
instead.

Bug: 689520
Change-Id: Ibb15ce8e49d814c4142047b9cf4c7571d2d587f5
Reviewed-on: https://chromium-review.googlesource.com/607709
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493009}
[modify] https://crrev.com/04d3a0ac922e0c04b2bbdf932624b046b16033be/chrome/browser/extensions/component_loader.cc

Project Member

Comment 209 by bugdroid1@chromium.org, Aug 9 2017

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

commit 3eb3d0d425082e38b337577fb0780900912d907e
Author: Istiaque Ahmed <lazyboy@chromium.org>
Date: Wed Aug 09 20:33:36 2017

[TaskScheduler] Migrate image_writer_private/ to scheduler.

This CL removes all of image_writer_private/ code to use sequences
instead of FILE thread as FILE thread is going away.

image_writer_private APIs perform all of its tasks through
OperationManager.
OperationManager lives on UI thread and owns instances of Operation-s
using scoped_refptr. Most of Operation's tasks require I/O. This CL
creates task runners for each Operation and executes methods on
that task runner.
Operation also requires zip_reader from third_party, which
unfortunately requires SingleThreadTaskRunner. Before that code
can be changed, wrap calls to zip_reader from Operation under
UnzipHelper. UnzipHelper provides the thread task runner to
zip_reader.

Change-Id: I730b32213fda4734211fc344ae2e10c4cbb1b3ee
Bug: 689520
Reviewed-on: https://chromium-review.googlesource.com/596671
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493127}
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/BUILD.gn
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/destroy_partitions_operation.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/destroy_partitions_operation_unittest.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/image_writer_private_apitest.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/image_writer_utility_client.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/image_writer_utility_client.h
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/image_writer_utility_client_browsertest.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/operation.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/operation.h
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/operation_chromeos.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/operation_manager.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/operation_manager_unittest.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/operation_nonchromeos.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/operation_unittest.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/test_utils.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/test_utils.h
[add] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/unzip_helper.cc
[add] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/unzip_helper.h
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/write_from_file_operation.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/write_from_file_operation_unittest.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/write_from_url_operation.cc
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/write_from_url_operation.h
[modify] https://crrev.com/3eb3d0d425082e38b337577fb0780900912d907e/chrome/browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc

Project Member

Comment 210 by bugdroid1@chromium.org, Aug 10 2017

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

commit b7a9717ec32fd51fc5325872e07efe61fc2c3a8b
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Thu Aug 10 01:25:32 2017

[Task Migration][Extensions] Update SandboxedUnpacker

Update the SandboxedUnpacker class to use the new task scheduling API.

Also remove a call to IsShutdownInProgress() by the SandboxedUnpacker.
This was added to fix https://crbug.com/235525, which was seemingly
caused by tasks to write image files being aborted mid-execution. With
the new task scheduling API, we can solve this by using
TaskShutdownBehavior::SKIP_ON_SHUTDOWN, which will ensure that either
the task will not run, or the task will run until completion.

Since this was the last usage of
SequencedWorkerPool::IsShutdownInProgress(), remove the method in its
entirety.

Bug: 689520

Change-Id: I7d518230a13f92b1824371f228a7639ef19a5b9d
Reviewed-on: https://chromium-review.googlesource.com/594632
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493212}
[modify] https://crrev.com/b7a9717ec32fd51fc5325872e07efe61fc2c3a8b/base/threading/sequenced_worker_pool.cc
[modify] https://crrev.com/b7a9717ec32fd51fc5325872e07efe61fc2c3a8b/base/threading/sequenced_worker_pool.h
[modify] https://crrev.com/b7a9717ec32fd51fc5325872e07efe61fc2c3a8b/extensions/browser/sandboxed_unpacker.cc
[modify] https://crrev.com/b7a9717ec32fd51fc5325872e07efe61fc2c3a8b/extensions/browser/sandboxed_unpacker.h

Project Member

Comment 211 by bugdroid1@chromium.org, Aug 10 2017

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

commit 35e30fd68015fa36e75b8cbfd1e362b21ab19093
Author: Istiaque Ahmed <lazyboy@chromium.org>
Date: Thu Aug 10 17:41:30 2017

Make extension registry code use sequences instead of FILE thread.

FILE thread is deprecated, run extension registry code in
SequencedTaskRunner.

Also change
CHECK(BrowserThread::CurrentlyOn(FOO)) pattern to DCHECK.

BUG=689520

Change-Id: I6555e021ee80418e67d24bfca168c6be077b4bf1
Reviewed-on: https://chromium-review.googlesource.com/607470
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493450}
[modify] https://crrev.com/35e30fd68015fa36e75b8cbfd1e362b21ab19093/chrome/browser/extensions/external_registry_loader_win.cc
[modify] https://crrev.com/35e30fd68015fa36e75b8cbfd1e362b21ab19093/chrome/browser/extensions/external_registry_loader_win.h
[modify] https://crrev.com/35e30fd68015fa36e75b8cbfd1e362b21ab19093/chrome/browser/extensions/external_registry_loader_win_unittest.cc

Project Member

Comment 212 by bugdroid1@chromium.org, Aug 10 2017

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

commit e21ebeef8bb40ff0dfa3def5c33cd1353ae53db4
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Aug 10 18:41:26 2017

Migrate web_ui_url_loader_factory.cc to TaskScheduler.

R=groby@chromium.org

Bug: 689520
Change-Id: Ia9fd5c98ec4c75ab2bc77e755371779dd3ea31f7
Reviewed-on: https://chromium-review.googlesource.com/610473
Reviewed-by: Rachel Blum <groby@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493477}
[modify] https://crrev.com/e21ebeef8bb40ff0dfa3def5c33cd1353ae53db4/content/browser/webui/web_ui_url_loader_factory.cc

Project Member

Comment 213 by bugdroid1@chromium.org, Aug 10 2017

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

commit 425f25d4f2a73e44c8b5817d70b7ce1f42251728
Author: Helen Li <xunjieli@chromium.org>
Date: Thu Aug 10 19:17:16 2017

Remove outdated comment in net_export_ui.cc

The comment no longer applies.

Bug: 689520
Change-Id: Ia4a239fb051e01852fdb8fbc8f3b61a68a4165e0
Reviewed-on: https://chromium-review.googlesource.com/610825
Commit-Queue: Helen Li <xunjieli@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493490}
[modify] https://crrev.com/425f25d4f2a73e44c8b5817d70b7ce1f42251728/ios/chrome/browser/ui/webui/net_export/net_export_ui.cc

Project Member

Comment 214 by bugdroid1@chromium.org, Aug 12 2017

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

commit 6a06cc9f3d1228edb0296ad70ce9de1504753520
Author: Istiaque Ahmed <lazyboy@chromium.org>
Date: Sat Aug 12 00:31:33 2017

[TaskScheduler] Make PackExtensionJob run on sequences.

It used to run on FILE thread, which is deprecated.

This CL also removes ref-counting from PackExtensionJob, as
PackExtensionJob::Client should be responsible for keeping
PackExtensionJob alive.

Change set_asynchronous(bool) -> set_synchronous as async is
the default, and set_synchronous was always called with false.

Bug: 689520
Change-Id: I87143df26e7adf28bbbe6fd379a38d17d07cb967
Reviewed-on: https://chromium-review.googlesource.com/611044
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493900}
[modify] https://crrev.com/6a06cc9f3d1228edb0296ad70ce9de1504753520/chrome/browser/extensions/api/developer_private/developer_private_api.cc
[modify] https://crrev.com/6a06cc9f3d1228edb0296ad70ce9de1504753520/chrome/browser/extensions/api/developer_private/developer_private_api.h
[modify] https://crrev.com/6a06cc9f3d1228edb0296ad70ce9de1504753520/chrome/browser/extensions/extension_service_unittest.cc
[modify] https://crrev.com/6a06cc9f3d1228edb0296ad70ce9de1504753520/chrome/browser/extensions/pack_extension_job.cc
[modify] https://crrev.com/6a06cc9f3d1228edb0296ad70ce9de1504753520/chrome/browser/extensions/pack_extension_job.h
[modify] https://crrev.com/6a06cc9f3d1228edb0296ad70ce9de1504753520/chrome/browser/extensions/startup_helper.cc
[modify] https://crrev.com/6a06cc9f3d1228edb0296ad70ce9de1504753520/chrome/browser/extensions/startup_helper.h

Project Member

Comment 216 by bugdroid1@chromium.org, Aug 15 2017

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

commit d9cbc1f8ef96abc3401e83019f10374f38509733
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Tue Aug 15 19:24:51 2017

[Task Migration][Extensions] Add and use a devoted file task runner

With the new task scheduling system, there are no guarantees that
different operations will not collide - each caller has to ensure that
no conflicting tasks will be scheduled and executed synchronously. This
means that for file tasks, we need to have a common task runner for any
tasks that may touch the same files.

Introduce a common SequencedTaskRunner for the extension system, and use
it in the UserScriptLoader.  Additionally, use it in ExtensionService,
in lieu of the prior ExtensionService-owned task runner that's used for
file tasks in installation.  Finally, also make the GetFileTaskRunner()
method in ExtensionService non-virtual, since it's not needed on any of
the interfaces.

TBR=rdevlin.cronin@chromium.org

(cherry picked from commit 40b4cbc3db8c603c52af3a9b255ccf009672a38c)

Bug: 689520
Bug: 750122
Change-Id: I9d0b993689821e7aca9b2553283609cce796a162
Reviewed-on: https://chromium-review.googlesource.com/593854
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#491209}
Reviewed-on: https://chromium-review.googlesource.com/615880
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#577}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/d9cbc1f8ef96abc3401e83019f10374f38509733/chrome/browser/extensions/extension_service.cc
[modify] https://crrev.com/d9cbc1f8ef96abc3401e83019f10374f38509733/chrome/browser/extensions/extension_service.h
[modify] https://crrev.com/d9cbc1f8ef96abc3401e83019f10374f38509733/chrome/browser/extensions/extension_user_script_loader_unittest.cc
[modify] https://crrev.com/d9cbc1f8ef96abc3401e83019f10374f38509733/chrome/browser/extensions/test_extension_service.cc
[modify] https://crrev.com/d9cbc1f8ef96abc3401e83019f10374f38509733/chrome/browser/extensions/test_extension_service.h
[modify] https://crrev.com/d9cbc1f8ef96abc3401e83019f10374f38509733/extensions/browser/BUILD.gn
[add] https://crrev.com/d9cbc1f8ef96abc3401e83019f10374f38509733/extensions/browser/extension_file_task_runner.cc
[add] https://crrev.com/d9cbc1f8ef96abc3401e83019f10374f38509733/extensions/browser/extension_file_task_runner.h
[modify] https://crrev.com/d9cbc1f8ef96abc3401e83019f10374f38509733/extensions/browser/extension_user_script_loader.cc

Project Member

Comment 217 by bugdroid1@chromium.org, Aug 15 2017

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

commit 0b08bf2eaee22458d459ef824e644d4493b29c20
Author: Gabriel Charette <gab@chromium.org>
Date: Tue Aug 15 20:10:06 2017

Make profile directory creation always synchronous.

This requires allowing IO on the main thread for two lightweight I/O
operations (PathExists + CreateDirectory). The tradeoff is worth it as
it ensures the directory is up before any of the asynchronous I/O from
every service starts touching their portion of the profile directory.
Sequencing all of these operations on the directory creation would be a
herculian task and isn't worth it.

R=rch@chromium.org

NOPRESUBMIT=True (for intentional ScopedAllowIO usage)

Bug: 755157, 689520
Change-Id: I81498d20e91cae79ea3a1948b3d84d255adb6bd6
Reviewed-on: https://chromium-review.googlesource.com/613683
Reviewed-by: Anthony Vallee-Dubois <anthonyvd@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494517}
[modify] https://crrev.com/0b08bf2eaee22458d459ef824e644d4493b29c20/chrome/browser/profiles/profile_impl.cc
[modify] https://crrev.com/0b08bf2eaee22458d459ef824e644d4493b29c20/chrome/browser/profiles/profile_manager_unittest.cc

Project Member

Comment 218 by bugdroid1@chromium.org, Aug 15 2017

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

commit 16adc69f125cf6754b96aeac048a4b4bd939bb0e
Author: Istiaque Ahmed <lazyboy@chromium.org>
Date: Tue Aug 15 21:06:22 2017

[TaskScheduler] Migrate ValidateCrxHelper off FILE thread.

FILE thread is deprecated, use SequencedTaskRunner instead.
--validate-crx is fairly isolated from regular browsing,
however since there is a very very small change of file
read colliding with other extension system file access,
use ExtensionFileTaskRunner to be safe.

Bug: 689520
Test: ./out/Release/chrome --validate-crx=crx_file_path With valid, invalid and non-existent file.

Change-Id: I06e7ad5a4bba5cab3c86d470e891c4b6fe81cee4
Reviewed-on: https://chromium-review.googlesource.com/610491
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494543}
[modify] https://crrev.com/16adc69f125cf6754b96aeac048a4b4bd939bb0e/chrome/browser/extensions/startup_helper.cc

Project Member

Comment 219 by bugdroid1@chromium.org, Aug 16 2017

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

commit 9a16ee7a2e71c6a387def43c56583ad1bf5f41f8
Author: Alexandr Ilin <alexilin@chromium.org>
Date: Wed Aug 16 13:13:34 2017

Reland "predictors: Replace BrowserThread::DB with TaskScheduler API."

This reverts commit b1a98a32e9da2a343a8b9fc9d20a615e36f029d1.

Reason for reland: Predictor is one of the last things left on the DB thread 
and it should be converted to finish the DB thread deprecation. We have a plan
how to address benchmark regression and this change isn't blocked. Affected 
benchmarks have a problem themselves. They supposed to be loading benchmarks 
but they're sensitive to startup-related things during the profile creation. 
(https://crbug.com/746100)

Original change's description:
> Revert "predictors: Replace BrowserThread::DB with TaskScheduler API."
> 
> This reverts commit db57d232f21b4f2b09c362d6fabeb2a2286cd863.
> 
> Reason for revert: Perf regression on Win10 startup. See bug 737394.
> 
> Original change's description:
> > predictors: Replace BrowserThread::DB with TaskScheduler API.
> > 
> > Bug: 689520
> > Change-Id: I7434993ce90e2433f1f19becf6aaefd6fa2dffec
> > Reviewed-on: https://chromium-review.googlesource.com/535622
> > Reviewed-by: Peter Kasting <pkasting@chromium.org>
> > Reviewed-by: Egor Pasko <pasko@chromium.org>
> > Reviewed-by: Gabriel Charette <gab@chromium.org>
> > Commit-Queue: Alexandr Ilin <alexilin@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#481654}
> 
> TBR=pasko@chromium.org,pkasting@chromium.org,gab@chromium.org,alexilin@chromium.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: 689520, 737394
> Change-Id: I8e23e3dcb012d6d32bc24a7c97cfd341e1f942a3
> Reviewed-on: https://chromium-review.googlesource.com/552997
> Reviewed-by: Alexandr Ilin <alexilin@chromium.org>
> Commit-Queue: Alexandr Ilin <alexilin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#483080}

TBR=pkasting@chromium.org,gab@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 689520, 737394
Change-Id: Ib8a8addbb38f7dc65eeede7e5f0b8a5ee105a163
Reviewed-on: https://chromium-review.googlesource.com/616680
Commit-Queue: Alexandr Ilin <alexilin@chromium.org>
Reviewed-by: Egor Pasko <pasko@chromium.org>
Reviewed-by: Alexandr Ilin <alexilin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494757}
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/autocomplete_action_predictor.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/autocomplete_action_predictor_table.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/autocomplete_action_predictor_table.h
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/autocomplete_action_predictor_table_unittest.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/autocomplete_action_predictor_unittest.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/glowplug_key_value_data.h
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/glowplug_key_value_table.h
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/loading_data_collector_unittest.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/loading_predictor_unittest.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/loading_stats_collector_unittest.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/predictor_database.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/predictor_database.h
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/predictor_database_factory.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/predictor_table_base.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/predictor_table_base.h
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/resource_prefetch_predictor.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/resource_prefetch_predictor.h
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/resource_prefetch_predictor_tables.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/resource_prefetch_predictor_tables.h
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/ui/views/frame/test_with_browser_view.cc
[modify] https://crrev.com/9a16ee7a2e71c6a387def43c56583ad1bf5f41f8/chrome/browser/ui/views/frame/test_with_browser_view.h

Project Member

Comment 220 by bugdroid1@chromium.org, Aug 16 2017

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

commit 6f800fcc537603673f6983a7b05126b2668c204d
Author: Alexandr Ilin <alexilin@chromium.org>
Date: Wed Aug 16 16:48:25 2017

Remove reference to BrowserThread::DB in TestWithBrowserView

The DB thread is deprecated in favor of TaskScheduler API.

Bug: 689520
Change-Id: I00c02f24c8373dad8ec3159f44f470948c1efcf5
Reviewed-on: https://chromium-review.googlesource.com/549320
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Alexandr Ilin <alexilin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494824}
[modify] https://crrev.com/6f800fcc537603673f6983a7b05126b2668c204d/chrome/browser/ui/views/frame/test_with_browser_view.cc

Project Member

Comment 221 by bugdroid1@chromium.org, Aug 16 2017

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

commit 5675f90259e71b69a2cfb1d9042a48b1b530be08
Author: Micah Morton <mortonm@google.com>
Date: Wed Aug 16 22:35:19 2017

Refactor DownloadProtectionService for modularity.

Pull the subclasses within DownloadProtectionService out into their own
files. Also, move common dependencies to download_protection_util.h.

Bug: 721964,689520
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I73fb2479c6a168ad6e3be7c8f76b89e33c05d7ff
Reviewed-on: https://chromium-review.googlesource.com/583999
Commit-Queue: Micah Morton <mortonm@google.com>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Min Qin <qinmin@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Nathan Parker <nparker@chromium.org>
Reviewed-by: Jialiu Lin <jialiul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494982}
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/download/chrome_download_manager_delegate.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/download/chrome_download_manager_delegate.h
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/download/chrome_download_manager_delegate_unittest.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/download/download_browsertest.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/download/download_commands.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/download/download_danger_prompt.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/download/download_danger_prompt_browsertest.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/download/download_item_model.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/file_select_helper.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/BUILD.gn
[add] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
[add] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/disk_image_type_sniffer_mac.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/disk_image_type_sniffer_mac.h
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/disk_image_type_sniffer_mac_unittest.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_feedback.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_feedback.h
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_feedback_service.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_feedback_service.h
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_feedback_service_unittest.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_feedback_unittest.cc
[add] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_protection_service.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_protection_service.h
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc
[add] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_protection_util.cc
[add] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_protection_util.h
[add] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_url_sb_client.cc
[add] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/download_url_sb_client.h
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/path_sanitizer.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/path_sanitizer.h
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/path_sanitizer_unittest.cc
[add] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc
[add] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/ppapi_download_request.h
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/sandboxed_dmg_analyzer_mac.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/sandboxed_dmg_analyzer_mac.h
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/sandboxed_dmg_analyzer_mac_unittest.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/sandboxed_zip_analyzer.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/sandboxed_zip_analyzer.h
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/sandboxed_zip_analyzer_unittest.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/two_phase_uploader.cc
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/two_phase_uploader.h
[rename] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/download_protection/two_phase_uploader_unittest.cc
[delete] https://crrev.com/8674c19bcc3997d76afba03341f882f3fd384107/chrome/browser/safe_browsing/download_protection_service.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/incident_reporting/blacklist_load_analyzer_win.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/incident_reporting/environment_data_collection_win.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/incident_reporting/environment_data_collection_win_unittest.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.h
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/incident_reporting/module_load_analyzer_win.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/local_database_manager.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/safe_browsing_navigation_observer_browsertest.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/safe_browsing_service.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/services_delegate_impl.h
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/safe_browsing/test_safe_browsing_service.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/ui/cocoa/download/download_danger_prompt_impl.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/browser/ui/views/download/download_item_view.cc
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/test/BUILD.gn
[modify] https://crrev.com/5675f90259e71b69a2cfb1d9042a48b1b530be08/chrome/test/ppapi/ppapi_filechooser_browsertest.cc

Project Member

Comment 222 by bugdroid1@chromium.org, Aug 16 2017

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

commit 9499b12d52bb25ee0f0b0f62420baa2e6581286b
Author: Gabriel Charette <gab@chromium.org>
Date: Wed Aug 16 23:27:57 2017

Migrate ChromeBrowserStateManagerImpl to TaskScheduler.

R=sdefresne@chromium.org

Bug: 689520
Change-Id: I4a6f898d2f7b645894c6823162955be62887f6e2
Reviewed-on: https://chromium-review.googlesource.com/614906
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494996}
[modify] https://crrev.com/9499b12d52bb25ee0f0b0f62420baa2e6581286b/ios/chrome/browser/browser_state/chrome_browser_state_manager_impl.cc

Project Member

Comment 223 by bugdroid1@chromium.org, Aug 17 2017

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

commit 8956256053b4cc8562225dc6a13ec13d0e9fa272
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Aug 17 00:56:34 2017

Remove dependency on BrowserThread::FILE from profile browsertests.

R=rch@chromium.org

Bug: 689520
Change-Id: I2f829ef0ce5bb2130e3224b36da092b2f520c466
Reviewed-on: https://chromium-review.googlesource.com/613661
Reviewed-by: Anthony Vallee-Dubois <anthonyvd@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495020}
[modify] https://crrev.com/8956256053b4cc8562225dc6a13ec13d0e9fa272/chrome/browser/profiles/profile_browsertest.cc

Project Member

Comment 224 by bugdroid1@chromium.org, Aug 17 2017

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

commit 0c372820519215511cfbcc7ad7fb97617b1e8299
Author: Satoru Takabayashi <satorux@chromium.org>
Date: Thu Aug 17 06:06:08 2017

file_manager: Remove the last reference of BrowserThread::FILE

The browser test was calling

  content::RunAllPendingInMessageLoop(content::BrowserThread::FILE)

which no longer makes sense since FILE thread is no longer used in
the test since crrev.com/484191. The test kept passing after the
change hence the I didn't notice until gab@ kindly pointed out.

This patch rewrites the file content checking logic with RunLoop
so that there is no need to flush tasks.

BUG=689520
TEST=The browser test still passes

Change-Id: I72983b2f3c4a0b4d3b22a2eca3835bb08ddf574c
Reviewed-on: https://chromium-review.googlesource.com/618067
Reviewed-by: Yuki Awano <yawano@chromium.org>
Commit-Queue: Satoru Takabayashi <satorux@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495089}
[modify] https://crrev.com/0c372820519215511cfbcc7ad7fb97617b1e8299/chrome/browser/chromeos/extensions/file_manager/file_browser_handler_api_test.cc

Project Member

Comment 225 by bugdroid1@chromium.org, Aug 17 2017

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

commit 1abda036eaee58bcb8aee1c2704b93b45a773ea8
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Aug 17 11:27:32 2017

Make ios browser state directory creation always synchronous.

This is the ios mirror to
https://chromium-review.googlesource.com/c/613683

NOPRESUBMIT=True (for intentional ScopedAllowIO usage)

Bug: 755157, 689520
Change-Id: I856a31ce1e2fc930587e04e5b32c49b19161e155
Reviewed-on: https://chromium-review.googlesource.com/618087
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495138}
[modify] https://crrev.com/1abda036eaee58bcb8aee1c2704b93b45a773ea8/ios/chrome/browser/browser_state/chrome_browser_state_impl.cc

Project Member

Comment 226 by bugdroid1@chromium.org, Aug 17 2017

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

commit faf432199dc2222387065e1ee2c933146adba50d
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Aug 17 22:00:41 2017

Migrate ProfileManager off BrowserThread::FILE.

R=rch@chromium.org

Bug: 689520
Change-Id: I59ce937f23fee37cf4cf674e21d1f412b144db60
Reviewed-on: https://chromium-review.googlesource.com/613575
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Stefan Kuhne <skuhne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495338}
[modify] https://crrev.com/faf432199dc2222387065e1ee2c933146adba50d/chrome/browser/profiles/profile_manager.cc
[modify] https://crrev.com/faf432199dc2222387065e1ee2c933146adba50d/chrome/browser/profiles/profile_manager_unittest.cc

Project Member

Comment 227 by bugdroid1@chromium.org, Aug 18 2017

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

commit 2a7fa4ab011b484a951f5b6b1550862b04bc4fde
Author: Sam McNally <sammc@chromium.org>
Date: Fri Aug 18 09:48:17 2017

Remove the DB thread spinning at the end of profile browsertests.

Non-test usage of the DB thread has been removed so this is a no-op.

Bug: 689520
Change-Id: I4e03ac890afa2584c60fccaff4f88ebbde1e12f3
Reviewed-on: https://chromium-review.googlesource.com/620287
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Commit-Queue: Sam McNally <sammc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495512}
[modify] https://crrev.com/2a7fa4ab011b484a951f5b6b1550862b04bc4fde/chrome/browser/profiles/profile_browsertest.cc

Project Member

Comment 228 by bugdroid1@chromium.org, Aug 18 2017

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

commit 13d4ea821a97bdfd0ed61c37e087840eb1917e16
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Fri Aug 18 18:11:03 2017

[Extensions][TaskMigration] Remove usage of BrowserThread in ActivityLog

Remove the checks if certain BrowserThreads exist in ActivityLog. These
used to be necessary since tasks ran on certain threads that might not
exist in unittests, but are no longer needed.

Also remove some debug logs that previously crept in.

Bug: 689520
Change-Id: I2065ba6c01a84b5f3c05dc82028fdabc02738558
Reviewed-on: https://chromium-review.googlesource.com/621406
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495620}
[modify] https://crrev.com/13d4ea821a97bdfd0ed61c37e087840eb1917e16/chrome/browser/extensions/activity_log/activity_database.cc
[modify] https://crrev.com/13d4ea821a97bdfd0ed61c37e087840eb1917e16/chrome/browser/extensions/activity_log/activity_log.cc
[modify] https://crrev.com/13d4ea821a97bdfd0ed61c37e087840eb1917e16/chrome/browser/extensions/activity_log/activity_log.h

Project Member

Comment 229 by bugdroid1@chromium.org, Aug 21 2017

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

commit 328cfe6556457ddf08715764748e9606cee8b03c
Author: Gabriel Charette <gab@chromium.org>
Date: Mon Aug 21 18:59:56 2017

[Merge M61] Make profile directory creation always synchronous.
[Merge M61] Make ios browser state directory creation always synchronous.

This requires allowing IO on the main thread for two lightweight I/O
operations (PathExists + CreateDirectory). The tradeoff is worth it as
it ensures the directory is up before any of the asynchronous I/O from
every service starts touching their portion of the profile directory.
Sequencing all of these operations on the directory creation would be a
herculian task and isn't worth it.

NOPRESUBMIT=True (for intentional ScopedAllowIO usage)

Bug: 755157, 689520
Change-Id: I81498d20e91cae79ea3a1948b3d84d255adb6bd6
Reviewed-on: https://chromium-review.googlesource.com/613683
Reviewed-by: Anthony Vallee-Dubois <anthonyvd@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494517}
(cherry picked from commit 0b08bf2eaee22458d459ef824e644d4493b29c20)

TBR=anthonyvd@chromium.org, rch@chromium.org, sdefresne@chromium.org

(cherry picked from commit 1abda036eaee58bcb8aee1c2704b93b45a773ea8)

Change-Id: I856a31ce1e2fc930587e04e5b32c49b19161e155
Reviewed-on: https://chromium-review.googlesource.com/618087
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#495138}
Reviewed-on: https://chromium-review.googlesource.com/624455
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#707}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/328cfe6556457ddf08715764748e9606cee8b03c/chrome/browser/profiles/profile_impl.cc
[modify] https://crrev.com/328cfe6556457ddf08715764748e9606cee8b03c/chrome/browser/profiles/profile_manager_unittest.cc
[modify] https://crrev.com/328cfe6556457ddf08715764748e9606cee8b03c/ios/chrome/browser/browser_state/chrome_browser_state_impl.cc

Project Member

Comment 230 by bugdroid1@chromium.org, Aug 22 2017

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

commit 9e1aabd5c25c1d8b76752372167dae7ce8aa0d89
Author: Patrick Monette <pmonette@chromium.org>
Date: Tue Aug 22 19:10:16 2017

Remove the usage of BrowserThread::FILE in the spellchecker files

The usage of BrowserThread::FILE is deprecated in favor of the
post_task.h API.

This is a new attempt at
https://chromium-review.googlesource.com/c/510018,
that got reverted because of flaky tests.

I changed the code to make sure the dictionary is deleted on the
same task runner is it used in.

Bug: 689520
Change-Id: Ie8bfe46de608a4b1944b259007314405c9b56d50
Reviewed-on: https://chromium-review.googlesource.com/619607
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496394}
[modify] https://crrev.com/9e1aabd5c25c1d8b76752372167dae7ce8aa0d89/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc
[modify] https://crrev.com/9e1aabd5c25c1d8b76752372167dae7ce8aa0d89/chrome/browser/spellchecker/spellcheck_custom_dictionary.h
[modify] https://crrev.com/9e1aabd5c25c1d8b76752372167dae7ce8aa0d89/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
[modify] https://crrev.com/9e1aabd5c25c1d8b76752372167dae7ce8aa0d89/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h
[modify] https://crrev.com/9e1aabd5c25c1d8b76752372167dae7ce8aa0d89/chrome/browser/spellchecker/spellcheck_service_browsertest.cc

Project Member

Comment 231 by bugdroid1@chromium.org, Aug 23 2017

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

commit ad98d2c716bf5347388a7c52281762bc2fdfc16e
Author: Ivan Sandrk <isandrk@google.com>
Date: Wed Aug 23 08:31:53 2017

Migrate CloudPolicyManager to use TaskScheduler

Removing use of FILE thread, replacing with SequencedTaskRunner.

Bug: 689520,729082
Change-Id: Ia7fe12ba44dec0c107f4ddaf3f1e9b0f5aa55095
Reviewed-on: https://chromium-review.googlesource.com/612171
Reviewed-by: Anthony Vallee-Dubois <anthonyvd@chromium.org>
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Commit-Queue: Ivan Šandrk <isandrk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496626}
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos_unittest.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/chrome/browser/chromeos/policy/user_policy_manager_factory_chromeos.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/chrome/browser/policy/cloud/user_cloud_policy_manager_factory.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/chrome/browser/policy/cloud/user_policy_signin_service_unittest.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/chrome/browser/policy/profile_policy_connector_unittest.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/chrome/browser/profiles/profile_impl.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/BUILD.gn
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/cloud/cloud_policy_manager.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/cloud/cloud_policy_manager.h
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/cloud/cloud_policy_manager_unittest.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/cloud/user_cloud_policy_manager.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/cloud/user_cloud_policy_manager.h
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/cloud/user_cloud_policy_manager_unittest.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/config_dir_policy_loader_unittest.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/configuration_policy_provider_test.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/configuration_policy_provider_test.h
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/policy_loader_mac_unittest.cc
[modify] https://crrev.com/ad98d2c716bf5347388a7c52281762bc2fdfc16e/components/policy/core/common/policy_loader_win_unittest.cc

Project Member

Comment 232 by bugdroid1@chromium.org, Aug 23 2017

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

commit 46ee392970e491fb9ee2523348e23222b40d5119
Author: Patrick Monette <pmonette@chromium.org>
Date: Wed Aug 23 20:54:59 2017

Revert "Remove the usage of BrowserThread::FILE in the spellchecker files"

This reverts commit 9e1aabd5c25c1d8b76752372167dae7ce8aa0d89.

Reason for revert: SpellcheckServiceBrowserTest.DeleteCorruptedBDICT is
flaky again.

Original change's description:
> Remove the usage of BrowserThread::FILE in the spellchecker files
> 
> The usage of BrowserThread::FILE is deprecated in favor of the
> post_task.h API.
> 
> This is a new attempt at
> https://chromium-review.googlesource.com/c/510018,
> that got reverted because of flaky tests.
> 
> I changed the code to make sure the dictionary is deleted on the
> same task runner is it used in.
> 
> Bug: 689520
> Change-Id: Ie8bfe46de608a4b1944b259007314405c9b56d50
> Reviewed-on: https://chromium-review.googlesource.com/619607
> Commit-Queue: Patrick Monette <pmonette@chromium.org>
> Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#496394}

TBR=rouslan@chromium.org,pmonette@chromium.org
NOTRY=true
NOPRESUBMIT=true

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 689520
Change-Id: I8887b9038ead9a9bc1a3b5102c1a6eadfc5bb36d
Reviewed-on: https://chromium-review.googlesource.com/629776
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Reviewed-by: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496802}
[modify] https://crrev.com/46ee392970e491fb9ee2523348e23222b40d5119/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc
[modify] https://crrev.com/46ee392970e491fb9ee2523348e23222b40d5119/chrome/browser/spellchecker/spellcheck_custom_dictionary.h
[modify] https://crrev.com/46ee392970e491fb9ee2523348e23222b40d5119/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
[modify] https://crrev.com/46ee392970e491fb9ee2523348e23222b40d5119/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h
[modify] https://crrev.com/46ee392970e491fb9ee2523348e23222b40d5119/chrome/browser/spellchecker/spellcheck_service_browsertest.cc

Project Member

Comment 233 by bugdroid1@chromium.org, Sep 6 2017

Project Member

Comment 235 by bugdroid1@chromium.org, Sep 11 2017

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

commit 077f74a7345ce555727a584a4f7a9b85da76f4c0
Author: Gabriel Charette <gab@chromium.org>
Date: Mon Sep 11 23:27:48 2017

Migrate AwMetricsServiceClient off BrowserThread::FILE

R=torne@chromium.org

Bug: 689520
Change-Id: I782d346026c2af429cad07b2bcb96cf8c822e14b
Reviewed-on: https://chromium-review.googlesource.com/657300
Reviewed-by: Richard Coles <torne@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501094}
[modify] https://crrev.com/077f74a7345ce555727a584a4f7a9b85da76f4c0/android_webview/browser/aw_metrics_service_client.cc

Project Member

Comment 236 by bugdroid1@chromium.org, Sep 12 2017

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

commit abd57f32d841eca82fa1fb753390b24c1f4c00e1
Author: Francois Doray <fdoray@chromium.org>
Date: Tue Sep 12 12:39:30 2017

Remove BrowserThread::FILE_USER_BLOCKING/CACHE/DB.

These threads are deprecated and no longer used.

NOPRESUBMIT=true

Bug: 689520
Change-Id: I55b05b70626f91c8a71d56642c851bb786dbfcaa
Reviewed-on: https://chromium-review.googlesource.com/660597
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: Francois Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501245}
[modify] https://crrev.com/abd57f32d841eca82fa1fb753390b24c1f4c00e1/chrome/browser/metrics/thread_watcher.cc
[modify] https://crrev.com/abd57f32d841eca82fa1fb753390b24c1f4c00e1/content/browser/browser_main_loop.cc
[modify] https://crrev.com/abd57f32d841eca82fa1fb753390b24c1f4c00e1/content/browser/browser_main_loop.h
[modify] https://crrev.com/abd57f32d841eca82fa1fb753390b24c1f4c00e1/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/abd57f32d841eca82fa1fb753390b24c1f4c00e1/content/browser/browser_thread_impl.h
[modify] https://crrev.com/abd57f32d841eca82fa1fb753390b24c1f4c00e1/content/public/browser/browser_thread.h
[modify] https://crrev.com/abd57f32d841eca82fa1fb753390b24c1f4c00e1/content/public/test/test_browser_thread_bundle.cc
[modify] https://crrev.com/abd57f32d841eca82fa1fb753390b24c1f4c00e1/content/public/test/test_browser_thread_bundle.h

Project Member

Comment 237 by bugdroid1@chromium.org, Sep 12 2017

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

commit dc4e108d99f94d68270c281e50a409914b06c587
Author: Francois Doray <fdoray@chromium.org>
Date: Tue Sep 12 14:08:54 2017

Revert "Remove BrowserThread::FILE_USER_BLOCKING/CACHE/DB."

This reverts commit abd57f32d841eca82fa1fb753390b24c1f4c00e1.

Reason for revert: Will reland similar CL once the FILE thread is also deprecated (we prefer to deprecate all browser threads at once).

Original change's description:
> Remove BrowserThread::FILE_USER_BLOCKING/CACHE/DB.
> 
> These threads are deprecated and no longer used.
> 
> NOPRESUBMIT=true
> 
> Bug: 689520
> Change-Id: I55b05b70626f91c8a71d56642c851bb786dbfcaa
> Reviewed-on: https://chromium-review.googlesource.com/660597
> Reviewed-by: John Abd-El-Malek <jam@chromium.org>
> Commit-Queue: Francois Doray <fdoray@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#501245}

TBR=jam@chromium.org,fdoray@chromium.org

Change-Id: I4a0605974792092af8780595fcccef5a6dda3d87
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 689520
Reviewed-on: https://chromium-review.googlesource.com/663598
Reviewed-by: Francois Doray <fdoray@chromium.org>
Commit-Queue: Francois Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501263}
[modify] https://crrev.com/dc4e108d99f94d68270c281e50a409914b06c587/chrome/browser/metrics/thread_watcher.cc
[modify] https://crrev.com/dc4e108d99f94d68270c281e50a409914b06c587/content/browser/browser_main_loop.cc
[modify] https://crrev.com/dc4e108d99f94d68270c281e50a409914b06c587/content/browser/browser_main_loop.h
[modify] https://crrev.com/dc4e108d99f94d68270c281e50a409914b06c587/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/dc4e108d99f94d68270c281e50a409914b06c587/content/browser/browser_thread_impl.h
[modify] https://crrev.com/dc4e108d99f94d68270c281e50a409914b06c587/content/public/browser/browser_thread.h
[modify] https://crrev.com/dc4e108d99f94d68270c281e50a409914b06c587/content/public/test/test_browser_thread_bundle.cc
[modify] https://crrev.com/dc4e108d99f94d68270c281e50a409914b06c587/content/public/test/test_browser_thread_bundle.h

Project Member

Comment 238 by bugdroid1@chromium.org, Sep 13 2017

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

commit 4b7622af626aa53ad351ce0de993494d0f5ea253
Author: Gabriel Charette <gab@chromium.org>
Date: Wed Sep 13 13:10:02 2017

Migrate OffTheRecordChromeBrowserStateIOData off of WebThread::DB

ios/ equivalent to https://codereview.chromium.org/2841593003

R=sdefresne@chromium.org

Bug: 689520
Change-Id: I6aa6a0042f26177f9db38053f9c05bb1402aaf75
Reviewed-on: https://chromium-review.googlesource.com/664064
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501606}
[modify] https://crrev.com/4b7622af626aa53ad351ce0de993494d0f5ea253/ios/chrome/browser/browser_state/off_the_record_chrome_browser_state_io_data.mm

Comment 239 by gab@chromium.org, Sep 13 2017

Blockedon: 761498
Project Member

Comment 240 by bugdroid1@chromium.org, Sep 14 2017

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

commit ce42ef44c3eed5f149698aac79c9619d2decbace
Author: Francois Doray <fdoray@chromium.org>
Date: Thu Sep 14 15:24:20 2017

Remove the usage of BrowserThread::FILE in the spellchecker files

Previously landed as
https://chromium-review.googlesource.com/c/chromium/src/+/619607

Relanding with RunAllBlockingPoolTasksUntilIdle() in browser test.

The usage of BrowserThread::FILE is deprecated in favor of the
post_task.h API.

This is a new attempt at
https://chromium-review.googlesource.com/c/510018,
that got reverted because of flaky tests.

I changed the code to make sure the dictionary is deleted on the
same task runner is it used in.

TBR=rouslan@chromium.org

Bug: 689520
Change-Id: Ib0b0d39dbdd0f0f7625baab65fcfe3e0a28306e0
Reviewed-on: https://chromium-review.googlesource.com/667239
Reviewed-by: Francois Doray <fdoray@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Francois Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501955}
[modify] https://crrev.com/ce42ef44c3eed5f149698aac79c9619d2decbace/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc
[modify] https://crrev.com/ce42ef44c3eed5f149698aac79c9619d2decbace/chrome/browser/spellchecker/spellcheck_custom_dictionary.h
[modify] https://crrev.com/ce42ef44c3eed5f149698aac79c9619d2decbace/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
[modify] https://crrev.com/ce42ef44c3eed5f149698aac79c9619d2decbace/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h
[modify] https://crrev.com/ce42ef44c3eed5f149698aac79c9619d2decbace/chrome/browser/spellchecker/spellcheck_service_browsertest.cc

Project Member

Comment 241 by bugdroid1@chromium.org, Sep 20 2017

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

commit cc8362b453ba41cd03f289e17e022eb6353e6946
Author: Gabriel Charette <gab@chromium.org>
Date: Wed Sep 20 21:59:40 2017

Fix TestBrowserThreadBundle lifetime ordering vs ChromeBrowserPolicyConnector.

This is a prerequesite to migrate ChromeBrowserPolicyConnector off of
BrowserThread::FILE in https://chromium-review.googlesource.com/c/chromium/src/+/668556
i.e.: https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/511298

ChromeBrowserPolicyConnector is lazily instantiated when a callstack
gets to TestingBrowserProcess::chrome_browser_policy_connector() which
happens in a surprising amount of random places.

The reason this worked before is that BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE)
returns a lazy proxy which doesn't require that the BrowserThread::FILE
actually be up and ready to receive tasks. base::CreateSequencedTaskRunnerWithTraits()
however does require a TaskScheduler instance to be up (not necessarily
started be at least instantiated, ref. Create/Start TaskScheduler
semantics).
While TaskScheduler *could* support lazy proxy task runners it has been
unnecessary thus far and with this pretty much being the last use
case for FILE thread we'd rather not go that route since it's cleaner
anyways to have unit tests properly instantiate TestBrowserThreadBundle
in the right order.

This is mostly a trivial member re-ordering in each file except for
RenderViewHostTestHarness which now initializes its TestBrowserThreadBundle
at construction instead of SetUp() time so that it's done ahead of its subclasses'
members.
RenderViewHostTestHarness also drops the explicit ScopedTaskEnvironment
member introduced in https://chromium-review.googlesource.com/c/chromium/src/+/575383
as it is not necessary to expose that to RunUntilIdle() (comment added
in this CL in TestBrowserThreadBundle to clarify).

Bug: 689520, 742303
Change-Id: I6fb81d45566838dd4d5a8c2c650519ddeeebf8af

TBR=jam@chromium.org (see https://chromium-review.googlesource.com/c/chromium/src/+/671635#message-280432e2a1fbd0337d148ba64ad8aead69ab0bb7)

Change-Id: I6fb81d45566838dd4d5a8c2c650519ddeeebf8af
Reviewed-on: https://chromium-review.googlesource.com/671635
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503262}
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/chromeos/customization/customization_document_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/chromeos/login/enrollment/enrollment_screen_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/chromeos/policy/bluetooth_policy_handler_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/chromeos/policy/network_configuration_updater_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/chromeos/system/device_disabling_manager_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/chromeos/ui/low_disk_notification_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/data_usage/tab_id_annotator_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/download/download_resource_throttle_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/media_galleries/media_file_system_registry_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/media_galleries/win/mtp_device_delegate_impl_win_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/profiles/profile_manager_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/safe_browsing/ui_manager_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/ssl/ssl_error_handler_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/test/base/chrome_render_view_host_test_harness.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/chrome/test/base/chrome_render_view_host_test_harness.h
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/components/data_reduction_proxy/content/browser/content_lofi_ui_service_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/content/public/test/test_browser_thread_bundle.h
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/content/public/test/test_renderer_host.cc
[modify] https://crrev.com/cc8362b453ba41cd03f289e17e022eb6353e6946/content/public/test/test_renderer_host.h

Project Member

Comment 242 by bugdroid1@chromium.org, Sep 21 2017

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

commit 3a32d46d2049a9068e282b8b035d09fb5f93aa40
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Sep 21 02:26:13 2017

Migrate ChromeBrowserPolicyConnector to TaskScheduler

This is a continuity of the work @
https://chromium-review.googlesource.com/c/chromium/src/+/555496
and strips one of the very last usage of BrowserThread::FILE :).

The complexity in this CL arises from a late call to
AsyncPolicyProvider::Shutdown() which uses its TaskRunner's PostTask 
return value to determine whether the DeleteSoon of its 
AsyncPolicyLoader was successful (task environment still up) or failed
(and can be safely deleted on main thread per everything being 
naturally sequenced on main thread after the task environment is gone):
https://cs.chromium.org/chromium/src/components/policy/core/common/async_policy_provider.cc?type=cs&q=AsyncPolicyProvider::Shutdown%5C(%5C)+file:async_policy_provider.cc&sq=package:chromium&l=52

Until this CL, PostTask() on a TaskScheduler provided TaskRunner after
shutdown crashes in unit tests per the ScopedTaskEnvironment being gone
(in production we leak the environment in the shutdown phase for that
very reason; whereas in tests we join everything and then assume no further
calls). AsyncPolicyProvider::Shutdown() is called by
~TestingBrowserProcess() from chrome_unit_test_suite.cc::OnTestEnd()
which happens after the test fixture was destroyed. Furthermore,
a solution involving a custom TestingBrowserProcess call isn't
possible because this doesn't only affect the policy tests but
every chrome unit tests that happens to unintentionally instantiate
the policy service.

This CL gives the task_scheduler TaskRunners the ability
to return false if the environment is already completely gone when
PostTask() is invoked.

The chosen approach also gets rid of need for custom handling of this
use case in chrome_unit_test_suite.cc :).

This CL also removes BrowserProcessImplTest's usage of FILE thread as
it was now only necessary to satisfy ChromeBrowserPolicyConnector's
usage as part of its Lifecycle test :).

Other approaches considered:

A) Have AsyncPolicyProvider use a LazySequencedTaskRunner and update
the code in chrome_unit_test_suite.cc to provide a
ScopedTaskEnvironment. The call to DeleteSoon() would thus generate
a new SequencedTaskRunner in the new ScopedTaskEnvironment and would
be "sequenced" by virtue of an happens-after relationship between the
two environments.
This isn't great because:
  1) it doesn't solve the problem at scale (AsyncPolicyProvider::
     Shutdown() is doing something which is reasonable and shouldn't
     require custom handling).
  2) it's not actually possible as-is because the TaskRunner is passed
     by parameter and as such isn't compatible with
     LazySequencedTaskRunner. This parameter is injected from various
     tricky callsites and this would be a pain to update for this CL.

B) TestBrowserThreadBundle::TaskEnvironmentManager. The
TestingBrowserProcess could register itself on TBTB as a
TaskEnvironmentManager which would have the contract that TBTB would
hand its ScopedTaskEnvironment to it when destroyed instead of
destroying it.
This isn't great because:
  1) It unexpectdely breaks RAII for TBTB.
  2) TestingBrowserProcess can't have a TBTB member however and own
     it for every test (would keep sane RAII properties) as that
     prevents test fixtures from using TBTB::Options to customize their
     environment.
  3) TBTB sometimes doesn't own its ScopedTaskEnvironment (an
     explicit one can be provided by the test environment). This takes
     that solution for a "meh" to a "hell no" as shady RAII properties
     which are only applied in some scenarios are just horrendous.

Bug: 689520, 742303
Change-Id: I87341452cb80b249465894170f6ebd3adcc685de
Reviewed-on: https://chromium-review.googlesource.com/668556
Reviewed-by: Francois Doray <fdoray@chromium.org>
Reviewed-by: Robert Liao <robliao@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Bartosz Fabianowski <bartfab@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503312}
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/base/task_scheduler/scheduler_single_thread_task_runner_manager.h
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/base/task_scheduler/scheduler_worker_pool.cc
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/base/task_scheduler/scheduler_worker_pool.h
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/base/task_scheduler/scheduler_worker_pool_unittest.cc
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/base/task_scheduler/task_scheduler.cc
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/base/task_scheduler/task_scheduler.h
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/chrome/browser/browser_process_impl_unittest.cc
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/chrome/browser/io_thread_unittest.cc
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/chrome/browser/policy/chrome_browser_policy_connector.cc
[modify] https://crrev.com/3a32d46d2049a9068e282b8b035d09fb5f93aa40/chrome/test/base/chrome_unit_test_suite.cc

Project Member

Comment 243 by bugdroid1@chromium.org, Sep 21 2017

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

commit 73d2e55e4cd8e6152ced6d785d14d607fa31cd42
Author: Ivan Sandrk <isandrk@google.com>
Date: Thu Sep 21 15:52:36 2017

Migrate DeviceLocalAccountPolicyService to use TaskScheduler

Removing use of FILE thread, replacing with SequencedTaskRunner.

Bug: chromium:689520
Change-Id: Ieaff2340a1238bcad753d32490b5957847366aa1
Reviewed-on: https://chromium-review.googlesource.com/673463
Commit-Queue: Ivan Šandrk <isandrk@chromium.org>
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503457}
[modify] https://crrev.com/73d2e55e4cd8e6152ced6d785d14d607fa31cd42/chrome/browser/chromeos/policy/device_local_account_policy_service.cc
[modify] https://crrev.com/73d2e55e4cd8e6152ced6d785d14d607fa31cd42/chrome/browser/chromeos/policy/device_local_account_policy_service.h

Project Member

Comment 244 by bugdroid1@chromium.org, Sep 22 2017

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

commit 6127a86f3a3b0d4096b3c616d379e088effe8170
Author: Gabriel Charette <gab@chromium.org>
Date: Fri Sep 22 14:33:59 2017

Remove all remaining deprecated Web/BrowserThreads!!

(except BrowserThread::FILE which has a handful use cases left still and
will follow suit shortly)

(BrowserThread::PROCESS_LAUNCHER migration was put on hold because of
Android specific requirements around process launching)

Remaining usage of TestBrowserThreadBundle::REAL_DB_THREAD could simply
be removed as all of the product code was already migrated to TaskScheduler
which always uses real threads in unit tests.

Bug: 689520, 365909, 752144
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
Change-Id: Id70b722aa35e8568795d5aac16947392ac1597be

NOPRESUBMIT=True (for content/browser/browser_thread_impl.cc:211)

Change-Id: Id70b722aa35e8568795d5aac16947392ac1597be
Reviewed-on: https://chromium-review.googlesource.com/610880
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503732}
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/PRESUBMIT.py
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/chrome/browser/metrics/thread_watcher.cc
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/chrome/browser/metrics/thread_watcher_report_hang.cc
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/chrome/browser/metrics/thread_watcher_report_hang.h
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/components/metrics/call_stack_profile_metrics_provider.cc
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/components/metrics/call_stack_profile_params.h
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/components/metrics/proto/execution_context.proto
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/components/metrics/public/cpp/call_stack_profile_struct_traits.h
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/components/metrics/public/cpp/call_stack_profile_struct_traits_unittest.cc
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/components/metrics/public/interfaces/call_stack_profile_collector.mojom
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/content/browser/browser_main_loop.cc
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/content/browser/browser_thread_impl.h
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/content/public/browser/browser_thread.h
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/content/public/test/test_browser_thread_bundle.cc
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/content/public/test/test_browser_thread_bundle.h
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/docs/design/threading.md
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/ios/chrome/browser/ui/settings/password_details_collection_view_controller_unittest.mm
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/ios/chrome/browser/ui/settings/save_passwords_collection_view_controller_unittest.mm
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/ios/web/app/web_main_loop.h
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/ios/web/app/web_main_loop.mm
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/ios/web/public/test/test_web_thread_bundle.h
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/ios/web/public/web_thread.h
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/ios/web/test/test_web_thread_bundle.cc
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/ios/web/web_thread_impl.cc
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/ios/web/web_thread_impl.h
[modify] https://crrev.com/6127a86f3a3b0d4096b3c616d379e088effe8170/tools/win/ShowThreadNames/ReadMe.txt

Project Member

Comment 245 by bugdroid1@chromium.org, Sep 28 2017

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

commit 82a076e04a1a13d1c398815189a1147932cfcb5a
Author: Matt Falkenhagen <falken@chromium.org>
Date: Thu Sep 28 08:08:19 2017

Revert "Remove all remaining deprecated Web/BrowserThreads!!"

This reverts commit 6127a86f3a3b0d4096b3c616d379e088effe8170.

Reason for revert: Suspect this caused spike in ThreadWatcher hang reports: crbug.com/768886

Original change's description:
> Remove all remaining deprecated Web/BrowserThreads!!
> 
> (except BrowserThread::FILE which has a handful use cases left still and
> will follow suit shortly)
> 
> (BrowserThread::PROCESS_LAUNCHER migration was put on hold because of
> Android specific requirements around process launching)
> 
> Remaining usage of TestBrowserThreadBundle::REAL_DB_THREAD could simply
> be removed as all of the product code was already migrated to TaskScheduler
> which always uses real threads in unit tests.
> 
> Bug: 689520, 365909, 752144
> Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
> Change-Id: Id70b722aa35e8568795d5aac16947392ac1597be
> 
> NOPRESUBMIT=True (for content/browser/browser_thread_impl.cc:211)
> 
> Change-Id: Id70b722aa35e8568795d5aac16947392ac1597be
> Reviewed-on: https://chromium-review.googlesource.com/610880
> Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
> Reviewed-by: John Abd-El-Malek <jam@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
> Commit-Queue: Gabriel Charette <gab@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#503732}

TBR=gab@chromium.org,jam@chromium.org,dpranke@chromium.org,asvitkine@chromium.org,sdefresne@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

NOPRESUBMIT=True (for restoring the deprecated browser threads)

Bug: 689520, 365909, 752144, 768886
Change-Id: I53d93572118303743e1dde71b2a473350717b215
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
Reviewed-on: https://chromium-review.googlesource.com/689254
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504939}
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/PRESUBMIT.py
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/chrome/browser/metrics/thread_watcher.cc
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/chrome/browser/metrics/thread_watcher_report_hang.cc
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/chrome/browser/metrics/thread_watcher_report_hang.h
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/components/metrics/call_stack_profile_metrics_provider.cc
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/components/metrics/call_stack_profile_params.h
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/components/metrics/proto/execution_context.proto
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/components/metrics/public/cpp/call_stack_profile_struct_traits.h
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/components/metrics/public/cpp/call_stack_profile_struct_traits_unittest.cc
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/components/metrics/public/interfaces/call_stack_profile_collector.mojom
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/content/browser/browser_main_loop.cc
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/content/browser/browser_thread_impl.h
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/content/public/browser/browser_thread.h
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/content/public/test/test_browser_thread_bundle.cc
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/content/public/test/test_browser_thread_bundle.h
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/docs/design/threading.md
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/ios/chrome/browser/ui/settings/password_details_collection_view_controller_unittest.mm
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/ios/chrome/browser/ui/settings/save_passwords_collection_view_controller_unittest.mm
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/ios/web/app/web_main_loop.h
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/ios/web/app/web_main_loop.mm
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/ios/web/public/test/test_web_thread_bundle.h
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/ios/web/public/web_thread.h
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/ios/web/test/test_web_thread_bundle.cc
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/ios/web/web_thread_impl.cc
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/ios/web/web_thread_impl.h
[modify] https://crrev.com/82a076e04a1a13d1c398815189a1147932cfcb5a/tools/win/ShowThreadNames/ReadMe.txt

Project Member

Comment 246 by bugdroid1@chromium.org, Oct 25 2017

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

commit e9748f27c35ecbbdf99d5552dca5a451706328cb
Author: Gabriel Charette <gab@chromium.org>
Date: Wed Oct 25 19:31:15 2017

Uncontroversial and easy to carve out bits of deprecated BrowserThreads cleanup.

Overall reland is at https://chromium-review.googlesource.com/c/chromium/src/+/705775,
these are the easy bits that can land first (and wrap up contributions to issues
365909 and 752144 as well as to the ios/ side of 689520).

NOPRESUBMIT=TRUE (for BrowserThread presubmit triggered by touching related code)
TBR=jam@chromium.org, jsbell@chromium.org, sdefresne@chromium.org, asvitkine@chromium.org

Bug: 689520, 365909, 752144
Change-Id: I9b2b5326a12de5f7ffa22f8ac3332c8e57a6e14f
Reviewed-on: https://chromium-review.googlesource.com/738469
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511551}
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/chrome/browser/media/webrtc/webrtc_rtp_dump_writer_unittest.cc
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/chrome/browser/metrics/thread_watcher_report_hang.cc
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/chrome/browser/metrics/thread_watcher_report_hang.h
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/content/browser/browser_main_loop.cc
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/content/browser/browser_thread_unittest.cc
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/content/browser/fileapi/file_system_operation_runner_unittest.cc
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/content/browser/indexed_db/indexed_db_internals_ui.cc
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/content/public/browser/browser_thread.h
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/content/public/test/test_browser_thread_bundle.cc
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/content/public/test/test_browser_thread_bundle.h
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/docs/design/threading.md
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/ios/chrome/browser/ui/settings/password_details_collection_view_controller_unittest.mm
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/ios/chrome/browser/ui/settings/save_passwords_collection_view_controller_unittest.mm
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/ios/web/app/web_main_loop.h
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/ios/web/app/web_main_loop.mm
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/ios/web/public/test/test_web_thread_bundle.h
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/ios/web/public/web_thread.h
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/ios/web/test/test_web_thread_bundle.cc
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/ios/web/web_thread_impl.cc
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/ios/web/web_thread_impl.h
[modify] https://crrev.com/e9748f27c35ecbbdf99d5552dca5a451706328cb/tools/win/ShowThreadNames/ReadMe.txt

Project Member

Comment 247 by bugdroid1@chromium.org, Oct 30 2017

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

commit 91c22dbfcbb85107b0a26c5952881aa904692611
Author: Gabriel Charette <gab@chromium.org>
Date: Mon Oct 30 16:43:27 2017

Remove hang watching of deprecated BrowserThreads.

This is a partial reland of https://chromium-review.googlesource.com/c/chromium/src/+/705775

That CL caused issue 768886 (spike in hang reports). I suspect this
was caused by a change in enum IDs rather than this change to the
hang watching code and this CL will help narrow down the cause.

R=asvitkine@chromium.org

NOPRESUBMIT=TRUE (shuffling of code using deprecated BrowserThread IDs)

Bug: 689520,768886
Change-Id: Id7bf1c7b5f5d34c4b1e7b1e71e9b015725695997
Reviewed-on: https://chromium-review.googlesource.com/743846
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512509}
[modify] https://crrev.com/91c22dbfcbb85107b0a26c5952881aa904692611/chrome/browser/metrics/thread_watcher.cc
[modify] https://crrev.com/91c22dbfcbb85107b0a26c5952881aa904692611/chrome/browser/metrics/thread_watcher_report_hang.cc

Project Member

Comment 248 by bugdroid1@chromium.org, Oct 31 2017

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

commit 7b88e3ebd719f7d5c8d8454b7fdd365b8b9a9adf
Author: Gabriel Charette <gab@chromium.org>
Date: Tue Oct 31 19:29:19 2017

Revert "Remove hang watching of deprecated BrowserThreads."

This reverts commit 91c22dbfcbb85107b0a26c5952881aa904692611.

Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=768886#c34

I'm puzzled as to why but it seems removing hang watching of unused BrowserThreads causes a spike in hang reports of remaining watched threads...

Original change's description:
> Remove hang watching of deprecated BrowserThreads.
> 
> This is a partial reland of https://chromium-review.googlesource.com/c/chromium/src/+/705775
> 
> That CL caused issue 768886 (spike in hang reports). I suspect this
> was caused by a change in enum IDs rather than this change to the
> hang watching code and this CL will help narrow down the cause.
> 
> R=​asvitkine@chromium.org
> 
> NOPRESUBMIT=TRUE (shuffling of code using deprecated BrowserThread IDs)
> 
> Bug: 689520,768886
> Change-Id: Id7bf1c7b5f5d34c4b1e7b1e71e9b015725695997
> Reviewed-on: https://chromium-review.googlesource.com/743846
> Commit-Queue: Gabriel Charette <gab@chromium.org>
> Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#512509}

TBR=gab@chromium.org,asvitkine@chromium.org
NOPRESUBMIT=TRUE

Skipping CQ checks because CL landed > 1 day ago.

Bug: 689520, 768886
Change-Id: I164eceed2a2354b3fa82d6ff73899417530aa3a5
Reviewed-on: https://chromium-review.googlesource.com/747661
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512907}
[modify] https://crrev.com/7b88e3ebd719f7d5c8d8454b7fdd365b8b9a9adf/chrome/browser/metrics/thread_watcher.cc
[modify] https://crrev.com/7b88e3ebd719f7d5c8d8454b7fdd365b8b9a9adf/chrome/browser/metrics/thread_watcher_report_hang.cc

Project Member

Comment 249 by bugdroid1@chromium.org, Nov 27 2017

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

commit 804e3cbeef8d2c56d557bd7a5a68a0be9b52acbb
Author: Tommi <tommi@chromium.org>
Date: Mon Nov 27 09:58:50 2017

Check in a pristine copy of rtc::Event into Chromium.

This is the first of three steps towards making WebRTC use Chromium's WaitableEvent implementation.

The eventual benefits of this are to make WebRTCs TaskQueue
implementation get the benefits of WaitableEvent (e.g. not waiting on an event
inside a task that runs on a queue whose traits don't allow that)
and not violate Chromium's task queue traits once we have more thread
sharing going on.

Bug: 689520
Change-Id: I970f804fc16aa46fa9c4bc6f1abd857b7129222e
Reviewed-on: https://chromium-review.googlesource.com/789871
Reviewed-by: Henrik Grunell <grunell@chromium.org>
Commit-Queue: Tommi <tommi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519263}
[add] https://crrev.com/804e3cbeef8d2c56d557bd7a5a68a0be9b52acbb/third_party/webrtc_overrides/rtc_base/event.cc
[add] https://crrev.com/804e3cbeef8d2c56d557bd7a5a68a0be9b52acbb/third_party/webrtc_overrides/rtc_base/event.h

Project Member

Comment 250 by bugdroid1@chromium.org, Nov 27 2017

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/06483ca0ceb8c3c8477dd6b95604dcfeed418a42

commit 06483ca0ceb8c3c8477dd6b95604dcfeed418a42
Author: Tommi <tommi@webrtc.org>
Date: Mon Nov 27 11:50:12 2017

Add support for the rtc::Event implementation in Chromium.

See also:
https://chromium-review.googlesource.com/c/chromium/src/+/789871

BUG=chromium:689520

Change-Id: I2a22d7aa4d5b91ad3481c64d15419c81ae1dd768
Reviewed-on: https://webrtc-review.googlesource.com/26021
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20889}
[modify] https://crrev.com/06483ca0ceb8c3c8477dd6b95604dcfeed418a42/rtc_base/BUILD.gn

Project Member

Comment 251 by bugdroid1@chromium.org, Nov 28 2017

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

commit 30322354006347ead2e0545b61476a56e671a085
Author: webrtc-autoroll@chromium.org <webrtc-autoroll@chromium.org>
Date: Tue Nov 28 13:25:41 2017

Roll src/third_party/webrtc/ 80adac053..fb09eeb8f (20 commits)

https://webrtc.googlesource.com/src.git/+log/80adac053cab..fb09eeb8f1b7

$ git log 80adac053..fb09eeb8f --date=short --no-merges --format='%ad %ae %s'

Created with:
  roll-dep src/third_party/webrtc
BUG=689520


The AutoRoll server is located here: https://webrtc-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_archive_rel_ng;master.tryserver.chromium.mac:mac_chromium_archive_rel_ng
TBR=webrtc-chromium-sheriffs-robots@google.com

Change-Id: I8f6c9cc0f0e78f9c96dedc53b2477e5749660ae9
Reviewed-on: https://chromium-review.googlesource.com/793070
Reviewed-by: WebRTC Roll Bot <webrtc-autoroll@chromium.org>
Commit-Queue: WebRTC Roll Bot <webrtc-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519667}
[modify] https://crrev.com/30322354006347ead2e0545b61476a56e671a085/DEPS

Project Member

Comment 252 by bugdroid1@chromium.org, Dec 15

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

commit 7e7162befb95f9f279a7b1efb6bba37a51d9e448
Author: Marina Ciocea <marinaciocea@chromium.org>
Date: Fri Dec 15 14:47:11 2017

Remove unused file_thread_ from AudioDebugFileWriter unit tests.

AudioDebugFileWriter's constructor no longer takes a file thread as parameter since [1].
Remove file thread from unit tests.

[1] https://chromium.googlesource.com/chromium/src/+/4d7742ed008b3b749a757d52f75133dfd5d7f44c

Bug: 689520
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I0d824f83818893750775ad4e1b80443e2dcd2c2d
Reviewed-on: https://chromium-review.googlesource.com/827129
Commit-Queue: Marina Ciocea <marinaciocea@chromium.org>
Reviewed-by: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524378}
[modify] https://crrev.com/7e7162befb95f9f279a7b1efb6bba37a51d9e448/media/audio/audio_debug_file_writer_unittest.cc

Project Member

Comment 253 by bugdroid1@chromium.org, Jan 3

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

commit d15224139ea81fc15ee7b4845c769177f4d9d009
Author: Gabriel Charette <gab@chromium.org>
Date: Wed Jan 03 18:07:11 2018

Reland "Remove hang watching of deprecated BrowserThreads."

Partial reland... keep StartWatching() calls to try to isolate
the issue

This is a reland of 91c22dbfcbb85107b0a26c5952881aa904692611
Original change's description:
> Remove hang watching of deprecated BrowserThreads.
>
> This is a partial reland of https://chromium-review.googlesource.com/c/chromium/src/+/705775
>
> That CL caused issue 768886 (spike in hang reports). I suspect this
> was caused by a change in enum IDs rather than this change to the
> hang watching code and this CL will help narrow down the cause.
>
> R=asvitkine@chromium.org
>
> Bug: 689520,768886
> Change-Id: Id7bf1c7b5f5d34c4b1e7b1e71e9b015725695997
> Reviewed-on: https://chromium-review.googlesource.com/743846
> Commit-Queue: Gabriel Charette <gab@chromium.org>
> Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#512509}

Bug: 689520, 768886
Change-Id: I138fc4b33e6316496ff35e927b2cfb5246b53a6d

NOPRESUBMIT=TRUE (shuffling of code using deprecated BrowserThread IDs)

Change-Id: I138fc4b33e6316496ff35e927b2cfb5246b53a6d
Reviewed-on: https://chromium-review.googlesource.com/848355
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526736}
[modify] https://crrev.com/d15224139ea81fc15ee7b4845c769177f4d9d009/chrome/browser/metrics/thread_watcher.cc
[modify] https://crrev.com/d15224139ea81fc15ee7b4845c769177f4d9d009/chrome/browser/metrics/thread_watcher_report_hang.cc

Blockedon: 804345
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f99a202a791d488f4d6608dc29402ba630ee0c2

commit 9f99a202a791d488f4d6608dc29402ba630ee0c2
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Feb 01 11:50:30 2018

Finally remove all deprecated BrowserThreads and cleanup remaining dependencies.

This is the final piece in the attempt to reland
https://chromium-review.googlesource.com/c/chromium/src/+/705775

Bug:  804345 
Change-Id: I240576ae186886ae9b76c50a7920aed37b3a4ff1

TBR=avi@chromium.org, jam@chromium.org (fwd'ing from https://chromium-review.googlesource.com/c/chromium/src/+/705775)

Change-Id: I240576ae186886ae9b76c50a7920aed37b3a4ff1
Reviewed-on: https://chromium-review.googlesource.com/890263
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533640}
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/PRESUBMIT.py
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/chrome/browser/metrics/thread_watcher_report_hang.cc
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/components/metrics/call_stack_profile_metrics_provider.cc
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/components/metrics/call_stack_profile_params.h
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/components/metrics/public/cpp/call_stack_profile_struct_traits.h
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/components/metrics/public/cpp/call_stack_profile_struct_traits_unittest.cc
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/components/metrics/public/interfaces/call_stack_profile_collector.mojom
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/content/browser/browser_main_loop.cc
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/content/browser/browser_thread_impl.h
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/content/public/browser/browser_thread.h
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/content/public/test/test_browser_thread_bundle.cc
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/content/public/test/test_browser_thread_bundle.h
[modify] https://crrev.com/9f99a202a791d488f4d6608dc29402ba630ee0c2/third_party/metrics_proto/execution_context.proto
Cc: benhenry@chromium.org jam@chromium.org chrisha@chromium.org danakj@chromium.org
Status: Fixed (was: Assigned)
Wow, what an epic journey it's been..!

The deprecated BrowserThreads are finally gone gone gone! (hoping it sticks this time..!)


PS: PROCESS_LAUNCHER had to be kept because Android needs it to be a dedicated thread, more cleanups can follow in this space however.
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7f6a4e0d1c7ad0f26360196c98a3390b0c0b1dcb

commit 7f6a4e0d1c7ad0f26360196c98a3390b0c0b1dcb
Author: Gabriel Charette <gab@chromium.org>
Date: Tue Feb 13 15:42:35 2018

Delete subtle_threading_bugs.md

It's obsolete in TaskScheduler era.

R=jam@chromium.org

Bug:  804345 
Change-Id: I37a861ae55658ce12fb11ac86cce727c06e77019
Reviewed-on: https://chromium-review.googlesource.com/897782
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536361}
[delete] https://crrev.com/2a49ec7eae6dc68d0b95e9ea3416c4a77ae33a8f/docs/subtle_threading_bugs.md
Project Member

Comment 258 by bugdroid1@chromium.org, Mar 15

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

commit 2e84e1812b090efbebd4b22edaecac3aa036f4e8
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Mar 15 05:49:40 2018

More BrowserThread cleanups after removal of PROCESS_LAUNCHER thread.

Follow-up to https://chromium-review.googlesource.com/c/chromium/src/+/941264

Further cleanup of WithBaseSyncPrimitives() is done in
https://chromium-review.googlesource.com/c/chromium/src/+/961455
as that may have side-effects that risk a revert.

Bug: 815225, 689520
Change-Id: I8ba8bb6709b7d8cc88e07e0f915c3c00d0a80cc2
Reviewed-on: https://chromium-review.googlesource.com/961451
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543311}
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/components/metrics/call_stack_profile_metrics_provider.cc
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/components/metrics/call_stack_profile_params.h
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/components/metrics/public/cpp/call_stack_profile_struct_traits.h
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/components/metrics/public/cpp/call_stack_profile_struct_traits_unittest.cc
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/components/metrics/public/interfaces/call_stack_profile_collector.mojom
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/content/browser/browser_main_loop.cc
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/content/browser/browser_main_loop.h
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/content/browser/browser_thread_impl.h
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/content/browser/child_process_launcher_helper.cc
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/content/public/browser/browser_thread.h
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/docs/threading_and_tasks.md
[modify] https://crrev.com/2e84e1812b090efbebd4b22edaecac3aa036f4e8/third_party/metrics_proto/execution_context.proto

Showing comments 159 - 258 of 258 Older

Sign in to add a comment