New issue
Advanced search Search tips
Starred by 9 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocked on: View detail
issue 897751
issue 931168
issue 888559

Blocking:
issue 859155



Sign in to add a comment
link

Issue 863341: Build a browser UI thread scheduler

Reported by alexclarke@chromium.org, Jul 13 2018 Project Member

Issue description

This is a tracking bug for work described in this Design Doc: https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit#
 

Comment 1 by skyos...@chromium.org, Jul 13 2018

Blocking: 835323

Comment 2 by bugdroid1@chromium.org, Jul 19 2018

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

commit b168f86013e56779263fc3fd30721109865ddb1d
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Jul 19 13:53:32 2018

Test a chain of task destructors that post tasks during shutdown.

Bug: 863341
Change-Id: I591ec517b11e206e5249578d0ca5583790ef0be4
Reviewed-on: https://chromium-review.googlesource.com/1143390
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576473}
[modify] https://crrev.com/b168f86013e56779263fc3fd30721109865ddb1d/base/task/sequence_manager/sequence_manager_impl_unittest.cc

Comment 3 by bugdroid1@chromium.org, Jul 19 2018

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/311f3712e4595b988afca9b75f172bd542f976d1

commit 311f3712e4595b988afca9b75f172bd542f976d1
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Jul 19 23:11:47 2018

[TaskTraits] Deprecate TaskPriority::BACKGROUND in favor of TaskPriority::BEST_EFFORT

We've been discussing this for a while. The nomenclature of
TaskPriority::BACKGROUND is too heavy, i.e. "may take an arbitrarily
long time" when really it's guaranteed to be scheduled and complete
unless something is keeping the CPU pegged at 100%.
Some owners specifically requested that we didn't use BACKGROUND for
their tasks during the migration because that QoS spec was too low.

To better align with nomenclature in SequenceManager, let's rename
BACKGROUND to BEST_EFFORT.

I will follow-up this CL with a TBR'ed mass rename from top of tree.

R=robliao@chromium.org, skyostil@chromium.org

Bug: 863341
Change-Id: Icf1432f49770f171ff8677ed52326ab9f65bdb39
Reviewed-on: https://chromium-review.googlesource.com/1142378
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Robert Liao <robliao@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576681}
[modify] https://crrev.com/311f3712e4595b988afca9b75f172bd542f976d1/base/task_scheduler/task_traits.h

Comment 4 by bugdroid1@chromium.org, Jul 26 2018

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

commit b10aeebcea9a9a49e357138077acd4011815920c
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Jul 26 20:15:00 2018

Mass migrate base::TaskPriority::BACKGROUND to BEST_EFFORT

This is:
  s/base::TaskPriority::BACKGROUND/base::TaskPriority::BEST_EFFORT/g
  git cl format
applied to //src.

This CL only touches cases explicitly prefixed with base:: to avoid
namespace conflicts should there be any. Will handle non-prefixed in a
follow-up CL.

TBR=robliao@chromium.org

Bug: 863341
Change-Id: Idad34a7ecca01644af155ab779eedb3a87544fc0
Reviewed-on: https://chromium-review.googlesource.com/1148546
Reviewed-by: Robert Liao <robliao@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578415}
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/android_webview/browser/aw_browser_context.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/android_webview/browser/net/aw_url_request_context_getter.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/ash/wallpaper/wallpaper_controller.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/ash/wallpaper/wallpaper_controller_unittest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/base/base_switches.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/base/task_scheduler/environment_config.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/android/thumbnail/thumbnail_cache.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/android/webapk/webapk_installer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/app_controller_mac.mm
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/apps/app_shim/app_shim_host_manager_mac.mm
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/background/background_mode_manager_mac.mm
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/background/background_mode_manager_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/bookmarks/bookmark_html_writer.h
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/browsing_data/site_data_size_collector.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/budget_service/budget_database.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chrome_browser_field_trials.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chrome_browser_main_android.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chrome_browser_main_linux.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chrome_browser_main_mac.mm
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chrome_browser_main_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/app_mode/kiosk_app_data.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/arc/wallpaper/arc_wallpaper_service.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/authpolicy/auth_policy_credentials_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/base/file_flusher.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/base/locale_util.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/boot_times_recorder.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/camera_detector.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/crostini/crostini_registry_service.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/customization/customization_document.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/customization/customization_wallpaper_downloader.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/external_metrics.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/first_run/goodies_displayer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/hats/hats_dialog.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/hats/hats_notification_controller.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/input_method/input_method_syncer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/login/login_utils_browsertest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/login/oobe_configuration.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/login/session/user_session_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/login/startup_utils.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/login/supervised/supervised_user_authentication.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/login/users/supervised_user_manager_impl.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/login/version_info_updater.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/mobile/mobile_activator.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/mobile_config.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/platform_keys/platform_keys.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/platform_keys/platform_keys_nss.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/policy/browser_policy_connector_chromeos.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/policy/device_local_account_policy_service.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/policy/device_status_collector.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/policy/dm_token_storage.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/policy/system_log_uploader.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/policy/user_policy_manager_factory_chromeos.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/power/cpu_data_collector.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/power/freezer_cgroup_process_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/printing/cups_print_job_manager_impl.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/printing/external_printers.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/settings/session_manager_operation.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/system/automatic_reboot_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/system_logs/command_line_log_source.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/system_logs/debug_log_writer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/system_logs/iwlwifi_dump_log_source.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/system_logs/single_log_file_log_source.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/chromeos/system_logs/touch_log_source.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/component_updater/component_patcher_operation_browsertest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/component_updater/crl_set_component_installer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/component_updater/file_type_policies_component_installer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/component_updater/mei_preload_component_installer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/component_updater/pepper_flash_component_installer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/component_updater/pnacl_component_installer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/component_updater/recovery_component_installer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/component_updater/ssl_error_assistant_component_installer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/component_updater/sth_set_component_installer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/component_updater/supervised_user_whitelist_installer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/component_updater/widevine_cdm_component_installer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/conflicts/enumerate_input_method_editors_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/conflicts/enumerate_shell_extensions_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/conflicts/module_blacklist_cache_updater_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/conflicts/module_event_sink_impl_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/conflicts/module_inspector_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/conflicts/module_load_attempt_log_listener_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/conflicts/third_party_conflicts_manager_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/crash_upload_list/crash_upload_list_crashpad.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/data_use_measurement/page_load_capping/page_load_capping_service.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/devtools/device/android_device_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/devtools/devtools_file_system_indexer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/devtools/devtools_file_watcher.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/dom_distiller/dom_distiller_service_factory.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/downgrade/user_data_downgrade.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/download/chrome_download_manager_delegate.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/download/download_commands.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/download/download_service_factory.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/download/notification/download_item_notification.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/extensions/activity_log/activity_log_task_runner.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/extensions/api/image_writer_private/write_from_url_operation_unittest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/extensions/api/management/management_browsertest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/extensions/api/messaging/native_message_host_chromeos.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/extensions/api/messaging/native_message_process_host.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_browsertest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/extensions/extension_disabled_ui_browsertest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/extensions/updater/extension_cache_impl.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/extensions/updater/extension_update_client_base_browsertest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/feature_engagement/tracker_factory.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/file_select_helper.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/first_run/first_run_internal_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/gcm/gcm_profile_service_factory.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/google/google_brand_chromeos.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/lifetime/browser_shutdown.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/local_discovery/service_discovery_client_mdns.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/local_discovery/service_discovery_shared_client.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/mac/keystone_glue.mm
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/media/webrtc/audio_debug_recordings_handler.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/media/webrtc/webrtc_event_log_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/media/webrtc/webrtc_log_uploader.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/media/webrtc/webrtc_log_util.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/media/webrtc/webrtc_rtp_dump_handler.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/media/webrtc/webrtc_rtp_dump_writer.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/media/webrtc/webrtc_text_log_handler.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/media_galleries/chromeos/mtp_device_delegate_impl_chromeos.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/media_galleries/chromeos/mtp_read_file_worker.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/media_galleries/gallery_watch_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/memory_details.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/metrics/antivirus_metrics_provider_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/metrics/chrome_metrics_service_client.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/metrics/chromeos_metrics_provider.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/metrics/google_update_metrics_provider_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/metrics/oom/out_of_memory_reporter_unittest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/net/file_downloader.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/offline_pages/android/offline_page_bridge.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/offline_pages/android/request_coordinator_factory.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/offline_pages/offline_page_mhtml_archiver.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/password_manager/password_manager_util_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/pepper_flash_settings_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/platform_util.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/policy/chrome_browser_policy_connector.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/policy/cloud/machine_level_user_cloud_policy_browsertest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/policy/machine_level_user_cloud_policy_controller.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/policy/policy_browsertest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/predictors/predictor_database_factory.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/previews/previews_service.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/printing/cloud_print/privet_traffic_detector.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/printing/cloud_print/privet_url_fetcher.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/printing/print_job.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/profiles/profile_impl.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/profiles/profile_impl_io_data.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/profiles/profile_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/renderer_host/pepper/device_id_fetcher.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/resource_coordinator/intervention_policy_database.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_impl_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_fetcher_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_runner_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/chrome_cleaner/reporter_runner_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/download_protection/download_feedback_service_unittest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/download_protection/download_feedback_unittest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/download_protection/download_protection_service.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/download_protection/two_phase_uploader_unittest.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/incident_reporting/download_metadata_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/safe_browsing/local_database_manager.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/search/local_files_ntp_source.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/service_process/service_process_control.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/shell_integration_win.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/speech/tts_linux.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/supervised_user/experimental/supervised_user_blacklist.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/supervised_user/supervised_user_service.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/supervised_user/supervised_user_site_list.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/supervised_user/supervised_user_url_filter.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/sync_file_system/drive_backend/sync_engine.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/task_manager/sampling/task_manager_impl.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/themes/custom_theme_supplier.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/thumbnails/thumbnail_tab_helper.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/tracing/crash_service_uploader.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/ui/app_list/arc/arc_app_icon.cc
[modify] https://crrev.com/b10aeebcea9a9a49e357138077acd4011815920c/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc
[modify] https://crrev.com/b10aeebcea9a9a49

Comment 5 by bugdroid1@chromium.org, Jul 27 2018

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

commit f042bf29cab4d531acb949beffaac8caa0f6cb7f
Author: Gabriel Charette <gab@chromium.org>
Date: Fri Jul 27 18:01:16 2018

Mass migrate TaskPriority::BACKGROUND to TaskPriority::BEST_EFFORT in //base

This is:
  s/TaskPriority::BACKGROUND/TaskPriority::BEST_EFFORT/g
  git cl format
applied to //src/base.

TBR=robliao@chromium.org

Bug: 863341
Change-Id: I5273c666b41a192e436a0629d385bc5877b40343
Reviewed-on: https://chromium-review.googlesource.com/1152160
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Robert Liao <robliao@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578701}
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/process/kill.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/priority_queue_unittest.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/scheduler_worker_pool_impl.h
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/sequence_sort_key_unittest.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/sequence_unittest.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/service_thread.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/task_scheduler.h
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/task_scheduler_impl_unittest.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/task_tracker.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/task_tracker.h
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/task_tracker_unittest.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/task_traits.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/task_traits_unittest.cc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/task_scheduler/task_traits_unittest.nc
[modify] https://crrev.com/f042bf29cab4d531acb949beffaac8caa0f6cb7f/base/trace_event/trace_log.cc

Comment 6 by bugdroid1@chromium.org, Jul 27 2018

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/141a442583d6e98a385a4795f8c73abb9da0d4a6

commit 141a442583d6e98a385a4795f8c73abb9da0d4a6
Author: Gabriel Charette <gab@chromium.org>
Date: Fri Jul 27 21:23:25 2018

Complete TaskPriority::BACKGROUND->BEST_EFFORT mass rename

Survey base/task_scheduler for remaining unprefixed "BACKGROUND" strings
referring to task priority (i.e. not referring to
"background thread priority").

Best-effort survey of the codebase for "BACKGROUND priority" left behind
in comments.

Update docs and remove TaskPriority::BACKGROUND for good

TBR=robliao@chromium.org

Bug: 863341
Change-Id: I055ac623767c1d77895d78dbf544a2d781a6637d
Reviewed-on: https://chromium-review.googlesource.com/1153461
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Robert Liao <robliao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578802}
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/base/task_scheduler/post_task.h
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/base/task_scheduler/sequence_unittest.cc
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/base/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/base/task_scheduler/task_traits.cc
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/base/task_scheduler/task_traits.h
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/chrome/browser/chromeos/platform_keys/platform_keys.cc
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/chrome/browser/conflicts/module_inspector_win.h
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/chrome/browser/profiles/profile_impl_io_data.cc
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/chrome/browser/web_applications/web_app.h
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/components/optimization_guide/optimization_guide_service.h
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/docs/threading_and_tasks.md
[modify] https://crrev.com/141a442583d6e98a385a4795f8c73abb9da0d4a6/third_party/webrtc_overrides/rtc_base/task_queue.cc

Comment 7 by alexclarke@chromium.org, Aug 8

Blocking: -835323
Mergedinto: 872372
Status: Duplicate (was: Started)

Comment 8 by alexclarke@chromium.org, Aug 9

Status: Assigned (was: Duplicate)
On second thoughts lets keep this separate from the design review bug.

Comment 9 by bugdroid1@chromium.org, Aug 28

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

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

content: Add a TaskTraits extension and TaskExecutor for BrowserThreads.

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

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

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

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

Comment 10 by bugdroid1@chromium.org, Sep 12

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

commit c11ab802d6c866e6f4a627227a698de65fae7367
Author: Alex Clarke <alexclarke@chromium.org>
Date: Wed Sep 12 14:46:29 2018

Allow SequenceManager's construction before the MessageLoop

This will be needed by the BrowserUIThreadScheduler.

