This is a tracking bug for work described in this Design Doc: https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit#
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
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
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
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
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
On second thoughts lets keep this separate from the design review bug.
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
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
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
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
Issue 660078 has been merged into this issue.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 1 by skyos...@chromium.org
, Jul 13