Bug: 863341, 872372
Change-Id: Ic4db17372553b70ee1e41b4f654a0fa50fb9c72c
Reviewed-on: https://chromium-review.googlesource.com/1221308
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590676}
[modify] https://crrev.com/c11ab802d6c866e6f4a627227a698de65fae7367/base/task/sequence_manager/sequence_manager.h
[modify] https://crrev.com/c11ab802d6c866e6f4a627227a698de65fae7367/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/c11ab802d6c866e6f4a627227a698de65fae7367/base/task/sequence_manager/sequence_manager_impl.h
[modify] https://crrev.com/c11ab802d6c866e6f4a627227a698de65fae7367/base/task/sequence_manager/sequence_manager_impl_unittest.cc
[modify] https://crrev.com/c11ab802d6c866e6f4a627227a698de65fae7367/base/task/sequence_manager/thread_controller.h
[modify] https://crrev.com/c11ab802d6c866e6f4a627227a698de65fae7367/base/task/sequence_manager/thread_controller_impl.cc
[modify] https://crrev.com/c11ab802d6c866e6f4a627227a698de65fae7367/base/task/sequence_manager/thread_controller_impl.h
[modify] https://crrev.com/c11ab802d6c866e6f4a627227a698de65fae7367/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/c11ab802d6c866e6f4a627227a698de65fae7367/base/task/sequence_manager/thread_controller_with_message_pump_impl.h

Comment 11 by bugdroid1@chromium.org, Sep 12

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/79bf554374fb4b76d09f86e674da8747c08b219c

commit 79bf554374fb4b76d09f86e674da8747c08b219c
Author: Francois Doray <fdoray@chromium.org>
Date: Wed Sep 12 15:50:21 2018

TaskScheduler: Replace "background" with "best effort" when related to tasks/sequences.

This CL does not update the word "background" when referring to
the "background" thread priority.

This CL does not change the name of UMA histograms, because this
would affect externally observable behavior. We will make this change
in a separate CL.

This CL does not change the name of the --disable-background-tasks
flag because it would require updating tests outside of //base that
use this flag. We will make this change in a separate CL.

This is a no-op CL.

Bug: 863341
Change-Id: I8fad34a56aa134cf5837d92c7794e1461fa541d0
Reviewed-on: https://chromium-review.googlesource.com/1213542
Commit-Queue: François Doray <fdoray@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590699}
[modify] https://crrev.com/79bf554374fb4b76d09f86e674da8747c08b219c/base/task/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/79bf554374fb4b76d09f86e674da8747c08b219c/base/task/task_scheduler/scheduler_worker_pool_impl.h
[modify] https://crrev.com/79bf554374fb4b76d09f86e674da8747c08b219c/base/task/task_scheduler/scheduler_worker_pool_impl_unittest.cc
[modify] https://crrev.com/79bf554374fb4b76d09f86e674da8747c08b219c/base/task/task_scheduler/scheduler_worker_pool_unittest.cc
[modify] https://crrev.com/79bf554374fb4b76d09f86e674da8747c08b219c/base/task/task_scheduler/sequence_unittest.cc
[modify] https://crrev.com/79bf554374fb4b76d09f86e674da8747c08b219c/base/task/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/79bf554374fb4b76d09f86e674da8747c08b219c/base/task/task_scheduler/task_scheduler_impl_unittest.cc
[modify] https://crrev.com/79bf554374fb4b76d09f86e674da8747c08b219c/base/task/task_scheduler/task_tracker.cc
[modify] https://crrev.com/79bf554374fb4b76d09f86e674da8747c08b219c/base/task/task_scheduler/task_tracker.h
[modify] https://crrev.com/79bf554374fb4b76d09f86e674da8747c08b219c/base/task/task_scheduler/task_tracker_unittest.cc

Comment 12 by bugdroid1@chromium.org, Sep 14

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

commit 7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Sep 14 10:02:31 2018

Introduce content::BrowserTaskExecutor

This class's job is to map base::TaskTraits to actual task queues
for the browser process.  This was split off from
https://chromium-review.googlesource.com/c/chromium/src/+/1214223
and is a pre-requisite for the BrowserUIThreadScheduler.

Design doc: https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit#

BUG=863341, 872372

Change-Id: Ic80e8f66cf245cca136c29387031d111e57fa713
Reviewed-on: https://chromium-review.googlesource.com/1224115
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591316}
[modify] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/app/content_main_runner_impl.cc
[modify] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/browser/BUILD.gn
[modify] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/browser/browser_main_loop_unittest.cc
[modify] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/browser/browser_thread_impl.h
[modify] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/browser/browser_thread_unittest.cc
[add] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/browser/scheduler/OWNERS
[add] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/browser/scheduler/browser_task_executor.cc
[add] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/browser/scheduler/browser_task_executor.h
[add] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/browser/scheduler/browser_task_executor_unittest.cc
[modify] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/public/test/browser_test_base.cc
[modify] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/public/test/test_browser_thread_bundle.cc
[modify] https://crrev.com/7dc412de2b4fd904bfa08f5b66b9ac43d2e1128a/content/test/BUILD.gn

Comment 13 by fdoray@google.com, Sep 14

Cc: robliao@chromium.org gab@chromium.org fdoray@chromium.org
Issue 660078 has been merged into this issue.

Comment 14 by gab@chromium.org, Sep 24

Blockedon: 888559

Comment 15 by bugdroid1@chromium.org, Sep 25

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

commit db0240964c06bf7fdb3bf6b2645614e87fceefab
Author: Alex Clarke <alexclarke@chromium.org>
Date: Tue Sep 25 07:43:56 2018

Make Chrome_DevToolsADBThread shutdown gracefully in tests

To land the BrowserUIThreadScheduler we need in tests for all threads
to stop using base::PostTaskWithTraits before the scheduler is
deleted. Currently this is true for the UI and IO threads but it's
not true for Chrome_DevToolsADBThread.

This patch makes sure references retaining
AndroidDeviceManager::HandlerThread are released in tests
which triggers thread shutdown, fixing the problem.

Bug: 863341, 872372
Change-Id: Iec737aac74fb62118d07b6cf878a14db055f5be5
Reviewed-on: https://chromium-review.googlesource.com/1238468
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Finnur Thorarinsson <finnur@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593850}
[modify] https://crrev.com/db0240964c06bf7fdb3bf6b2645614e87fceefab/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
[modify] https://crrev.com/db0240964c06bf7fdb3bf6b2645614e87fceefab/chrome/browser/devtools/chrome_devtools_manager_delegate.h
[modify] https://crrev.com/db0240964c06bf7fdb3bf6b2645614e87fceefab/chrome/browser/devtools/device/devtools_android_bridge.cc
[modify] https://crrev.com/db0240964c06bf7fdb3bf6b2645614e87fceefab/chrome/browser/devtools/device/devtools_android_bridge.h
[modify] https://crrev.com/db0240964c06bf7fdb3bf6b2645614e87fceefab/chrome/browser/devtools/devtools_sanity_browsertest.cc
[modify] https://crrev.com/db0240964c06bf7fdb3bf6b2645614e87fceefab/chrome/browser/devtools/devtools_window_testing.cc
[modify] https://crrev.com/db0240964c06bf7fdb3bf6b2645614e87fceefab/chrome/browser/extensions/extension_loading_browsertest.cc
[modify] https://crrev.com/db0240964c06bf7fdb3bf6b2645614e87fceefab/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc

Comment 16 by bugdroid1@chromium.org, Sep 25

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/93495a898a95b5d7b1864528947d0a2a249d3323

commit 93495a898a95b5d7b1864528947d0a2a249d3323
Author: Colin Blundell <blundell@chromium.org>
Date: Tue Sep 25 12:56:07 2018

Revert "Make Chrome_DevToolsADBThread shutdown gracefully in tests"

This reverts commit db0240964c06bf7fdb3bf6b2645614e87fceefab.

Reason for revert:

ASAN is detecting use-after-free: See https://crbug.com/888994 and https://chromium-swarm.appspot.com/task?id=4028b7f2e7276110&refresh=10&show_raw=1

Original change's description:
> Make Chrome_DevToolsADBThread shutdown gracefully in tests
> 
> To land the BrowserUIThreadScheduler we need in tests for all threads
> to stop using base::PostTaskWithTraits before the scheduler is
> deleted. Currently this is true for the UI and IO threads but it's
> not true for Chrome_DevToolsADBThread.
> 
> This patch makes sure references retaining
> AndroidDeviceManager::HandlerThread are released in tests
> which triggers thread shutdown, fixing the problem.
> 
> Bug: 863341, 872372
> Change-Id: Iec737aac74fb62118d07b6cf878a14db055f5be5
> Reviewed-on: https://chromium-review.googlesource.com/1238468
> Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
> Reviewed-by: Finnur Thorarinsson <finnur@chromium.org>
> Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
> Commit-Queue: Alex Clarke <alexclarke@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#593850}

TBR=dgozman@chromium.org,finnur@chromium.org,mlamouri@chromium.org,alexclarke@chromium.org

Change-Id: I3490eaf6c70a85c9eb2e96dcb5b942bff85f4a7a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 863341, 872372
Reviewed-on: https://chromium-review.googlesource.com/1243084
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593904}
[modify] https://crrev.com/93495a898a95b5d7b1864528947d0a2a249d3323/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
[modify] https://crrev.com/93495a898a95b5d7b1864528947d0a2a249d3323/chrome/browser/devtools/chrome_devtools_manager_delegate.h
[modify] https://crrev.com/93495a898a95b5d7b1864528947d0a2a249d3323/chrome/browser/devtools/device/devtools_android_bridge.cc
[modify] https://crrev.com/93495a898a95b5d7b1864528947d0a2a249d3323/chrome/browser/devtools/device/devtools_android_bridge.h
[modify] https://crrev.com/93495a898a95b5d7b1864528947d0a2a249d3323/chrome/browser/devtools/devtools_sanity_browsertest.cc
[modify] https://crrev.com/93495a898a95b5d7b1864528947d0a2a249d3323/chrome/browser/devtools/devtools_window_testing.cc
[modify] https://crrev.com/93495a898a95b5d7b1864528947d0a2a249d3323/chrome/browser/extensions/extension_loading_browsertest.cc
[modify] https://crrev.com/93495a898a95b5d7b1864528947d0a2a249d3323/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc

Comment 17 by bugdroid1@chromium.org, Sep 25

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

commit de60d0c16185372421a46c78f74e8e4a5fdfea20
Author: Alex Clarke <alexclarke@chromium.org>
Date: Tue Sep 25 16:53:48 2018

Reland "Make Chrome_DevToolsADBThread shutdown gracefully in tests"

Relanding https://chromium-review.googlesource.com/c/chromium/src/+/1238468

The fix can be seen in the delta between patch set 1 and 2.

Original patch description:
Make Chrome_DevToolsADBThread shutdown gracefully in tests

To land the BrowserUIThreadScheduler we need in tests for all threads
to stop using base::PostTaskWithTraits before the scheduler is
deleted. Currently this is true for the UI and IO threads but it's
not true for Chrome_DevToolsADBThread.

This patch makes sure references retaining
AndroidDeviceManager::HandlerThread are released in tests
which triggers thread shutdown, fixing the problem.

TBR=dgozman@chromium.org,finnur@chromium.org,mlamouri@chromium.org

Bug: 863341, 872372, 888994
Change-Id: Ie9298d652cad2df6ad93d19cfb3dd5b76fdcf339
Reviewed-on: https://chromium-review.googlesource.com/1243115
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593970}
[modify] https://crrev.com/de60d0c16185372421a46c78f74e8e4a5fdfea20/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
[modify] https://crrev.com/de60d0c16185372421a46c78f74e8e4a5fdfea20/chrome/browser/devtools/chrome_devtools_manager_delegate.h
[modify] https://crrev.com/de60d0c16185372421a46c78f74e8e4a5fdfea20/chrome/browser/devtools/device/devtools_android_bridge.cc
[modify] https://crrev.com/de60d0c16185372421a46c78f74e8e4a5fdfea20/chrome/browser/devtools/device/devtools_android_bridge.h
[modify] https://crrev.com/de60d0c16185372421a46c78f74e8e4a5fdfea20/chrome/browser/devtools/devtools_sanity_browsertest.cc
[modify] https://crrev.com/de60d0c16185372421a46c78f74e8e4a5fdfea20/chrome/browser/devtools/devtools_window_testing.cc
[modify] https://crrev.com/de60d0c16185372421a46c78f74e8e4a5fdfea20/chrome/browser/extensions/extension_loading_browsertest.cc
[modify] https://crrev.com/de60d0c16185372421a46c78f74e8e4a5fdfea20/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc

Comment 18 by bugdroid1@chromium.org, Sep 28

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

commit 4da0d7d9b321f2fa2eb75863c53647fa21e99db6
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Sep 28 11:25:30 2018

Add interfaces for Java TaskRunners with a subset of the C++ functionality

The intent of this patch is to define the interfaces which will be implemented
by subsequent patches.  The interfaces are a subset of the C++ ones including
what we believe is the minimum requried to be useful.

Design doc: https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit#

Bug: 863341, 872372
Change-Id: Ic608660a13c55c4b17d3ba5fa3bb636783735645
Reviewed-on: https://chromium-review.googlesource.com/1245790
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sam Maier <smaier@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595057}
[modify] https://crrev.com/4da0d7d9b321f2fa2eb75863c53647fa21e99db6/base/BUILD.gn
[add] https://crrev.com/4da0d7d9b321f2fa2eb75863c53647fa21e99db6/base/android/java/src/org/chromium/base/task/SequencedTaskRunner.java
[add] https://crrev.com/4da0d7d9b321f2fa2eb75863c53647fa21e99db6/base/android/java/src/org/chromium/base/task/SingleThreadTaskRunner.java
[add] https://crrev.com/4da0d7d9b321f2fa2eb75863c53647fa21e99db6/base/android/java/src/org/chromium/base/task/TaskRunner.java

Comment 19 by bugdroid1@chromium.org, Sep 28

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/517d0eb072d21127cfa7d41eb16de21735e937d3

commit 517d0eb072d21127cfa7d41eb16de21735e937d3
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Sep 28 14:59:40 2018

CreateUnboundSequenceManager to not require BindToMessageLoop

By mistake SequenceManagerImpl is crashing on exit if
CreateUnboundSequenceManager(null) is called but BindToMessageLoop
is not.  This patch fixes that.

Bug: 863341, 872372
Change-Id: I2827ab40c1e32553f1c42229762732b5cd42801d
Reviewed-on: https://chromium-review.googlesource.com/1251448
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595093}
[modify] https://crrev.com/517d0eb072d21127cfa7d41eb16de21735e937d3/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/517d0eb072d21127cfa7d41eb16de21735e937d3/base/task/sequence_manager/sequence_manager_impl.h
[modify] https://crrev.com/517d0eb072d21127cfa7d41eb16de21735e937d3/base/task/sequence_manager/sequence_manager_impl_unittest.cc

Comment 20 by bugdroid1@chromium.org, Oct 1

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

commit ef629f77f71fe6d8b50360f8915c069da3017f15
Author: Alex Clarke <alexclarke@chromium.org>
Date: Mon Oct 01 22:11:34 2018

Clarify comment in SingleThreadTaskRunner.java

Bug: 863341, 872372
Change-Id: I19405b9061b3dc677d1f06e16564eb9aed133f79
Reviewed-on: https://chromium-review.googlesource.com/1251546
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595569}
[modify] https://crrev.com/ef629f77f71fe6d8b50360f8915c069da3017f15/base/android/java/src/org/chromium/base/task/SingleThreadTaskRunner.java

Comment 21 by skyos...@chromium.org, Oct 15

Blocking: 859155

Comment 22 by alexclarke@chromium.org, Oct 22

Blockedon: 897751

Comment 23 by bugdroid1@chromium.org, Oct 24

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

commit 7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0
Author: Alex Clarke <alexclarke@chromium.org>
Date: Wed Oct 24 13:42:53 2018

Implement a Java task scheduler which delegates to the native scheduler when loaded

The task scheduler is usable before native is loaded although only a subset the full native
task prioritisation will be available. After native libraries are loaded, all remaining tasks
will be migrated to native queues.

Design Doc: https://docs.google.com/document/d/1ZRXRypVluu7YvnB9MC73J3Z9NTsYDDxkhUDK4O-siJg/edit?ts=5bb5f398#heading=h.8n30tv8r1tun
And https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit#heading=h.7nki9mck5t64

Bug: 863341, 872372
Change-Id: I1c71a670662065d1d84cb23493f4cde53db9ae7c
Reviewed-on: https://chromium-review.googlesource.com/c/1268021
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Sam Maier <smaier@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602319}
[modify] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/BUILD.gn
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/java/src/org/chromium/base/task/DefaultTaskExecutor.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/java/src/org/chromium/base/task/PostTask.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/java/src/org/chromium/base/task/PreNativeSequence.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/java/src/org/chromium/base/task/SequencedTaskRunnerImpl.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/java/src/org/chromium/base/task/SingleThreadTaskRunnerImpl.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/java/src/org/chromium/base/task/TaskExecutor.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/java/src/org/chromium/base/task/TaskRunnerImpl.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/java/src/org/chromium/base/task/TaskTraits.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/javatests/src/org/chromium/base/task/PostTaskTest.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/javatests/src/org/chromium/base/task/SequencedTaskRunnerImplTest.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/javatests/src/org/chromium/base/task/SingleThreadTaskRunnerImplTest.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/javatests/src/org/chromium/base/task/TaskRunnerImplTest.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/task_scheduler/post_task_android.cc
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/task_scheduler/post_task_android.h
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/task_scheduler/sequenced_task_runner_android.cc
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/task_scheduler/single_thread_task_runner_android.cc
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/task_scheduler/task_runner_android.cc
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/android/task_scheduler/task_runner_android.h
[modify] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/task/task_scheduler/task_scheduler.h
[modify] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/task/task_traits.h
[modify] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/task/task_traits_extension.h
[modify] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/test/BUILD.gn
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/test/android/javatests/src/org/chromium/base/test/task/SchedulerTestHelpers.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/test/android/javatests/src/org/chromium/base/test/task/TaskSchedulerTestHelpers.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/base/test/task_scheduler_test_helpers_android.cc
[modify] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
[modify] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/content/public/android/BUILD.gn
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/content/public/android/java/src/org/chromium/content_public/browser/BrowserTaskExecutor.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/content/public/android/java/src/org/chromium/content_public/browser/UiThreadTaskTraits.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/content/public/android/javatests/src/org/chromium/content/browser/scheduler/NativePostTaskTest.java
[add] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/content/public/android/javatests/src/org/chromium/content/browser/scheduler/UiThreadSchedulerTest.java
[modify] https://crrev.com/7e275b842dbf6c65c946f5cd85d8c2e1c69c6bd0/content/public/browser/browser_task_traits.h

Comment 24 by bugdroid1@chromium.org, Oct 31

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

commit 3cf999432eb0ef2e309a93d8d35a241e3c0d9563
Author: Alex Clarke <alexclarke@chromium.org>
Date: Wed Oct 31 11:57:03 2018

Extend the SequenceManagerPerf to support cross thread posting

Cross thread immediate task posting performance matters for the UI
thread and the Blink main thread.  This patch adds a perf test for this
case.

Also refactors things into classes which hopefully makes it a bit more
manageable.

Bug: 863341, 897751
Change-Id: I5cc1492fb1988582085af0c4ff04ac7e729a4fd7
Reviewed-on: https://chromium-review.googlesource.com/c/1307500
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604215}
[modify] https://crrev.com/3cf999432eb0ef2e309a93d8d35a241e3c0d9563/base/task/sequence_manager/sequence_manager_perftest.cc

Comment 25 by bugdroid1@chromium.org, Nov 2

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

commit 35f882550d19a231b21b2d281f78c4cee01cf433
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Nov 02 17:59:54 2018

ThreadControllerWithMessagePumpImpl cap delays at one day

It's important to cap delays at one day or bad things can happen
on certain platforms.

Also removes a redundant call to ScheduleDelayedWork.

Bug: 863341, 850450
Change-Id: Idfb95a5e5d800255caff74d0718db600b9348335
Reviewed-on: https://chromium-review.googlesource.com/c/1314489
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604980}
[modify] https://crrev.com/35f882550d19a231b21b2d281f78c4cee01cf433/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/35f882550d19a231b21b2d281f78c4cee01cf433/base/task/sequence_manager/thread_controller_with_message_pump_impl_unittest.cc

Comment 26 by bugdroid1@chromium.org, Nov 8

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9987f7c241596bdb13b296e678785b1fae45ceaf

commit 9987f7c241596bdb13b296e678785b1fae45ceaf
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Nov 08 18:19:51 2018

New SequenceManagerImpl methods to support MLC and STE

The new methods will let us support MessageLoopCurrent and
ScopedTaskEnvironment.

Bug: 863341, 891670
Change-Id: I1358330e890e0f669de2869c3d9ee2255318e422
Reviewed-on: https://chromium-review.googlesource.com/c/1326012
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606542}
[modify] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/base/task/sequence_manager/sequence_manager.h
[modify] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/base/task/sequence_manager/sequence_manager_impl.h
[modify] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/base/task/sequence_manager/sequence_manager_impl_unittest.cc
[modify] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/base/task/sequence_manager/test/sequence_manager_for_test.cc
[modify] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/base/task/sequence_manager/thread_controller.h
[modify] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/base/task/sequence_manager/thread_controller_impl.cc
[modify] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/base/task/sequence_manager/thread_controller_impl.h
[modify] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/base/task/sequence_manager/thread_controller_with_message_pump_impl.h
[add] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/third_party/blink/renderer/platform/scheduler/common/DEPS
[modify] https://crrev.com/9987f7c241596bdb13b296e678785b1fae45ceaf/third_party/blink/renderer/platform/scheduler/common/scheduler_helper.cc

Comment 27 by bugdroid1@chromium.org, Nov 12

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

commit af790bbac97c3621bfdb9e06d18cf89301dc4930
Author: Alex Clarke <alexclarke@chromium.org>
Date: Mon Nov 12 16:37:35 2018

Advance virtual time via SequencedTaskSource

This is necessary for using SequenceManager inside
ScopedTaskEnvironment.  It also makes Virtual Time a bit
cleaner from an interface PoV.

Bug: 863341, 891670
Change-Id: Iaa8300b6c4b2f889b4cfe185959e3a280730636d
Reviewed-on: https://chromium-review.googlesource.com/c/1329969
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607254}
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/real_time_domain.cc
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/real_time_domain.h
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/sequence_manager_impl.h
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/sequenced_task_source.h
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/test/mock_time_domain.cc
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/test/mock_time_domain.h
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/thread_controller_impl.cc
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/thread_controller_with_message_pump_impl_unittest.cc
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/time_domain.h
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/base/task/sequence_manager/time_domain_unittest.cc
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/third_party/blink/renderer/platform/scheduler/common/throttling/throttled_time_domain.cc
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/third_party/blink/renderer/platform/scheduler/common/throttling/throttled_time_domain.h
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/third_party/blink/renderer/platform/scheduler/main_thread/auto_advancing_virtual_time_domain.cc
[modify] https://crrev.com/af790bbac97c3621bfdb9e06d18cf89301dc4930/third_party/blink/renderer/platform/scheduler/main_thread/auto_advancing_virtual_time_domain.h

Comment 28 by bugdroid1@chromium.org, Nov 14

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0895c0574d2848d8e5fc6e2b8e786eb98c73113c

commit 0895c0574d2848d8e5fc6e2b8e786eb98c73113c
Author: Alex Clarke <alexclarke@chromium.org>
Date: Wed Nov 14 16:49:34 2018

Remove SequenceManager from base::Thread

We are no longer considering having anything other than a FIFO
scheduler on the IO thread (which is why it was added in the
first place).

Split off from https://crrev.com/c/1320329.

TBR=gab@chromium.org

Bug: 863341, 891670
Change-Id: I6e7c4fdd2772ec85dfffcf4bad051b0785b0a050
Reviewed-on: https://chromium-review.googlesource.com/c/1335930
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608008}
[modify] https://crrev.com/0895c0574d2848d8e5fc6e2b8e786eb98c73113c/base/task/sequence_manager/sequence_manager_impl_unittest.cc
[modify] https://crrev.com/0895c0574d2848d8e5fc6e2b8e786eb98c73113c/base/threading/thread.cc
[modify] https://crrev.com/0895c0574d2848d8e5fc6e2b8e786eb98c73113c/base/threading/thread.h

Comment 29 by bugdroid1@chromium.org, Nov 14

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/605c203135d75b2d07855ecc3a41b84ae29dca88

commit 605c203135d75b2d07855ecc3a41b84ae29dca88
Author: Alex Clarke <alexclarke@chromium.org>
Date: Wed Nov 14 18:46:32 2018

Let SequenceManager bind to MessageLoopCurrent

This is a step towards introducing a UIThreadScheduler which will
have a SequenceManager rather than a MessageLoop on the UI thread.

We also remove the SequenceManager from base::Thread since we no longer
considering having anything other than a FIFO scheduler there.

TBR=marq@chromium.org

Bug: 863341, 891670
Change-Id: If1603e623688a5bb4d0ca71b2b55bc50ffb9c506
Reviewed-on: https://chromium-review.googlesource.com/c/1320329
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608060}
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/message_loop/message_loop.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/message_loop/message_loop.h
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/message_loop/message_loop_current.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/message_loop/message_loop_current.h
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/message_loop/message_loop_impl.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/message_loop/message_loop_impl.h
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/message_loop/message_loop_task_runner_unittest.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/sequence_manager.h
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/sequence_manager_impl.h
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/sequence_manager_impl_unittest.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/sequence_manager_perftest.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/test/lazy_thread_controller_for_test.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/test/sequence_manager_for_test.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/test/sequence_manager_for_test.h
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/thread_controller.h
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/thread_controller_impl.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/thread_controller_impl.h
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/base/task/sequence_manager/thread_controller_with_message_pump_impl.h
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/ios/web/public/test/test_web_thread_bundle.h
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/ios/web/test/test_web_thread_bundle.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/third_party/blink/renderer/platform/scheduler/common/idle_helper_unittest.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/third_party/blink/renderer/platform/scheduler/common/scheduler_helper.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl_unittest.cc
[modify] https://crrev.com/605c203135d75b2d07855ecc3a41b84ae29dca88/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_unittest.cc

Comment 30 by bugdroid1@chromium.org, Nov 20

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

commit a948722765a92cb9899176ecfb87e1211889b784
Author: Alex Clarke <alexclarke@chromium.org>
Date: Tue Nov 20 09:42:10 2018

Allow TaskQueue to be created without overriding the type

This means embedders don't need to subclass TaskQueue. To avoid
confusion we rename the existing API method to CreateTaskQueueWithType.

Bug: 863341
Change-Id: I962c9229acc1e14ab098d9d779d8dca4e1583fb0
Reviewed-on: https://chromium-review.googlesource.com/c/1342537
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609647}
[modify] https://crrev.com/a948722765a92cb9899176ecfb87e1211889b784/base/message_loop/message_loop.cc
[modify] https://crrev.com/a948722765a92cb9899176ecfb87e1211889b784/base/task/sequence_manager/sequence_manager.h
[modify] https://crrev.com/a948722765a92cb9899176ecfb87e1211889b784/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/a948722765a92cb9899176ecfb87e1211889b784/base/task/sequence_manager/sequence_manager_impl.h
[modify] https://crrev.com/a948722765a92cb9899176ecfb87e1211889b784/base/task/sequence_manager/sequence_manager_impl_unittest.cc
[modify] https://crrev.com/a948722765a92cb9899176ecfb87e1211889b784/base/task/sequence_manager/sequence_manager_perftest.cc
[modify] https://crrev.com/a948722765a92cb9899176ecfb87e1211889b784/third_party/blink/renderer/platform/scheduler/main_thread/idle_time_estimator_unittest.cc
[modify] https://crrev.com/a948722765a92cb9899176ecfb87e1211889b784/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_helper.cc
[modify] https://crrev.com/a948722765a92cb9899176ecfb87e1211889b784/third_party/blink/renderer/platform/scheduler/test/fuzzer/thread_manager.cc
[modify] https://crrev.com/a948722765a92cb9899176ecfb87e1211889b784/third_party/blink/renderer/platform/scheduler/worker/non_main_thread_scheduler_helper.cc

Comment 31 by bugdroid1@chromium.org, Nov 21

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

commit d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8
Author: Alex Clarke <alexclarke@chromium.org>
Date: Wed Nov 21 10:00:32 2018

Expose QuitWhenIdle via The TimeDomain API

The TimeDomain introduced by http://crrev.com/c/1324391 needs to
know if the current RunLoop should quit when idle because if so
it needs to stop advancing mock time.  We do this by plumbing a flag
through to MaybeFastForwardToNextTask.

Bug: 863341, 891670
Change-Id: I71d8240fa5c6e7088cafacba57a31ec15abfe695
Reviewed-on: https://chromium-review.googlesource.com/c/1337336
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609977}
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/real_time_domain.cc
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/real_time_domain.h
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/sequence_manager_impl_unittest.cc
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/test/mock_time_domain.cc
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/test/mock_time_domain.h
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/thread_controller.h
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/thread_controller_impl.cc
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/thread_controller_impl.h
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/thread_controller_with_message_pump_impl.h
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/time_domain.h
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/base/task/sequence_manager/time_domain_unittest.cc
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/third_party/blink/renderer/platform/scheduler/common/throttling/throttled_time_domain.cc
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/third_party/blink/renderer/platform/scheduler/common/throttling/throttled_time_domain.h
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/third_party/blink/renderer/platform/scheduler/main_thread/auto_advancing_virtual_time_domain.cc
[modify] https://crrev.com/d4597f6152b4c67a9b8dcc84f0bfe46d5fa9d2c8/third_party/blink/renderer/platform/scheduler/main_thread/auto_advancing_virtual_time_domain.h

Comment 32 by bugdroid1@chromium.org, Nov 22

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

commit b7b1fc005998a4209e8979081305608e8e85c8ed
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Nov 22 09:11:24 2018

Add some new ScopedTaskEnvironment tests

Bug: 863341, 891670
Change-Id: If583048e9efcc14ab1456153480d1ab2847eb869
Reviewed-on: https://chromium-review.googlesource.com/c/1347271
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610354}
[modify] https://crrev.com/b7b1fc005998a4209e8979081305608e8e85c8ed/base/test/scoped_task_environment_unittest.cc

Comment 33 by bugdroid1@chromium.org, Nov 22

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/80548e8a82fe2f4a5a1f757ee092220cb93b764b

commit 80548e8a82fe2f4a5a1f757ee092220cb93b764b
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Nov 22 13:19:03 2018

Fix WebURLLoaderMockFactoryImpl::RunUntilIdle

This can lead to nested messageloops and it's working by accident
currently due to the interactions with the way the SequenceManager and
the MessageLoop work.

Bug: 863341, 891670
Change-Id: I7b01059638e2ba8a136a7daac387467aab517a3c
Reviewed-on: https://chromium-review.googlesource.com/c/1347353
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610394}
[modify] https://crrev.com/80548e8a82fe2f4a5a1f757ee092220cb93b764b/third_party/blink/renderer/platform/testing/weburl_loader_mock_factory_impl.cc

Comment 34 by bugdroid1@chromium.org, Nov 28

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/514c49d40b386bd0fc3e544257ef2ec13e458028

commit 514c49d40b386bd0fc3e544257ef2ec13e458028
Author: Alex Clarke <alexclarke@chromium.org>
Date: Wed Nov 28 22:21:14 2018

Use the SequenceManager in ScopedTaskEnvironment

This is necessary because we want content::TestBrowserThreadBundle to
own a BrowserUIThreadScheduler, but that also owns a ScopedTaskEnvironment
and you can't have two SequenceManagers on the same thread.

This patch allows ScopedTaskEnvironment to optionally work with an
externally owned SequenceManager solving the problem.

This implements https://docs.google.com/document/d/1y08C6JQ9Yta3EQXzwIqqIIKHq9500WV6CWFZzZfDx7I/edit?usp=drivesdk,

We now have the ability to mock time on the UI thread.

TBR=asvitkine@chromium.org,miu@chromium.org

Bug: 863341, 891670, 708584
Change-Id: I96aa34c5cc8832c263621c2d9c228a8da4372c68
Reviewed-on: https://chromium-review.googlesource.com/c/1324391
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611895}
[modify] https://crrev.com/514c49d40b386bd0fc3e544257ef2ec13e458028/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/514c49d40b386bd0fc3e544257ef2ec13e458028/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/514c49d40b386bd0fc3e544257ef2ec13e458028/base/test/scoped_task_environment.cc
[modify] https://crrev.com/514c49d40b386bd0fc3e544257ef2ec13e458028/base/test/scoped_task_environment.h
[modify] https://crrev.com/514c49d40b386bd0fc3e544257ef2ec13e458028/base/test/scoped_task_environment_unittest.cc
[modify] https://crrev.com/514c49d40b386bd0fc3e544257ef2ec13e458028/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/514c49d40b386bd0fc3e544257ef2ec13e458028/content/renderer/media/stream/webmediaplayer_ms_unittest.cc

Comment 35 by bugdroid1@chromium.org, Nov 29

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

commit d28e2536ab6b8ee546a24d0041377b0a05705c7c
Author: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Date: Thu Nov 29 03:58:13 2018

Revert "Use the SequenceManager in ScopedTaskEnvironment"

This reverts commit 514c49d40b386bd0fc3e544257ef2ec13e458028.

Reason for revert: Breaks test on Mac10.12 Tests

https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac10.12%20Tests/17139

[ RUN      ] WebMediaPlayerMSTest.RotationChange/3
../../content/renderer/media/stream/webmediaplayer_ms_unittest.cc:1136: Failure
Expected equality of these values:
  kStandardHeight
    Which is: 240
  natural_size.height
    Which is: 320
Stack trace:
0   content_unittests                   0x00000001030aac4b testing::internal::UnitTestImpl::CurrentOsStackTraceExceptTop(int) + 91
1   content_unittests                   0x00000001030aa609 testing::internal::AssertHelper::operator=(testing::Message const&) const + 89
2   content_unittests                   0x0000000102314244 content::WebMediaPlayerMSTest_RotationChange_Test::TestBody() + 3492


Original change's description:
> Use the SequenceManager in ScopedTaskEnvironment
> 
> This is necessary because we want content::TestBrowserThreadBundle to
> own a BrowserUIThreadScheduler, but that also owns a ScopedTaskEnvironment
> and you can't have two SequenceManagers on the same thread.
> 
> This patch allows ScopedTaskEnvironment to optionally work with an
> externally owned SequenceManager solving the problem.
> 
> This implements https://docs.google.com/document/d/1y08C6JQ9Yta3EQXzwIqqIIKHq9500WV6CWFZzZfDx7I/edit?usp=drivesdk,
> 
> We now have the ability to mock time on the UI thread.
> 
> TBR=asvitkine@chromium.org,miu@chromium.org
> 
> Bug: 863341, 891670, 708584
> Change-Id: I96aa34c5cc8832c263621c2d9c228a8da4372c68
> Reviewed-on: https://chromium-review.googlesource.com/c/1324391
> Commit-Queue: Alex Clarke <alexclarke@chromium.org>
> Reviewed-by: Gabriel Charette <gab@chromium.org>
> Reviewed-by: François Doray <fdoray@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#611895}

TBR=gab@chromium.org,fdoray@chromium.org,alexclarke@chromium.org

Change-Id: I4b4922b5f393bcb9aace5f28b09a61fbdf2bfa04
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 863341, 891670, 708584
Reviewed-on: https://chromium-review.googlesource.com/c/1354723
Reviewed-by: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Commit-Queue: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612026}
[modify] https://crrev.com/d28e2536ab6b8ee546a24d0041377b0a05705c7c/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/d28e2536ab6b8ee546a24d0041377b0a05705c7c/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/d28e2536ab6b8ee546a24d0041377b0a05705c7c/base/test/scoped_task_environment.cc
[modify] https://crrev.com/d28e2536ab6b8ee546a24d0041377b0a05705c7c/base/test/scoped_task_environment.h
[modify] https://crrev.com/d28e2536ab6b8ee546a24d0041377b0a05705c7c/base/test/scoped_task_environment_unittest.cc
[modify] https://crrev.com/d28e2536ab6b8ee546a24d0041377b0a05705c7c/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/d28e2536ab6b8ee546a24d0041377b0a05705c7c/content/renderer/media/stream/webmediaplayer_ms_unittest.cc

Comment 36 by bugdroid1@chromium.org, Nov 29

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/49c8774b77a9c530447f805dbb5358092cfa28e1

commit 49c8774b77a9c530447f805dbb5358092cfa28e1
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Nov 29 09:59:57 2018

[Reland] Use the SequenceManager in ScopedTaskEnvironment

A reland of https://crrev.com/c/1324391

This is necessary because we want content::TestBrowserThreadBundle to
own a BrowserUIThreadScheduler, but that also owns a ScopedTaskEnvironment
and you can't have two SequenceManagers on the same thread.

This patch allows ScopedTaskEnvironment to optionally work with an
externally owned SequenceManager solving the problem.

This implements https://docs.google.com/document/d/1y08C6JQ9Yta3EQXzwIqqIIKHq9500WV6CWFZzZfDx7I/edit?usp=drivesdk,

We now have the ability to mock time on the UI thread.

TBR=asvitkine@chromium.org,miu@chromium.org,gab@chromium.org,fdoray@chromium.org

Bug: 863341, 891670, 708584
Change-Id: Ia4409b885deb9935e6e5b6d99f4598f164d350db
Reviewed-on: https://chromium-review.googlesource.com/c/1354919
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612122}
[modify] https://crrev.com/49c8774b77a9c530447f805dbb5358092cfa28e1/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/49c8774b77a9c530447f805dbb5358092cfa28e1/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/49c8774b77a9c530447f805dbb5358092cfa28e1/base/test/scoped_task_environment.cc
[modify] https://crrev.com/49c8774b77a9c530447f805dbb5358092cfa28e1/base/test/scoped_task_environment.h
[modify] https://crrev.com/49c8774b77a9c530447f805dbb5358092cfa28e1/base/test/scoped_task_environment_unittest.cc
[modify] https://crrev.com/49c8774b77a9c530447f805dbb5358092cfa28e1/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/49c8774b77a9c530447f805dbb5358092cfa28e1/content/renderer/media/stream/webmediaplayer_ms_unittest.cc

Comment 37 by bugdroid1@chromium.org, Nov 30

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

commit 6c2dfeb52c805b67985eb53047ff6c56faa68977
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Nov 30 16:33:54 2018

Fix race in shutdown of ServiceWorkerVersionBrowserTest.UpdateBypassesCacheAfter24Hours

This test doesn't unregister the service worker unlike others in the same file and
is likely working by accident.  This becomes a problem when we migrate from
MessageLoop to the SequenceManager.

Bug: 863341, 891670
Change-Id: I658ce56f244d1beda44f02e53cceaf0a7ea7b45b
Reviewed-on: https://chromium-review.googlesource.com/c/1356940
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612669}
[modify] https://crrev.com/6c2dfeb52c805b67985eb53047ff6c56faa68977/content/browser/service_worker/service_worker_browsertest.cc

Comment 38 by bugdroid1@chromium.org, Nov 30

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

commit 9e50e07dbf60ecb29d8fe20ca4a9479c88d389ff
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Nov 30 16:43:41 2018

LazilyDeallocatedDeque to use TimeTicksNowIgnoringOverride

This works around one issue with overriding now while there are other
SequenceManager threads around.  Specifically the MessageLoop didn't
sample Now unless there where delayed tasks, and the IO thread where
this problem crops up in tests does not use DelayedTasks.

The SequenceManager however does sample now due to heuristics in the
LazilyDeallocatedDeque.

Overriding time isn't thread safe and this patch does not change
that. Further work may be needded to make that safe,

Bug: 910524, 863341, 891670
Change-Id: I816247b8640f178e00cbd40ac85cd76e5139320a
Reviewed-on: https://chromium-review.googlesource.com/c/1356586
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612674}
[modify] https://crrev.com/9e50e07dbf60ecb29d8fe20ca4a9479c88d389ff/base/task/sequence_manager/lazily_deallocated_deque.h
[modify] https://crrev.com/9e50e07dbf60ecb29d8fe20ca4a9479c88d389ff/base/task/sequence_manager/task_queue_impl.h

Comment 39 by bugdroid1@chromium.org, Nov 30

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

commit b54920b5ce0b28a83cf343b94d78c672d12a2645
Author: Wez <wez@chromium.org>
Date: Fri Nov 30 20:04:13 2018

Revert "[Reland] Use the SequenceManager in ScopedTaskEnvironment"

This reverts commit 49c8774b77a9c530447f805dbb5358092cfa28e1.

Reason for revert: CL seems likely cause of a new MainThreadHasPendingTasks() flake observed on the Fuchsia builders (see crbug.com/910645).

Original change's description:
> [Reland] Use the SequenceManager in ScopedTaskEnvironment
> 
> A reland of https://crrev.com/c/1324391
> 
> This is necessary because we want content::TestBrowserThreadBundle to
> own a BrowserUIThreadScheduler, but that also owns a ScopedTaskEnvironment
> and you can't have two SequenceManagers on the same thread.
> 
> This patch allows ScopedTaskEnvironment to optionally work with an
> externally owned SequenceManager solving the problem.
> 
> This implements https://docs.google.com/document/d/1y08C6JQ9Yta3EQXzwIqqIIKHq9500WV6CWFZzZfDx7I/edit?usp=drivesdk,
> 
> We now have the ability to mock time on the UI thread.
> 
> TBR=asvitkine@chromium.org,miu@chromium.org,gab@chromium.org,fdoray@chromium.org
> 
> Bug: 863341, 891670, 708584
> Change-Id: Ia4409b885deb9935e6e5b6d99f4598f164d350db
> Reviewed-on: https://chromium-review.googlesource.com/c/1354919
> Reviewed-by: Alex Clarke <alexclarke@chromium.org>
> Commit-Queue: Alex Clarke <alexclarke@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#612122}

TBR=gab@chromium.org,miu@chromium.org,fdoray@chromium.org,asvitkine@chromium.org,alexclarke@chromium.org

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

Bug: 910645, 863341, 891670, 708584
Change-Id: I395322743c110f9b1dd424434756f05b2301a45b
Reviewed-on: https://chromium-review.googlesource.com/c/1357014
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612741}
[modify] https://crrev.com/b54920b5ce0b28a83cf343b94d78c672d12a2645/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/b54920b5ce0b28a83cf343b94d78c672d12a2645/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/b54920b5ce0b28a83cf343b94d78c672d12a2645/base/test/scoped_task_environment.cc
[modify] https://crrev.com/b54920b5ce0b28a83cf343b94d78c672d12a2645/base/test/scoped_task_environment.h
[modify] https://crrev.com/b54920b5ce0b28a83cf343b94d78c672d12a2645/base/test/scoped_task_environment_unittest.cc
[modify] https://crrev.com/b54920b5ce0b28a83cf343b94d78c672d12a2645/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/b54920b5ce0b28a83cf343b94d78c672d12a2645/content/renderer/media/stream/webmediaplayer_ms_unittest.cc

Comment 40 by bugdroid1@chromium.org, Dec 4

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

commit ecd91717488546b0213a4540f5c6afb2d4939d3b
Author: Alex Clarke <alexclarke@chromium.org>
Date: Tue Dec 04 11:49:12 2018

ThreadControllerWithMessagePumpImpl fix mac virtual time

We pump virtual time in DoIdleWork, which may result in more
immediate tasks.  Unfortunately the mac pump is not conformant
with the other pumps and returning true from DoIdleWork does
not schedule a DoWork so we do this manually.

Split off from https://crrev.com/c/1324391

Bug: 863341, 891670
Change-Id: Ib4559135261bae5b041f736c6659a59a6dfa502a
Reviewed-on: https://chromium-review.googlesource.com/c/1360690
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613513}
[modify] https://crrev.com/ecd91717488546b0213a4540f5c6afb2d4939d3b/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc

Comment 41 by bugdroid1@chromium.org, Dec 6

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

commit 82b82a8b8c4115741888bb0dfe3fcd439cff51e5
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Dec 06 12:18:48 2018

Deflake AddFirstWallpaperAnimationEndCallback test

This test is currently flaky because it relies upon the ordering
of delayed and non delayed tasks to quit a run loop before the
very short (0.01s) animation delay is up. This patch deflakes it by
temporarily freezing time to prevent the animation from
completing before the test expects it to.

TBR=wzang@chromium.org

Bug: 863341, 891670, 910493
Change-Id: I34cf2824c387c380134eb38b3375e6ab79de4be8
Reviewed-on: https://chromium-review.googlesource.com/c/1365244
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614322}
[modify] https://crrev.com/82b82a8b8c4115741888bb0dfe3fcd439cff51e5/ash/wallpaper/wallpaper_controller_unittest.cc

Comment 42 by bugdroid1@chromium.org, Dec 6

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

commit dda57a2c6aa319675172f8558ce8c24d9333f894
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Dec 06 13:20:50 2018

Change interleaving of delayed and immediate tasks to match MessageLoop

Previously the TaskQueueSelector would allow up to 3 delayed tasks to
run for every immediate task if both where ready to run.  This patch
changes it to a 1:1 ratio like the MessageLoop.  NB neither the
SequenceManager nor the MessageLoop allow delayed tasks to skip ahead
of immediate tasks.

In addition I've removed the PrioritizingSelector inner class which makes
the code a bit more readable.  In addition based on review comments I
changed the style of functions to return a pointer to the WorkQueue or
null rather than a bool. This in general improves readability.

Bug: 863341, 891670
Change-Id: I61d4f118880f109c01ad4a2d5301acc9103b0b35
Reviewed-on: https://chromium-review.googlesource.com/c/1361103
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614329}
[modify] https://crrev.com/dda57a2c6aa319675172f8558ce8c24d9333f894/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/dda57a2c6aa319675172f8558ce8c24d9333f894/base/task/sequence_manager/sequence_manager_impl.h
[modify] https://crrev.com/dda57a2c6aa319675172f8558ce8c24d9333f894/base/task/sequence_manager/sequence_manager_impl_unittest.cc
[modify] https://crrev.com/dda57a2c6aa319675172f8558ce8c24d9333f894/base/task/sequence_manager/task_queue_selector.cc
[modify] https://crrev.com/dda57a2c6aa319675172f8558ce8c24d9333f894/base/task/sequence_manager/task_queue_selector.h
[modify] https://crrev.com/dda57a2c6aa319675172f8558ce8c24d9333f894/base/task/sequence_manager/task_queue_selector_unittest.cc
[modify] https://crrev.com/dda57a2c6aa319675172f8558ce8c24d9333f894/base/task/sequence_manager/work_queue_sets.cc
[modify] https://crrev.com/dda57a2c6aa319675172f8558ce8c24d9333f894/base/task/sequence_manager/work_queue_sets.h
[modify] https://crrev.com/dda57a2c6aa319675172f8558ce8c24d9333f894/base/task/sequence_manager/work_queue_sets_unittest.cc
[modify] https://crrev.com/dda57a2c6aa319675172f8558ce8c24d9333f894/base/task/sequence_manager/work_queue_unittest.cc
[modify] https://crrev.com/dda57a2c6aa319675172f8558ce8c24d9333f894/third_party/blink/web_tests/http/tests/devtools/sources/debugger/debugger-scope-resolve-this-expected.txt

Comment 43 by bugdroid1@chromium.org, Dec 6

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

commit 1dc884dc9ff9b74841192d420479197f80c3ac9c
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Dec 06 13:22:23 2018

SequenceManagerImpl::IsIdleForTesting to match MessageLoop behavior

The MessageLoop version of IsIdleForTesting does not take Now() into
account, but the SequenceManager version was.  This is a mistake
because its flaky when there are delayed tasks that are just about
to run.

TBR=fdoray@chromium.org

Bug: 910645, 863341, 891670
Change-Id: Ieaf5e534df0f553046b76fa844f61e4a268082f9
Reviewed-on: https://chromium-review.googlesource.com/c/1365233
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614330}
[modify] https://crrev.com/1dc884dc9ff9b74841192d420479197f80c3ac9c/base/message_loop/message_loop_unittest.cc
[modify] https://crrev.com/1dc884dc9ff9b74841192d420479197f80c3ac9c/base/task/sequence_manager/sequence_manager.h
[modify] https://crrev.com/1dc884dc9ff9b74841192d420479197f80c3ac9c/base/task/sequence_manager/sequence_manager_impl.cc

Comment 44 by bugdroid1@chromium.org, Dec 6

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

commit 7b9d64e613231dffb7a26caf88dcaa909d0a4407
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Dec 06 14:20:22 2018

Deflake RenderWidgetHostViewMacTest.TimerBasedPhaseInfo

This test relies on the ordering of delayed and non-delayed tasks
which is a mistake. Changeing it to quit after all tasks have
run makes it reliable.

TBR=asvitkine@chromium.org

Bug: 863341, 891670
Change-Id: Id8dcbda9359a3adcf9688973457edf146d1d070f
Reviewed-on: https://chromium-review.googlesource.com/c/1365447
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614335}
[modify] https://crrev.com/7b9d64e613231dffb7a26caf88dcaa909d0a4407/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm

Comment 45 by bugdroid1@chromium.org, Dec 6

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

commit dbb7308e7bcc0053dca3104f3306ce64a34085a3
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Dec 06 15:05:38 2018

Deflake WebMediaPlayerMSTest.RotationChange

This test currently relies upon the exact ordering of RenderFrame,
InjectFrame and CheckForFrameChanges, which is a mix of delayed and
immediate tasks. The scheduler doesn't guarantee the exact ordering
of these which causes this test to flake.  We add some extra
RunLoop().RunUntilIdle() calls to ensure CheckForFrameChanges has
a chance to run.

TBR=miu@chromium.org

Bug: 863341, 891670
Change-Id: I526d6b77f6ce46f04d84584f5daba096ef1a98e5
Reviewed-on: https://chromium-review.googlesource.com/c/1365248
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614351}
[modify] https://crrev.com/dbb7308e7bcc0053dca3104f3306ce64a34085a3/content/renderer/media/stream/webmediaplayer_ms_unittest.cc

Comment 46 by bugdroid1@chromium.org, Dec 7

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/957b034333640c832f432f6d9cdb2f3ef260fd5b

commit 957b034333640c832f432f6d9cdb2f3ef260fd5b
Author: Jeffrey Yasskin <jyasskin@chromium.org>
Date: Fri Dec 07 01:19:44 2018

Revert "Change interleaving of delayed and immediate tasks to match MessageLoop"

This reverts commit dda57a2c6aa319675172f8558ce8c24d9333f894.

Reason for revert: Made http/tests/devtools/sources/debugger-breakpoints/restore-locations-for-breakpoint-with-broken-source-map.js flaky, according to https://crbug.com/912614.

Original change's description:
> Change interleaving of delayed and immediate tasks to match MessageLoop
> 
> Previously the TaskQueueSelector would allow up to 3 delayed tasks to
> run for every immediate task if both where ready to run.  This patch
> changes it to a 1:1 ratio like the MessageLoop.  NB neither the
> SequenceManager nor the MessageLoop allow delayed tasks to skip ahead
> of immediate tasks.
> 
> In addition I've removed the PrioritizingSelector inner class which makes
> the code a bit more readable.  In addition based on review comments I
> changed the style of functions to return a pointer to the WorkQueue or
> null rather than a bool. This in general improves readability.
> 
> Bug: 863341, 891670
> Change-Id: I61d4f118880f109c01ad4a2d5301acc9103b0b35
> Reviewed-on: https://chromium-review.googlesource.com/c/1361103
> Commit-Queue: Alex Clarke <alexclarke@chromium.org>
> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
> Reviewed-by: Alexander Timin <altimin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#614329}

TBR=skyostil@chromium.org,alexclarke@chromium.org,altimin@chromium.org

Change-Id: I2b92bee12bfdd05fac12955655106253cab0d1e6
No-Presubmit: true
Bug: 863341, 891670, 912614
Reviewed-on: https://chromium-review.googlesource.com/c/1366223
Reviewed-by: Jeffrey Yasskin <jyasskin@chromium.org>
Commit-Queue: Jeffrey Yasskin <jyasskin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614545}
[modify] https://crrev.com/957b034333640c832f432f6d9cdb2f3ef260fd5b/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/957b034333640c832f432f6d9cdb2f3ef260fd5b/base/task/sequence_manager/sequence_manager_impl.h
[modify] https://crrev.com/957b034333640c832f432f6d9cdb2f3ef260fd5b/base/task/sequence_manager/sequence_manager_impl_unittest.cc
[modify] https://crrev.com/957b034333640c832f432f6d9cdb2f3ef260fd5b/base/task/sequence_manager/task_queue_selector.cc
[modify] https://crrev.com/957b034333640c832f432f6d9cdb2f3ef260fd5b/base/task/sequence_manager/task_queue_selector.h
[modify] https://crrev.com/957b034333640c832f432f6d9cdb2f3ef260fd5b/base/task/sequence_manager/task_queue_selector_unittest.cc
[modify] https://crrev.com/957b034333640c832f432f6d9cdb2f3ef260fd5b/base/task/sequence_manager/work_queue_sets.cc
[modify] https://crrev.com/957b034333640c832f432f6d9cdb2f3ef260fd5b/base/task/sequence_manager/work_queue_sets.h
[modify] https://crrev.com/957b034333640c832f432f6d9cdb2f3ef260fd5b/base/task/sequence_manager/work_queue_sets_unittest.cc
[modify] https://crrev.com/957b034333640c832f432f6d9cdb2f3ef260fd5b/base/task/sequence_manager/work_queue_unittest.cc
[modify] https://crrev.com/957b034333640c832f432f6d9cdb2f3ef260fd5b/third_party/blink/web_tests/http/tests/devtools/sources/debugger/debugger-scope-resolve-this-expected.txt

Comment 47 by bugdroid1@chromium.org, Dec 7

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

commit cfa6a9d5bae8cddf67ccf413c9b3742116204087
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Dec 07 11:37:55 2018

Deflake WebMediaPlayerMSTest.OpacityChange

This test is sensitive to the ordering of delayed vs non-delayed tasks.
We can fix this by adding a couple of  extra RunLoop().RunUntilIdle();

TBR=miu@chromium.org

Bug: 863341, 891670
Change-Id: Ia55858149464387a90450f9e9ad651139b5cb723
Reviewed-on: https://chromium-review.googlesource.com/c/1366287
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614668}
[modify] https://crrev.com/cfa6a9d5bae8cddf67ccf413c9b3742116204087/content/renderer/media/stream/webmediaplayer_ms_unittest.cc

Comment 48 by bugdroid1@chromium.org, Dec 10

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

commit 0def2093a77f7a1f677efd941a37fdc9944f43d7
Author: Alex Clarke <alexclarke@chromium.org>
Date: Mon Dec 10 12:01:45 2018

ClientSocketPoolBaseTest to use MOCK_TIME

We're trying to migrate from the MessageLoop to the SequenceManager and
ClientSocketPoolBaseTest.TotalLimitCountsConnectingSockets fails on iOS
due to a quirk / feature / bug of MessagePumpIOSForIO.

MessagePumpIOSForIO isn't correctly handling SetNextDelayedDoWork
followed by a sleep and RunLoop().RunUntilIdle() properly. The problem
is upon entering the loop the MessagePumpCFRunLoopBase::PreWaitObserver
fires triggering DoIdleWork which triggers
ThreadControllerWithMessagePumpImpl to call Quit because QuitWhenIdle
has been requested.  In TotalLimitCountsConnectingSockets this
manifests as a reordering of the requests (order is 1,2,3,5,4).

I intend to try and fix MessagePumpIOSForIO but in the meantime I've
opted to modernise this test, which should unblock the
SequenceManager migration.

TBR=eroman@chromium.org

Bug: 863341, 891670
Change-Id: I7cf56dfb44a2601aa0eac7334e3a89ad3707d917
Reviewed-on: https://chromium-review.googlesource.com/c/1369773
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615094}
[modify] https://crrev.com/0def2093a77f7a1f677efd941a37fdc9944f43d7/net/socket/client_socket_pool_base_unittest.cc

Comment 49 by bugdroid1@chromium.org, Dec 11

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

commit d1317fc30ce4e9ef08c5197c0f67767dfe585df4
Author: Alex Clarke <alexclarke@chromium.org>
Date: Tue Dec 11 12:19:20 2018

[Reland #3] Use the SequenceManager in ScopedTaskEnvironment

A reland of https://crrev.com/c/1324391

This is necessary because we want content::TestBrowserThreadBundle to
own a BrowserUIThreadScheduler, but that also owns a ScopedTaskEnvironment
and you can't have two SequenceManagers on the same thread.

This patch allows ScopedTaskEnvironment to optionally work with an
externally owned SequenceManager solving the problem.

This implements https://docs.google.com/document/d/1y08C6JQ9Yta3EQXzwIqqIIKHq9500WV6CWFZzZfDx7I/edit?usp=drivesdk,

We now have the ability to mock time on the UI and IO threads.

RE HttpServiceTest change HttpServiceTest.MultipleRequests was failing
mysteriously on fuschia on the bots only (not locally). IO_MOCK_TIME seems
to have fixed this.


TBR=gab@chromium.org,fdoray@chromium.org,wez@chromium.org

Bug: 863341, 891670, 708584
Change-Id: I95444a0a50f8b577c5fae62c12c8423c7e8f21d6
Reviewed-on: https://chromium-review.googlesource.com/c/1361863
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615496}
[modify] https://crrev.com/d1317fc30ce4e9ef08c5197c0f67767dfe585df4/base/test/scoped_task_environment.cc
[modify] https://crrev.com/d1317fc30ce4e9ef08c5197c0f67767dfe585df4/base/test/scoped_task_environment.h
[modify] https://crrev.com/d1317fc30ce4e9ef08c5197c0f67767dfe585df4/base/test/scoped_task_environment_unittest.cc
[modify] https://crrev.com/d1317fc30ce4e9ef08c5197c0f67767dfe585df4/webrunner/net_http/http_service_unittest.cc

Comment 50 by bugdroid1@chromium.org, Dec 11

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

commit b1525775f8eb45cd60230ff8329e99167011d979
Author: Friedrich Horschig [CET] <fhorschig@chromium.org>
Date: Tue Dec 11 14:45:00 2018

Revert "[Reland #3] Use the SequenceManager in ScopedTaskEnvironment"

This reverts commit d1317fc30ce4e9ef08c5197c0f67767dfe585df4.

Reason for revert: SyncSchedulerImplTest is failing and this is the most likely culprit. More information in the linked bug.

Bug: 913946

Original change's description:
> [Reland #3] Use the SequenceManager in ScopedTaskEnvironment
> 
> A reland of https://crrev.com/c/1324391
> 
> This is necessary because we want content::TestBrowserThreadBundle to
> own a BrowserUIThreadScheduler, but that also owns a ScopedTaskEnvironment
> and you can't have two SequenceManagers on the same thread.
> 
> This patch allows ScopedTaskEnvironment to optionally work with an
> externally owned SequenceManager solving the problem.
> 
> This implements https://docs.google.com/document/d/1y08C6JQ9Yta3EQXzwIqqIIKHq9500WV6CWFZzZfDx7I/edit?usp=drivesdk,
> 
> We now have the ability to mock time on the UI and IO threads.
> 
> RE HttpServiceTest change HttpServiceTest.MultipleRequests was failing
> mysteriously on fuschia on the bots only (not locally). IO_MOCK_TIME seems
> to have fixed this.
> 
> 
> TBR=gab@chromium.org,fdoray@chromium.org,wez@chromium.org
> 
> Bug: 863341, 891670, 708584
> Change-Id: I95444a0a50f8b577c5fae62c12c8423c7e8f21d6
> Reviewed-on: https://chromium-review.googlesource.com/c/1361863
> Commit-Queue: Alex Clarke <alexclarke@chromium.org>
> Reviewed-by: Alex Clarke <alexclarke@chromium.org>
> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#615496}

TBR=wez@chromium.org,gab@chromium.org,fdoray@chromium.org,skyostil@chromium.org,alexclarke@chromium.org

Change-Id: If5ff0362758b5270eb3113d2fd6eeeb7facc37c3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 863341, 891670, 708584
Reviewed-on: https://chromium-review.googlesource.com/c/1371811
Reviewed-by: Friedrich Horschig [CET] <fhorschig@chromium.org>
Commit-Queue: Friedrich Horschig [CET] <fhorschig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615520}
[modify] https://crrev.com/b1525775f8eb45cd60230ff8329e99167011d979/base/test/scoped_task_environment.cc
[modify] https://crrev.com/b1525775f8eb45cd60230ff8329e99167011d979/base/test/scoped_task_environment.h
[modify] https://crrev.com/b1525775f8eb45cd60230ff8329e99167011d979/base/test/scoped_task_environment_unittest.cc
[modify] https://crrev.com/b1525775f8eb45cd60230ff8329e99167011d979/webrunner/net_http/http_service_unittest.cc

Comment 51 by bugdroid1@chromium.org, Dec 13

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

commit 2ded172c0daa913d3d6e0b118d86ed38210cf06f
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Dec 13 12:55:20 2018

[Reland #4] Use the SequenceManager in ScopedTaskEnvironment

A reland of https://crrev.com/c/1324391

This is necessary because we want content::TestBrowserThreadBundle to
own a BrowserUIThreadScheduler, but that also owns a ScopedTaskEnvironment
and you can't have two SequenceManagers on the same thread.

This patch allows ScopedTaskEnvironment to optionally work with an
externally owned SequenceManager solving the problem.

This implements https://docs.google.com/document/d/1y08C6JQ9Yta3EQXzwIqqIIKHq9500WV6CWFZzZfDx7I/edit?usp=drivesdk,

We now have the ability to mock time on the UI and IO threads.

HttpServiceTest had been changed because HttpServiceTest.MultipleRequests was
failing mysteriously on fuchsia on the bots only (not locally). IO_MOCK_TIME
seems to have fixed this.

SyncSchedulerImplTest has been changed to use MOCK_TIME because it was
flaky on Mac. This change required base::TimeTicks::Now() to be overridden.
These tests should now run faster which I understand was a historical problem
(see https://crbug.com/402212).

The chromeos test changes are needed because C++ requires a default constructor
to const construct an object.  ScopedTaskEnvironment has a template vararg
constructor which due to a defect in the C++ standard isn't recognized for this
purpose.  C++ will happily let you default construct a non-const object using
it however.

TBR=khorimoto@chromium.org, wez@chromium.org, jkrcal@chromium.org

Bug: 863341, 891670, 913946, 911928
Change-Id: Ib7e58223b531cf85aded11b75bd09c47a0993391
Reviewed-on: https://chromium-review.googlesource.com/c/1371899
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Jan Krcal <jkrcal@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616280}
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/base/test/scoped_task_environment.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/base/test/scoped_task_environment.h
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/base/test/scoped_task_environment_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/components/nearby/count_down_latch_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/components/nearby/settable_future_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/components/tether/asynchronous_shutdown_object_container_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/components/tether/connection_preserver_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/components/tether/crash_recovery_manager_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/components/tether/host_scanner_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/components/tether/wifi_hotspot_disconnector_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/multidevice_setup/account_status_change_delegate_notifier_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/multidevice_setup/multidevice_setup_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/multidevice_setup/multidevice_setup_service_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/multidevice_setup/privileged_host_device_setter_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/active_connection_manager_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/authenticated_channel_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/ble_advertiser_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/ble_listener_operation_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/ble_synchronizer_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/client_connection_parameters_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/connect_to_device_operation_base_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/connection_attempt_base_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/multiplexed_channel_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/pending_ble_initiator_connection_request_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/pending_ble_listener_connection_request_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/pending_connection_manager_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/pending_connection_request_base_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/public/cpp/client/client_channel_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/public/cpp/client/secure_channel_client_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/secure_channel_service_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/chromeos/services/secure_channel/single_client_message_proxy_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/components/sync/engine_impl/sync_scheduler_impl_unittest.cc
[modify] https://crrev.com/2ded172c0daa913d3d6e0b118d86ed38210cf06f/webrunner/net_http/http_service_unittest.cc

Comment 52 by bugdroid1@chromium.org, Dec 14

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76

commit 1052bb0ca304bbdc91feacbeafe1acc9fe8fda76
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Dec 14 09:44:16 2018

TestBrowserThreadBundle to inherit from ScopedTaskEnvironment

This clarifies ownership of the ScopedTaskEnvironment (there is only one)
which makes it easier for the upcoming BrowserThreadScheduler work with
TestBrowserThreadBundle.  Because we need BrowserUIThreadScheduler and
ScopedTaskEnvironment to share a SequenceManager.

Most of this change is mechanical, the interesting changes are in
test_browser_thread_bundle.h, test_browser_thread_bundle.cc and
views_test_base.cc.

TBR=bartfab@chromium.org

Bug: 863341, 891670
Change-Id: I324665b19c6e89da42c05e7646ae41d9f1cd5e7b
Reviewed-on: https://chromium-review.googlesource.com/c/1352260
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616622}
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/base/test/scoped_task_environment.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/base/test/scoped_task_environment.h
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/browsing_data/browsing_data_appcache_helper_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/chromeos/crostini/crostini_manager_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/chromeos/crostini/crostini_share_path_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/chromeos/oauth2_token_service_delegate_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/chromeos/policy/app_install_event_logger_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/chromeos/power/auto_screen_brightness/adapter_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/chromeos/power/auto_screen_brightness/modeller_impl_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/chromeos/system_logs/single_debug_daemon_log_source_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/chromeos/system_logs/single_log_file_log_source_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/extensions/api/image_writer_private/operation_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/extensions/api/image_writer_private/removable_storage_provider_chromeos_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/extensions/api/image_writer_private/test_utils.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/extensions/api/image_writer_private/test_utils.h
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/extensions/external_registry_loader_win_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/google/google_search_domain_mixing_metrics_emitter_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/media/router/discovery/discovery_network_monitor_metric_observer_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/media/router/issue_manager_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/media/webrtc/native_desktop_media_list_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/media_galleries/mac/mtp_device_delegate_impl_mac_unittest.mm
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/media_galleries/media_galleries_preferences_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/notifications/notification_platform_bridge_win_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/profiling_host/background_profiling_triggers_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/ui/passwords/password_manager_presenter_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/ui/views/infobars/infobar_view_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/ui/views/media_router/cast_dialog_no_sinks_view_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/ui/views/media_router/cast_dialog_view_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/ui/views/media_router/cast_toolbar_button_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/ui/views/media_router/cloud_services_dialog_view_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/ui/views/omnibox/omnibox_result_view_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/ui/views/omnibox/omnibox_view_views_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/ui/views/toolbar/toolbar_action_view_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/ui/views/toolbar/toolbar_button_views_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/ui/webui/about_ui_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/vr/speech_recognizer_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/vr/test/vr_test_suite.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/browser/vr/test/vr_test_suite.h
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/chrome/test/views/chrome_views_test_base.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/components/cast_channel/cast_message_handler_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/components/safe_browsing/db/whitelist_checker_client_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/components/storage_monitor/image_capture_device_manager_unittest.mm
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/components/storage_monitor/media_storage_util_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/components/storage_monitor/storage_monitor_chromeos_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/components/sync/engine_impl/sync_scheduler_impl_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/content/browser/appcache/appcache_fuzzer.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/content/browser/appcache/chrome_appcache_service_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/content/browser/scheduler/browser_task_executor_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/content/public/test/test_browser_thread_bundle.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/content/public/test/test_browser_thread_bundle.h
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/content/public/test/test_browser_thread_bundle_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/ui/views/controls/webview/webview_unittest.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/ui/views/test/views_test_base.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/ui/views/test/views_test_base.h
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/ui/views/test/widget_test.cc
[modify] https://crrev.com/1052bb0ca304bbdc91feacbeafe1acc9fe8fda76/ui/views/test/widget_test.h

Comment 53 by bugdroid1@chromium.org, Dec 20

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

commit c782506d114d0ef6f02ac3b21f2d9e48a6407b13
Author: Karolina Soltys <ksolt@chromium.org>
Date: Thu Dec 20 12:37:50 2018

[scheduler] Exposing the native BelongsToCurrentThread in Java.

As part of an larger project to unify Java and C++ scheduling I am adding
BelongsToCurrentThread to Java SingleThreadTaskRunner. This will be used
to implement blocking behaviour for the Java methods which require it.

Bug: 863341
Change-Id: I9f471e699608ad70e1e50dd9bbe011f7ac7ae265
Reviewed-on: https://chromium-review.googlesource.com/c/1384046
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Karolina Soltys <ksolt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618184}
[modify] https://crrev.com/c782506d114d0ef6f02ac3b21f2d9e48a6407b13/base/android/java/src/org/chromium/base/task/SingleThreadTaskRunner.java
[modify] https://crrev.com/c782506d114d0ef6f02ac3b21f2d9e48a6407b13/base/android/java/src/org/chromium/base/task/SingleThreadTaskRunnerImpl.java
[modify] https://crrev.com/c782506d114d0ef6f02ac3b21f2d9e48a6407b13/base/android/javatests/src/org/chromium/base/task/SingleThreadTaskRunnerImplTest.java
[modify] https://crrev.com/c782506d114d0ef6f02ac3b21f2d9e48a6407b13/base/android/task_scheduler/task_runner_android.cc
[modify] https://crrev.com/c782506d114d0ef6f02ac3b21f2d9e48a6407b13/base/android/task_scheduler/task_runner_android.h

Comment 54 by bugdroid1@chromium.org, Jan 8

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

commit f1415b5b0707ecd644d66b46ba3f28a9fe81ae2f
Author: Alex Clarke <alexclarke@chromium.org>
Date: Tue Jan 08 15:02:31 2019

Allow ValidTraits to be 'inherited'

Real inheritance doesn't work with trait_helpers::AreValidTraits

I.e. this doesn't work:

struct ValidTraits {
  ValidTraits(TraitA);
};

struct ValidTraits2 : public ValidTraits {
  ValidTraits2(TraitB);
};


But we can make this work:

struct ValidTraits {
  ValidTraits(TraitA);
};

struct ValidTraits2 {
  ValidTraits2(ValidTraits);
  ValidTraits2(TraitB);
};

Unfortunately that doesn't work 3 levels deep, but it does fix
the requirements for the BrowserUIThreadScheduler.

Bug: 863341
Change-Id: I059c6db46be3363efcc57f1bee721e697231c888
Reviewed-on: https://chromium-review.googlesource.com/c/1400582
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620720}
[modify] https://crrev.com/f1415b5b0707ecd644d66b46ba3f28a9fe81ae2f/base/traits_bag.h
[modify] https://crrev.com/f1415b5b0707ecd644d66b46ba3f28a9fe81ae2f/base/traits_bag_unittest.cc

Comment 55 by bugdroid1@chromium.org, Jan 8

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

commit ea442b8cee7f38f903ad6fe84453d8f63fcccaab
Author: Karolina Soltys <ksolt@chromium.org>
Date: Tue Jan 08 17:32:49 2019

[scheduler] Simplifying TaskRunners for code health.

The various TaskRunner interfaces (TaskRunner, SequencedTaskRunner and
SingleThreadTaskRunner) had a lot of the same code, and the differences in
handling pre-native tasks were obfuscated. This is an attempt to simplify
them, which will facilitate further work on adding postDelayedTask.

Bug: 863341
Change-Id: I43c28287bddb8c91d4f67ca2887cb32b613b6bdb
Reviewed-on: https://chromium-review.googlesource.com/c/1386546
Commit-Queue: Karolina Soltys <ksolt@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620779}
[modify] https://crrev.com/ea442b8cee7f38f903ad6fe84453d8f63fcccaab/base/BUILD.gn
[delete] https://crrev.com/0c32a9a06d83f1eccc4e6f65bab9850e30689f53/base/android/java/src/org/chromium/base/task/PreNativeSequence.java
[modify] https://crrev.com/ea442b8cee7f38f903ad6fe84453d8f63fcccaab/base/android/java/src/org/chromium/base/task/SequencedTaskRunnerImpl.java
[modify] https://crrev.com/ea442b8cee7f38f903ad6fe84453d8f63fcccaab/base/android/java/src/org/chromium/base/task/SingleThreadTaskRunnerImpl.java
[modify] https://crrev.com/ea442b8cee7f38f903ad6fe84453d8f63fcccaab/base/android/java/src/org/chromium/base/task/TaskRunnerImpl.java
[delete] https://crrev.com/0c32a9a06d83f1eccc4e6f65bab9850e30689f53/base/android/task_scheduler/sequenced_task_runner_android.cc

Comment 56 by bugdroid1@chromium.org, Jan 17

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

commit a4c9dfa5915bf7be3988711651062cd2ee55f94f
Author: Karolina Soltys <ksolt@chromium.org>
Date: Thu Jan 17 19:37:35 2019

[scheduler] Adding to Java the PostDelayedTask interface with native.

As part of the ongoing process of unifying Java and C++ scheduling, I am
adding the functionality of posting delayed tasks.

Bug: 863341
Change-Id: I382a29579880d004cf25941df63888d09bf7f192
Reviewed-on: https://chromium-review.googlesource.com/c/1386845
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
Commit-Queue: Karolina Soltys <ksolt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623800}
[modify] https://crrev.com/a4c9dfa5915bf7be3988711651062cd2ee55f94f/base/android/java/src/org/chromium/base/task/DefaultTaskExecutor.java
[modify] https://crrev.com/a4c9dfa5915bf7be3988711651062cd2ee55f94f/base/android/java/src/org/chromium/base/task/PostTask.java
[modify] https://crrev.com/a4c9dfa5915bf7be3988711651062cd2ee55f94f/base/android/java/src/org/chromium/base/task/TaskExecutor.java
[modify] https://crrev.com/a4c9dfa5915bf7be3988711651062cd2ee55f94f/base/android/java/src/org/chromium/base/task/TaskRunner.java
[modify] https://crrev.com/a4c9dfa5915bf7be3988711651062cd2ee55f94f/base/android/java/src/org/chromium/base/task/TaskRunnerImpl.java
[modify] https://crrev.com/a4c9dfa5915bf7be3988711651062cd2ee55f94f/base/android/task_scheduler/post_task_android.cc
[modify] https://crrev.com/a4c9dfa5915bf7be3988711651062cd2ee55f94f/base/android/task_scheduler/task_runner_android.cc
[modify] https://crrev.com/a4c9dfa5915bf7be3988711651062cd2ee55f94f/base/android/task_scheduler/task_runner_android.h
[modify] https://crrev.com/a4c9dfa5915bf7be3988711651062cd2ee55f94f/base/test/android/javatests/src/org/chromium/base/test/task/SchedulerTestHelpers.java
[modify] https://crrev.com/a4c9dfa5915bf7be3988711651062cd2ee55f94f/content/public/android/java/src/org/chromium/content_public/browser/BrowserTaskExecutor.java
[modify] https://crrev.com/a4c9dfa5915bf7be3988711651062cd2ee55f94f/content/public/android/javatests/src/org/chromium/content/browser/scheduler/NativePostTaskTest.java

Comment 57 by bugdroid, Jan 31

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

commit 3bfe96344fc632fc2bc4809612b3e2e49b25e140
Author: Karolina Soltys <ksolt@chromium.org>
Date: Thu Jan 31 10:24:07 2019

[scheduler] Changing the UiThreadTaskTraits API to be static.

As part of the ongoing process of unifying Java and C++ scheduling, I am
changing the UiThreadTaskTraits API to be static. This will be useful in
migrating the callers of ThreadUtils.postOnUiThread to PostTask.postTask
(they won't have to allocate an instance of UiThreadTaskTraits) and be
more in compliance with the content_public policy.

Bug: 863341
Change-Id: I1b8a96889a3ce087a1937e96586b8bf2820b8f4f
Reviewed-on: https://chromium-review.googlesource.com/c/1426693
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Karolina Soltys <ksolt@chromium.org>
Auto-Submit: Karolina Soltys <ksolt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#627883}
[modify] https://crrev.com/3bfe96344fc632fc2bc4809612b3e2e49b25e140/base/android/java/src/org/chromium/base/task/TaskTraits.java
[modify] https://crrev.com/3bfe96344fc632fc2bc4809612b3e2e49b25e140/content/public/android/BUILD.gn
[add] https://crrev.com/3bfe96344fc632fc2bc4809612b3e2e49b25e140/content/public/android/java/src/org/chromium/content/browser/UiThreadTaskTraitsImpl.java
[modify] https://crrev.com/3bfe96344fc632fc2bc4809612b3e2e49b25e140/content/public/android/java/src/org/chromium/content_public/browser/BrowserTaskExecutor.java
[modify] https://crrev.com/3bfe96344fc632fc2bc4809612b3e2e49b25e140/content/public/android/java/src/org/chromium/content_public/browser/UiThreadTaskTraits.java
[modify] https://crrev.com/3bfe96344fc632fc2bc4809612b3e2e49b25e140/content/public/android/javatests/src/org/chromium/content/browser/scheduler/UiThreadSchedulerTest.java

Comment 58 by bugdroid, Jan 31

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

commit 19e2c81d9db649a2cd2df156230df20de2f77729
Author: Karolina Soltys <ksolt@chromium.org>
Date: Thu Jan 31 18:57:52 2019

[scheduler] Disabling lifetime checking for BrowserTaskExecutor.

Lifetime checking, a recent addition to TaskRunners used for testing, needs
to be disabled in the TaskRunners created by BrowserTaskExecutor, the same
way it's currently happening for DefaultTaskExecutor.

Bug: 863341
Change-Id: I73025fb82bb289ce18486eb4121e077133070c72
Reviewed-on: https://chromium-review.googlesource.com/c/1447812
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Karolina Soltys <ksolt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#628025}
[modify] https://crrev.com/19e2c81d9db649a2cd2df156230df20de2f77729/base/android/java/src/org/chromium/base/task/TaskRunner.java
[modify] https://crrev.com/19e2c81d9db649a2cd2df156230df20de2f77729/base/android/java/src/org/chromium/base/task/TaskRunnerImpl.java
[modify] https://crrev.com/19e2c81d9db649a2cd2df156230df20de2f77729/content/public/android/java/src/org/chromium/content_public/browser/BrowserTaskExecutor.java

Comment 59 by bugdroid, Jan 31

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

commit c5e0aea23c4827bdf7560a6a31aee33d4332eebc
Author: Karolina Soltys <ksolt@chromium.org>
Date: Thu Jan 31 19:02:22 2019

[scheduler] Migrating call sites to postDelayedTask where possible.

As part of the ongoing process of unifying Java and C++ scheduling, I am
migrating the callers of ThreadUtils.postOnUiThreadDelayed to
PostTask.postDelayedTask, if they are allowed to import content_utils.

Bug: 863341
Change-Id: If6a485c25a30428a45c6775207422974ca5e6fe8
Reviewed-on: https://chromium-review.googlesource.com/c/1402769
Auto-Submit: Karolina Soltys <ksolt@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Karolina Soltys <ksolt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#628027}
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/android_webview/javatests/src/org/chromium/android_webview/test/VisualStateTest.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/base/android/java/src/org/chromium/base/task/TaskRunner.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/TestNetworkClient.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantCoordinator.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/java/src/org/chromium/chrome/browser/installedapp/InstalledAppProviderImpl.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/CustomTabToolbar.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/java/src/org/chromium/chrome/browser/tracing/TracingController.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDelegateFallback.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/java/src/org/chromium/chrome/browser/vr/VrFallbackUtils.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/chrome/android/javatests/src/org/chromium/chrome/browser/media/router/MockMediaRouteProvider.java
[modify] https://crrev.com/c5e0aea23c4827bdf7560a6a31aee33d4332eebc/content/public/android/javatests/src/org/chromium/content/browser/scheduler/NativePostTaskTest.java

Comment 60 by bugdroid, Jan 31

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef

commit 22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef
Author: Karolina Soltys <ksolt@chromium.org>
Date: Thu Jan 31 20:27:25 2019

[scheduler] Migrating call sites of postOnUiThread where possible.

As part of the ongoing process of unifying Java and C++ scheduling, I am
migrating the callers of ThreadUtils.postOnUiThread to PostTask.postTask,
if they are allowed to import content_utils.

Bug: 863341
Change-Id: Ib925425ee5bd9a179aa775829f2d4f6d08fa32e0
Reviewed-on: https://chromium-review.googlesource.com/c/1432841
Commit-Queue: Karolina Soltys <ksolt@chromium.org>
Auto-Submit: Karolina Soltys <ksolt@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#628061}
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/android_webview/glue/java/src/com/android/webview/chromium/SharedStatics.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/android_webview/java/src/org/chromium/android_webview/AwGeolocationPermissions.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/android_webview/javatests/src/org/chromium/android_webview/test/VisualStateTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedImageLoader.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/ServiceTabLauncher.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillNameFixFlowBridge.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/NativeBackgroundTask.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/browserservices/PostMessageHandler.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountService.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuHelper.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/crypto/CipherFactory.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleCoordinator.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/feature_engagement/ScreenshotMonitor.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/feedback/ConnectivityChecker.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/feedback/ConnectivityTask.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/feedback/StaticScreenshotSource.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/firstrun/DefaultSearchEngineFirstRunFragment.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/infobar/DownloadProgressInfoBar.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ScrollToLoadListener.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentInstrument.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentAppBridge.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/payments/SettingsAutofillAndPaymentsObserver.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/preferences/ManageSyncPreferences.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncAndServicesPreferences.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/DialogManager.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/search_engines/TemplateUrlService.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/GcmUma.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/InvalidationGcmUpstreamSender.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/sync/ui/SyncCustomizationFragment.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateImpl.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarButtonInProductHelpController.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShell.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappActivity.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/java/src/org/chromium/chrome/browser/widget/ThumbnailProviderImpl.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/ServicificationBackgroundService.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/OriginVerifierTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/TrustedCdnPublisherUrlTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/feature_engagement/ScreenshotMonitorTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/feed/ConsumerSyncWrapper.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/hardware_acceleration/ToastHWATest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/hardware_acceleration/Utils.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/init/ChainedTasksTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NtpUiCaptureTestData.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/top/BrandColorTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/suggestions/FakeSuggestionsSource.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/content/public/android/java/src/org/chromium/content/app/ContentChildProcessServiceDelegate.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/content/public/android/java/src/org/chromium/content/browser/BrowserStartupControllerImpl.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/content/public/android/java/src/org/chromium/content/browser/androidoverlay/DialogOverlayImpl.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/content/public/android/java/src/org/chromium/content/browser/selection/LGEmailActionModeWorkaroundImpl.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/content/public/android/javatests/src/org/chromium/content/browser/BrowserStartupControllerTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/content/public/android/javatests/src/org/chromium/content/browser/ContentTextSelectionTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/content/public/android/javatests/src/org/chromium/content/browser/scheduler/UiThreadSchedulerTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/content/public/android/javatests/src/org/chromium/content/browser/webcontents/WebContentsTest.java
[modify] https://crrev.com/22a4104e8e25c3bec1a47f3ae7ec7e0ae9d40aef/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java

Comment 61 by bugdroid, Feb 6

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8fb11c9be997f93dfb75712ddb95143ea41b41b9

commit 8fb11c9be997f93dfb75712ddb95143ea41b41b9
Author: Alex Clarke <alexclarke@chromium.org>
Date: Wed Feb 06 12:10:38 2019

Fix NativeBrowserTestActivity and multiple onStarts

NativeBrowserTestActivity.onStart will be called twice,
once due to ActivityThread.handleStartActivity and once
due to ActivityThread.handleWindowVisibility which calls
Activity.performRestart.

Usually the tests exit before the task posted by
NativeTest.postTask runs, but if they don't really bad
things happen.

Needed to land the BrowserUIThreadScheduler patch.

Bug: 863341
Change-Id: Iba19248ec2bbdfcd12a2e75f176a4c7e25de2662
Reviewed-on: https://chromium-review.googlesource.com/c/1455997
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629535}
[modify] https://crrev.com/8fb11c9be997f93dfb75712ddb95143ea41b41b9/testing/android/native_test/java/src/org/chromium/native_test/NativeBrowserTestActivity.java

Comment 62 by bugdroid, Feb 6

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

commit 4e1204029dc933d06749c83fa4cbd3841871a812
Author: Sami Kyostila <skyostil@chromium.org>
Date: Wed Feb 06 15:56:17 2019

android: Deal with child process termination before launch has concluded

If BrowserChildProcessHostImpl is deleted before a pending child process
launch has finished, child process disconnection can be notified without
a valid process id for the child process. This patch changes the child
exit observer to deal with this case. By code inspection both clients of
this class (AwBrowserTerminator, ChildProcessCrashObserver) can already
deal with notifications without a valid process id.

Bug: 863341
Change-Id: I4237b1df68072263916e31dd23684519b6810bd4
Reviewed-on: https://chromium-review.googlesource.com/c/1455944
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629587}
[modify] https://crrev.com/4e1204029dc933d06749c83fa4cbd3841871a812/components/crash/content/browser/child_exit_observer_android.cc
[modify] https://crrev.com/4e1204029dc933d06749c83fa4cbd3841871a812/components/crash/content/browser/child_exit_observer_android.h

Comment 63 by bugdroid, Feb 6

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

commit 6e0c86f477265c3cfd5bd9f65acabd19220914fe
Author: Alex Clarke <alexclarke@chromium.org>
Date: Wed Feb 06 20:24:33 2019

Remove redundant MessageLoop from audio_apitest.cc

Bug: 863341
Change-Id: I59bcc9eb6313bf23b9c4131c467d89eb72d59701
Reviewed-on: https://chromium-review.googlesource.com/c/1456056
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Toni Baržić <tbarzic@chromium.org>
Commit-Queue: Toni Baržić <tbarzic@chromium.org>
Auto-Submit: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629707}
[modify] https://crrev.com/6e0c86f477265c3cfd5bd9f65acabd19220914fe/extensions/browser/api/audio/audio_apitest.cc

Comment 64 by bugdroid, Feb 7

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

commit e141a5e4131a5622216111228352396a68bd96ab
Author: Sami Kyostila <skyostil@chromium.org>
Date: Thu Feb 07 01:06:17 2019

gpu: Fix race when establishing GPU channel

This patch fixes a crash when a GPU channel is established on the IO
thread while the BrowserGpuChannelHostFactory is being terminated on the
UI thread. If the factory has gone away when the channel is established,
don't try to set another timeout to re-establish it.

Bug: 863341
Change-Id: I084de6110d0de3a1eedf29d81211eb62405f1376
Reviewed-on: https://chromium-review.googlesource.com/c/1456061
Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629820}
[modify] https://crrev.com/e141a5e4131a5622216111228352396a68bd96ab/content/browser/gpu/browser_gpu_channel_host_factory.cc

Comment 65 by bugdroid, Feb 7

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

commit 6dbe9498237691d966ffe28f188d187402071034
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Feb 07 13:19:33 2019

Add tasks traits for BrowserUIThreadScheduler

Add a new task trait to tell the future BrowserUIThreadScheduler which
tasks are critical for startup and allow it to prioritize them
accordingly.

Design doc: https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit#

Bug: 863341, 872372
Change-Id: Ifb082762726fbda951325802faf82f1dacf219cc
Reviewed-on: https://chromium-review.googlesource.com/c/1454632
Commit-Queue: Carlos Caballero <carlscab@google.com>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629944}
[modify] https://crrev.com/6dbe9498237691d966ffe28f188d187402071034/content/public/android/BUILD.gn
[modify] https://crrev.com/6dbe9498237691d966ffe28f188d187402071034/content/public/android/java/src/org/chromium/content/browser/UiThreadTaskTraitsImpl.java
[modify] https://crrev.com/6dbe9498237691d966ffe28f188d187402071034/content/public/android/java/src/org/chromium/content_public/browser/UiThreadTaskTraits.java
[modify] https://crrev.com/6dbe9498237691d966ffe28f188d187402071034/content/public/browser/browser_task_traits.h

Comment 66 by bugdroid, Feb 8

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1490981eadea27eeaaaddfb31d1d6f5a7940a423

commit 1490981eadea27eeaaaddfb31d1d6f5a7940a423
Author: Sami Kyostila <skyostil@chromium.org>
Date: Fri Feb 08 11:34:07 2019

content_browsertests: Ensure crash stack trace gets logged on Android

When a fatal signal is received in a content_browsertest, make sure the
stack trace is logged to both the (redirected) error log as well as the
system log (logcat) on Android. Previously the crash was only written to
logcat where we don't have any other log messages from the test for
context.

TBR=sky@chromium.org

Bug: 863341
Change-Id: I913f099a7f2ec976db986d3d648cbbcf51839847
Reviewed-on: https://chromium-review.googlesource.com/c/1456079
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#630274}
[modify] https://crrev.com/1490981eadea27eeaaaddfb31d1d6f5a7940a423/content/public/test/browser_test_base.cc

Comment 67 by bugdroid, Feb 8

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

commit d8c09cb1b49d082a3e9e3487fc997345824cea8f
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Feb 08 18:52:13 2019

Simplify SequenceManager construction

We move the iOS / Android AttachToMessagePump method internally and
change sequence_manager::CreateUnboundSequenceManager to create a
ThreadControllerWithMessagePumpImpl since the message loop variant is
unused.  It's still possible to create a SequenceManager on top of
the current MessageLoop via CreateSequenceManagerOnCurrentThread.

Bug: 872372, 863341
Change-Id: I7459c29b5cf80a47720ae9781347bf55c7c75ac0
Reviewed-on: https://chromium-review.googlesource.com/c/1458197
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Auto-Submit: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#630403}
[modify] https://crrev.com/d8c09cb1b49d082a3e9e3487fc997345824cea8f/base/message_loop/message_loop.cc
[modify] https://crrev.com/d8c09cb1b49d082a3e9e3487fc997345824cea8f/base/message_loop/message_loop.h
[modify] https://crrev.com/d8c09cb1b49d082a3e9e3487fc997345824cea8f/base/message_loop/message_loop_current.cc
[modify] https://crrev.com/d8c09cb1b49d082a3e9e3487fc997345824cea8f/base/message_loop/message_loop_current.h
[modify] https://crrev.com/d8c09cb1b49d082a3e9e3487fc997345824cea8f/base/task/sequence_manager/sequence_manager.h
[modify] https://crrev.com/d8c09cb1b49d082a3e9e3487fc997345824cea8f/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/d8c09cb1b49d082a3e9e3487fc997345824cea8f/base/task/sequence_manager/sequence_manager_impl.h
[modify] https://crrev.com/d8c09cb1b49d082a3e9e3487fc997345824cea8f/base/task/sequence_manager/sequence_manager_impl_unittest.cc
[modify] https://crrev.com/d8c09cb1b49d082a3e9e3487fc997345824cea8f/base/task/sequence_manager/test/sequence_manager_for_test.cc
[modify] https://crrev.com/d8c09cb1b49d082a3e9e3487fc997345824cea8f/base/task/sequence_manager/time_domain_unittest.cc
[modify] https://crrev.com/d8c09cb1b49d082a3e9e3487fc997345824cea8f/base/task/sequence_manager/work_queue_unittest.cc

Comment 69 by 42576172...@developer.gserviceaccount.com, Feb 11

Project Member

Comment 70 by bugdroid, Feb 12 (6 days ago)

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/79d0ae0eba0db8c7423677b4c7bbef4227816ab5

commit 79d0ae0eba0db8c7423677b4c7bbef4227816ab5
Author: Carlos Caballero <carlscab@google.com>
Date: Tue Feb 12 11:04:21 2019

Add method to add/extract extensions to/from TaskTraits

Extension writers will have to implement the new
TaskTraitsExtensionDescriptor and keep it in sync with the corresponding
cpp code.

Bug: 863341
Change-Id: Ib55433feaf47616cb9c9b793f546a0e47e977111
Reviewed-on: https://chromium-review.googlesource.com/c/1461031
Commit-Queue: Carlos Caballero <carlscab@google.com>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631173}
[modify] https://crrev.com/79d0ae0eba0db8c7423677b4c7bbef4227816ab5/base/BUILD.gn
[modify] https://crrev.com/79d0ae0eba0db8c7423677b4c7bbef4227816ab5/base/android/java/src/org/chromium/base/task/TaskTraits.java
[add] https://crrev.com/79d0ae0eba0db8c7423677b4c7bbef4227816ab5/base/android/java/src/org/chromium/base/task/TaskTraitsExtensionDescriptor.java
[add] https://crrev.com/79d0ae0eba0db8c7423677b4c7bbef4227816ab5/base/android/junit/src/org/chromium/base/task/TaskTraitsTest.java

Comment 71 by skyos...@chromium.org, Feb 12 (6 days ago)

Blockedon: 931168

Comment 72 by 42576172...@developer.gserviceaccount.com, Feb 12 (6 days ago)

Project Member

Comment 73 by 42576172...@developer.gserviceaccount.com, Feb 12 (6 days ago)

Project Member

Comment 74 by bugdroid, Feb 12 (6 days ago)

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

commit fbee54dcb6e2fb30a62371f3cdbefd23e7832698
Author: Carlos Caballero <carlscab@google.com>
Date: Tue Feb 12 15:28:25 2019

Use int for extensionId in PostTask

Bug: 863341
Change-Id: I0463ee243b37fbc44a47b3f0d2de051cac4f333e
Reviewed-on: https://chromium-review.googlesource.com/c/1466601
Auto-Submit: Carlos Caballero <carlscab@google.com>
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631230}
[modify] https://crrev.com/fbee54dcb6e2fb30a62371f3cdbefd23e7832698/base/android/java/src/org/chromium/base/task/PostTask.java

Comment 75 by 42576172...@developer.gserviceaccount.com, Feb 12 (6 days ago)

Project Member

Comment 76 by 42576172...@developer.gserviceaccount.com, Feb 12 (6 days ago)

Project Member

Comment 77 by bugdroid, Feb 15 (3 days ago)

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/00c5639df892ce837b9cda20a66821a33a54b7ed

commit 00c5639df892ce837b9cda20a66821a33a54b7ed
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Feb 15 20:22:56 2019

Let base::Thread::Options pass in an unbound MessageLoopBase

This allows us to construct a SequenceManager and vend task queues
before launching a thread.  This should be useful in blink for
launching workers (which currently have a worker scheduler on top of a
MessageLoop), if we need an IO Thread scheduler (it looks like we might
the IO thread is congested during startup) and for the BrowserThreadTest
with a BrowserUIThreadScheduler.

The message_pump_factory_ was added to base::Thread to support these
two use cases:
https://cs.chromium.org/search/?q=message_pump_factory&type=cs

Bug: 863341, 872372
Change-Id: Ic30052e8af4a9351467792e70b7d7b65027d8a9a
Reviewed-on: https://chromium-review.googlesource.com/c/1462801
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Auto-Submit: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632741}
[modify] https://crrev.com/00c5639df892ce837b9cda20a66821a33a54b7ed/base/message_loop/message_loop.cc
[modify] https://crrev.com/00c5639df892ce837b9cda20a66821a33a54b7ed/base/message_loop/message_loop.h
[modify] https://crrev.com/00c5639df892ce837b9cda20a66821a33a54b7ed/base/message_loop/message_loop_unittest.cc
[modify] https://crrev.com/00c5639df892ce837b9cda20a66821a33a54b7ed/base/message_loop/message_pump_perftest.cc
[modify] https://crrev.com/00c5639df892ce837b9cda20a66821a33a54b7ed/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/00c5639df892ce837b9cda20a66821a33a54b7ed/base/task/sequence_manager/sequence_manager_impl.h
[modify] https://crrev.com/00c5639df892ce837b9cda20a66821a33a54b7ed/base/threading/thread.cc
[modify] https://crrev.com/00c5639df892ce837b9cda20a66821a33a54b7ed/base/threading/thread.h
[modify] https://crrev.com/00c5639df892ce837b9cda20a66821a33a54b7ed/base/threading/thread_unittest.cc
[modify] https://crrev.com/00c5639df892ce837b9cda20a66821a33a54b7ed/content/renderer/render_thread_impl.cc

Comment 78 by bugdroid, Feb 15 (3 days ago)

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4779e4bdc77a30551d65657964947d67c4a8cf1d

commit 4779e4bdc77a30551d65657964947d67c4a8cf1d
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Feb 15 22:32:03 2019

Move MessageLoopForUI creation to BrowserTaskExecutor::Create

This is in preparation for the BrowserUIThreadScheduler where we
hope to have only one location where it's set up.

Bug: 863341, 872372
Change-Id: Ia7c07adc1d60280f2aed25f5226bfce80c6aba4b
Reviewed-on: https://chromium-review.googlesource.com/c/1461393
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632797}
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/chrome/browser/chrome_browser_main_android.cc
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/chrome/browser/chrome_browser_main_android.h
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/content/app/content_main_runner_impl.cc
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/content/app/content_main_runner_impl.h
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/content/browser/browser_main_loop.cc
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/content/browser/browser_main_loop.h
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/content/browser/browser_thread_impl.cc
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/content/browser/browser_thread_unittest.cc
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/content/browser/scheduler/browser_task_executor.cc
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/content/browser/scheduler/browser_task_executor.h
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/content/browser/scheduler/browser_task_executor_unittest.cc
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/content/public/test/browser_test_base.cc
[modify] https://crrev.com/4779e4bdc77a30551d65657964947d67c4a8cf1d/content/public/test/test_browser_thread_bundle.cc

Comment 79 by bugdroid, Today (12 hours ago)

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/831ed1e63326b7ee3779561914727eb5aa158c6e

commit 831ed1e63326b7ee3779561914727eb5aa158c6e
Author: Alex Clarke <alexclarke@chromium.org>
Date: Mon Feb 18 21:10:08 2019

Add a BrowserUIThreadScheduler

This 'scheduler' currently is a strict FIFO and task execution order will not change.

Design doc: https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit#

Bug: 863341, 872372, 932857
Change-Id: Ifcf17d6438ec97adc721053b446de48d59935726
Reviewed-on: https://chromium-review.googlesource.com/c/1429120
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#633145}
[modify] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/base/test/scoped_task_environment.cc
[modify] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/base/test/scoped_task_environment.h
[modify] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/browser/BUILD.gn
[modify] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/browser/browser_thread_unittest.cc
[modify] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/browser/scheduler/browser_task_executor.cc
[modify] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/browser/scheduler/browser_task_executor.h
[modify] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/browser/scheduler/browser_task_executor_unittest.cc
[add] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/browser/scheduler/browser_ui_thread_scheduler.cc
[add] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/browser/scheduler/browser_ui_thread_scheduler.h
[add] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/browser/scheduler/browser_ui_thread_scheduler_unittest.cc
[add] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/browser/scheduler/browser_ui_thread_task_queue.cc
[add] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/browser/scheduler/browser_ui_thread_task_queue.h
[modify] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/public/test/test_browser_thread_bundle.cc
[modify] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/public/test/test_browser_thread_bundle.h
[modify] https://crrev.com/831ed1e63326b7ee3779561914727eb5aa158c6e/content/test/BUILD.gn

Sign in to add a comment