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

Issue metadata

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

Blocked on:
issue 901345
issue 912273
issue 928285



Sign in to add a comment
link

Issue 891670: Get rid of MessageLoop

Reported by kraynov@chromium.org, Oct 3 Project Member

Issue description

Showing comments 67 - 166 of 166 Older

Comment 67 by bugdroid1@chromium.org, Nov 29

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

commit fc5105a05af194c15ba6bfad59af96df3d6e6630
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Nov 29 14:41:20 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in discardable_memory

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I7b07813a9fe1a48bfe4f268d96c5cbe3fb0f8542
Reviewed-on: https://chromium-review.googlesource.com/c/1352777
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#612186}
[modify] https://crrev.com/fc5105a05af194c15ba6bfad59af96df3d6e6630/components/discardable_memory/service/BUILD.gn
[modify] https://crrev.com/fc5105a05af194c15ba6bfad59af96df3d6e6630/components/discardable_memory/service/discardable_shared_memory_manager_unittest.cc

Comment 68 by bugdroid1@chromium.org, Nov 29

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

commit a46727d693cff10590da54afaa03e7c4bb8e8ef1
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Nov 29 15:43:11 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in ntp_tiles

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I6b2246cf59b8454ab0a6522bc7825bbcd9e76e12
Reviewed-on: https://chromium-review.googlesource.com/c/1352368
Reviewed-by: Marc Treib <treib@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#612207}
[modify] https://crrev.com/a46727d693cff10590da54afaa03e7c4bb8e8ef1/components/ntp_tiles/most_visited_sites_unittest.cc
[modify] https://crrev.com/a46727d693cff10590da54afaa03e7c4bb8e8ef1/components/ntp_tiles/popular_sites_impl_unittest.cc

Comment 69 by bugdroid1@chromium.org, Nov 29

Project Member

Comment 70 by bugdroid1@chromium.org, Nov 29

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

commit 5a1892bd47713d9e88dcca226017f3a9234c5b53
Author: Sami Kyostila <skyostil@chromium.org>
Date: Thu Nov 29 19:23:40 2018

Remove MessageLoop{UI,IO}::{current,IsCurrent}()

This patch removes the deprecated
MessageLoop{UI,IO}::{current,IsCurrent} functions and rewrites clients
to MessageLoopCurrentFor{UI,IO}::{Current,IsSet}.

No functional changes.

# chrome/
TBR=sky@chromium.org
# extensions/
TBR=finnur@chromium.org
# net/
TBR=morlovich@chromium.org
# remoting/
TBR=garykac@chromium.org
# services/
TBR=rockot@google.com
# ui/
TBR=sadrul@chromium.org

Bug: 891670
Change-Id: I283cd67940e21e5b737d566a2ac351b69756e176
Reviewed-on: https://chromium-review.googlesource.com/c/1354010
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Finnur Thorarinsson <finnur@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Gary Kacmarcik <garykac@chromium.org>
Reviewed-by: Joe Mason <joenotcharles@google.com>
Commit-Queue: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612307}
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/base/message_loop/message_loop.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/base/message_loop/message_loop.h
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/base/power_monitor/power_monitor_device_source_win.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/base/threading/thread.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/chrome_browser_main.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/chromeos/login/lock/screen_locker.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/chromeos/login/login_ui_keyboard_browsertest.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/chromeos/login/test/wizard_in_process_browser_test.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/printing/print_job.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/safe_browsing/browser_feature_extractor_unittest.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/ui/ash/chrome_screenshot_grabber.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/ui/ash/media_client.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/ui/views/chrome_views_delegate_chromeos.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/ui/views/menu_model_adapter_test.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/ui/views/simple_message_box_views.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/browser/ui/views/uninstall_view.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/chrome_cleaner/logging/pending_logs_service.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/chrome/test/chromedriver/chrome/adb_impl.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/extensions/shell/test/shell_test.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/net/cert/cert_database_mac.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/net/cert_net/nss_ocsp.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/net/dns/dns_reloader.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/net/http/transport_security_persister_unittest.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/net/url_request/url_request_filter.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/remoting/host/desktop_process.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/remoting/host/win/rdp_client.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/services/device/screen_orientation/screen_orientation_listener_android.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/base/clipboard/clipboard_win.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/base/ime/win/tsf_bridge.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/base/ime/win/tsf_input_scope.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/base/material_design/material_design_controller.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/base/test/scoped_fake_nswindow_fullscreen.mm
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/base/test/ui_controls_mac.mm
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/gfx/animation/animation_mac.mm
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/gfx/font_fallback_win.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/gfx/win/singleton_hwnd.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/ozone/platform/wayland/wayland_connection.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/snapshot/screenshot_grabber.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/views/controls/menu/menu_controller_unittest.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/views/controls/textfield/textfield_model.cc
[modify] https://crrev.com/5a1892bd47713d9e88dcca226017f3a9234c5b53/ui/views/widget/desktop_aura/x11_whole_screen_move_loop.cc

Comment 71 by bugdroid1@chromium.org, Nov 29

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

commit 09d533d17724258dcff5fd97d91c94bc10cc88e4
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Nov 29 23:45:55 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in favicon

Use ScopedTaskEnvironment instead of MessageLoop in
favicon_service_impl_unittest.cc

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I05f9b446058cdfe5e649e821fc8d87ac3e6ec764
Reviewed-on: https://chromium-review.googlesource.com/c/1352365
Reviewed-by: Peter Kotwicz <pkotwicz@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#612441}
[modify] https://crrev.com/09d533d17724258dcff5fd97d91c94bc10cc88e4/components/favicon/core/favicon_service_impl_unittest.cc

Comment 72 by bugdroid1@chromium.org, Nov 30

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

commit 50964bae4672721e95425254d5ad076590b2e599
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Nov 30 00:01:00 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in image_fetcher

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I9d8c29ddf02aee41b2c2f706dca49b60763ea0a2
Reviewed-on: https://chromium-review.googlesource.com/c/1353883
Reviewed-by: Filip Gorski <fgorski@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#612447}
[modify] https://crrev.com/50964bae4672721e95425254d5ad076590b2e599/components/image_fetcher/core/image_data_fetcher_unittest.cc

Comment 73 by bugdroid1@chromium.org, Nov 30

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

commit d4d889015728595e129db0eccff4bc9069ee6f7a
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Nov 30 00:12:04 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in search_engines

MessageLoop will go away, eventually.

BUG=891670

Change-Id: Ifdf986c9fa4b0fd1b6de3c7f907aae9a3672894b
Reviewed-on: https://chromium-review.googlesource.com/c/1352425
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#612452}
[modify] https://crrev.com/d4d889015728595e129db0eccff4bc9069ee6f7a/components/search_engines/search_engine_data_type_controller_unittest.cc

Comment 74 by bugdroid1@chromium.org, Nov 30

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

commit ff4a8da83b9dfde02c62ba2e9e339493df24959a
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Nov 30 09:58:11 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in feature_engagement

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I81882f7148677e303550d5dc13bfffb74715ac57
Reviewed-on: https://chromium-review.googlesource.com/c/1352779
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#612605}
[modify] https://crrev.com/ff4a8da83b9dfde02c62ba2e9e339493df24959a/components/feature_engagement/internal/in_memory_event_store_unittest.cc
[modify] https://crrev.com/ff4a8da83b9dfde02c62ba2e9e339493df24959a/components/feature_engagement/internal/never_availability_model_unittest.cc
[modify] https://crrev.com/ff4a8da83b9dfde02c62ba2e9e339493df24959a/components/feature_engagement/internal/tracker_impl_unittest.cc

Comment 75 by bugdroid1@chromium.org, Nov 30

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

commit faee46f66da048f0e38c2645d81003fd78574346
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Nov 30 11:03:35 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in invalidation

MessageLoop will go away, eventually.

BUG=891670

Change-Id: Ia3cab69f49adc2efd6cdec851186254aeb6e6e54
Reviewed-on: https://chromium-review.googlesource.com/c/1352756
Commit-Queue: Carlos Caballero <carlscab@google.com>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612612}
[modify] https://crrev.com/faee46f66da048f0e38c2645d81003fd78574346/components/invalidation/impl/fcm_invalidation_listener_unittest.cc
[modify] https://crrev.com/faee46f66da048f0e38c2645d81003fd78574346/components/invalidation/impl/gcm_invalidation_bridge_unittest.cc
[modify] https://crrev.com/faee46f66da048f0e38c2645d81003fd78574346/components/invalidation/impl/non_blocking_invalidator_unittest.cc
[modify] https://crrev.com/faee46f66da048f0e38c2645d81003fd78574346/components/invalidation/impl/per_user_topic_registration_manager_unittest.cc
[modify] https://crrev.com/faee46f66da048f0e38c2645d81003fd78574346/components/invalidation/impl/per_user_topic_registration_request_unittest.cc
[modify] https://crrev.com/faee46f66da048f0e38c2645d81003fd78574346/components/invalidation/impl/registration_manager_unittest.cc
[modify] https://crrev.com/faee46f66da048f0e38c2645d81003fd78574346/components/invalidation/impl/sync_invalidation_listener_unittest.cc
[modify] https://crrev.com/faee46f66da048f0e38c2645d81003fd78574346/components/invalidation/impl/sync_system_resources_unittest.cc
[modify] https://crrev.com/faee46f66da048f0e38c2645d81003fd78574346/components/invalidation/impl/ticl_profile_settings_provider_unittest.cc

Comment 76 by bugdroid1@chromium.org, Nov 30

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

commit 1bcce9b26597a42455b6be507f6361bda01e90e7
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Nov 30 14:19:01 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in browsing_data

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I5911ca044c8632a77ed851a148892db34e8ed7c6
Reviewed-on: https://chromium-review.googlesource.com/c/1352416
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Reviewed-by: Mihai Sardarescu <msarda@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#612639}
[modify] https://crrev.com/1bcce9b26597a42455b6be507f6361bda01e90e7/components/browsing_data/core/browsing_data_utils_unittest.cc
[modify] https://crrev.com/1bcce9b26597a42455b6be507f6361bda01e90e7/components/browsing_data/core/counters/browsing_data_counter_unittest.cc
[modify] https://crrev.com/1bcce9b26597a42455b6be507f6361bda01e90e7/components/browsing_data/core/history_notice_utils_unittest.cc

Comment 77 by bugdroid1@chromium.org, Nov 30

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

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

Fix race in shutdown of ServiceWorkerVersionBrowserTest.UpdateBypassesCacheAfter24Hours

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

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

Comment 78 by bugdroid1@chromium.org, Nov 30

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

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

LazilyDeallocatedDeque to use TimeTicksNowIgnoringOverride

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

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

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

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

Comment 79 by bugdroid1@chromium.org, Nov 30

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

commit 8b7b9fc52dcc692a37f0907a4457aa456028efff
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Nov 30 18:16:30 2018

Fix MessageLoopTest.DeleteUnboundLoop with SequenceManager

Currently the SequenceManager is being too restrictive for this
test, so we relax our check slightly.

Bug: 891670
Change-Id: I0cebd070971e0272624b7bd05165ec64404b8f1a
Reviewed-on: https://chromium-review.googlesource.com/c/1357080
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612701}
[modify] https://crrev.com/8b7b9fc52dcc692a37f0907a4457aa456028efff/base/task/sequence_manager/task_queue_impl.cc

Comment 80 by bugdroid1@chromium.org, Nov 30

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

commit c556e646fb38847c0acb0f10e56c2827825d64f4
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Nov 30 18:53:34 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in storage_monitor

MessageLoop will go away, eventually.

BUG=891670

Change-Id: Ic4740c19ad445bb1974f12876732829b88148a01
Reviewed-on: https://chromium-review.googlesource.com/c/1352782
Reviewed-by: Tommy Li <tommycli@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#612713}
[modify] https://crrev.com/c556e646fb38847c0acb0f10e56c2827825d64f4/components/storage_monitor/storage_monitor_unittest.cc

Comment 81 by bugdroid1@chromium.org, Nov 30

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

commit 1ef457d1b9ce1c2372cc8b37725e6e424c5c4efe
Author: Wez <wez@chromium.org>
Date: Fri Nov 30 19:59:38 2018

Revert "Feature to run Blink main thread using SequenceManager"

This reverts commit 66fbaed95264740edc1ba7c51ab7b5401a31aeb2.

Reason for revert: Revert required to allow https://chromium-review.googlesource.com/c/chromium/src/+/1354919 to be reverted cleanly for issue 910645.

Original change's description:
> Feature to run Blink main thread using SequenceManager
>
> This will enable us to start trialing the MessageLoop replacement by
> SequenceManager.
>
> We only do this in the Blink main thread for now. There is some work
> needed around SequenceManager ownership to be done before this can be
> enabled in worker threads.
>
>
> Bug: 891670
> Change-Id: I1e59784ff35c87883a66d9b315435bf47cd0f809
> Reviewed-on: https://chromium-review.googlesource.com/c/1349316
> Reviewed-by: Alex Clarke <alexclarke@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Alexander Timin <altimin@chromium.org>
> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
> Commit-Queue: Carlos Caballero <carlscab@google.com>
> Cr-Commit-Position: refs/heads/master@{#612185}

TBR=dcheng@chromium.org,skyostil@chromium.org,alexclarke@chromium.org,altimin@chromium.org,carlscab@google.com

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

Bug: 910645, 891670
Change-Id: I3529309984cd61dfef8a10e49129d364efabcf1f
Reviewed-on: https://chromium-review.googlesource.com/c/1357016
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612737}
[modify] https://crrev.com/1ef457d1b9ce1c2372cc8b37725e6e424c5c4efe/base/task/sequence_manager/sequence_manager.h
[modify] https://crrev.com/1ef457d1b9ce1c2372cc8b37725e6e424c5c4efe/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/1ef457d1b9ce1c2372cc8b37725e6e424c5c4efe/base/test/scoped_task_environment.cc
[modify] https://crrev.com/1ef457d1b9ce1c2372cc8b37725e6e424c5c4efe/content/renderer/renderer_main.cc
[modify] https://crrev.com/1ef457d1b9ce1c2372cc8b37725e6e424c5c4efe/third_party/blink/public/platform/scheduler/DEPS
[modify] https://crrev.com/1ef457d1b9ce1c2372cc8b37725e6e424c5c4efe/third_party/blink/public/platform/scheduler/web_thread_scheduler.h
[modify] https://crrev.com/1ef457d1b9ce1c2372cc8b37725e6e424c5c4efe/third_party/blink/renderer/platform/scheduler/common/web_thread_scheduler.cc

Comment 82 by bugdroid1@chromium.org, Nov 30

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

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

Revert "[Reland] Use the SequenceManager in ScopedTaskEnvironment"

This reverts commit 49c8774b77a9c530447f805dbb5358092cfa28e1.

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

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

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

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

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

Comment 83 by bugdroid1@chromium.org, Dec 3

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

commit 050bc103d73624667cd4e3cdb4418eec1c72e2f6
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Dec 03 10:25:53 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in data_use_measurement

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I85b84b92eb544b02920139aad88a4fb9a31d830f
Reviewed-on: https://chromium-review.googlesource.com/c/1352418
Reviewed-by: Scott Little <sclittle@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#613035}
[modify] https://crrev.com/050bc103d73624667cd4e3cdb4418eec1c72e2f6/components/data_use_measurement/core/data_use_measurement_unittest.cc
[modify] https://crrev.com/050bc103d73624667cd4e3cdb4418eec1c72e2f6/components/data_use_measurement/core/data_use_network_delegate_unittest.cc

Comment 84 by bugdroid1@chromium.org, Dec 3

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

commit f76b1d15fb96c66552ab2319f1d092001ae5bd1c
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Dec 03 13:34:37 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in password_manager

MessageLoop will go away, eventually.

BUG=891670

Change-Id: If3946be6ba9614c070e5790e6430ac91538f4311
Reviewed-on: https://chromium-review.googlesource.com/c/1353885
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#613069}
[modify] https://crrev.com/f76b1d15fb96c66552ab2319f1d092001ae5bd1c/components/password_manager/core/browser/android_affiliation/affiliated_match_helper_unittest.cc
[modify] https://crrev.com/f76b1d15fb96c66552ab2319f1d092001ae5bd1c/components/password_manager/core/browser/credential_manager_password_form_manager_unittest.cc
[modify] https://crrev.com/f76b1d15fb96c66552ab2319f1d092001ae5bd1c/components/password_manager/core/browser/form_saver_impl_unittest.cc
[modify] https://crrev.com/f76b1d15fb96c66552ab2319f1d092001ae5bd1c/components/password_manager/core/browser/hsts_query_unittest.cc
[modify] https://crrev.com/f76b1d15fb96c66552ab2319f1d092001ae5bd1c/components/password_manager/core/browser/password_autofill_manager_unittest.cc
[modify] https://crrev.com/f76b1d15fb96c66552ab2319f1d092001ae5bd1c/components/password_manager/core/browser/password_form_manager_unittest.cc
[modify] https://crrev.com/f76b1d15fb96c66552ab2319f1d092001ae5bd1c/components/password_manager/core/browser/password_generation_manager_unittest.cc
[modify] https://crrev.com/f76b1d15fb96c66552ab2319f1d092001ae5bd1c/components/password_manager/core/browser/password_manager_unittest.cc
[modify] https://crrev.com/f76b1d15fb96c66552ab2319f1d092001ae5bd1c/components/password_manager/core/browser/suppressed_form_fetcher_unittest.cc

Comment 85 by bugdroid1@chromium.org, Dec 3

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

commit e3af1b743b0c5de27a7ac07ca2218bb062b52de7
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Dec 03 13:44:15 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in sync_sessions

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I4e776d210c338961a5225b33a858d3376fb94fb8
Reviewed-on: https://chromium-review.googlesource.com/c/1353920
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#613072}
[modify] https://crrev.com/e3af1b743b0c5de27a7ac07ca2218bb062b52de7/components/sync_sessions/lost_navigations_recorder_unittest.cc
[modify] https://crrev.com/e3af1b743b0c5de27a7ac07ca2218bb062b52de7/components/sync_sessions/session_store_unittest.cc
[modify] https://crrev.com/e3af1b743b0c5de27a7ac07ca2218bb062b52de7/components/sync_sessions/session_sync_bridge_unittest.cc

Comment 86 by bugdroid1@chromium.org, Dec 3

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

commit 5f53275bd8e2f76dfc3685ef958dc97d2232bb61
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Dec 03 15:18:24 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in drive

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I95af02ea3f68b674dd66097c0b9b46538fbc4ad7
Reviewed-on: https://chromium-review.googlesource.com/c/1352778
Reviewed-by: Stuart Langley <slangley@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#613090}
[modify] https://crrev.com/5f53275bd8e2f76dfc3685ef958dc97d2232bb61/components/drive/drive_uploader_unittest.cc
[modify] https://crrev.com/5f53275bd8e2f76dfc3685ef958dc97d2232bb61/components/drive/local_file_reader_unittest.cc
[modify] https://crrev.com/5f53275bd8e2f76dfc3685ef958dc97d2232bb61/components/drive/service/fake_drive_service_unittest.cc

Comment 87 by bugdroid1@chromium.org, Dec 3

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

commit d51a9ef131f076a1a1454462bace51e7402b873f
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Dec 03 16:15:27 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in domain_reliability

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I868d222e9f7136c82a1225214f7d4f25652fa083
Reviewed-on: https://chromium-review.googlesource.com/c/1352364
Reviewed-by: Asanka Herath <asanka@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#613109}
[modify] https://crrev.com/d51a9ef131f076a1a1454462bace51e7402b873f/components/domain_reliability/uploader_unittest.cc

Comment 88 by bugdroid1@chromium.org, Dec 3

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

commit 7f2e72376275023423b7a4ec346254cfd10ae9f5
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Dec 03 17:13:45 2018

[Reland] Feature to run Blink main thread using SequenceManager

This will enable us to start trialing the MessageLoop replacement by
SequenceManager.

We only do this in the Blink main thread for now. There is some work
needed around SequenceManager ownership to be done before this can be
enabled in worker threads.

Original change https://chromium-review.googlesource.com/c/1349316

TBR=dcheng@chromium.org

Bug: 891670
Change-Id: I68a59ec2d780106bb5fd76cee5976e236f9316f6
Reviewed-on: https://chromium-review.googlesource.com/c/1358452
Commit-Queue: Carlos Caballero <carlscab@google.com>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613132}
[modify] https://crrev.com/7f2e72376275023423b7a4ec346254cfd10ae9f5/base/task/sequence_manager/sequence_manager.h
[modify] https://crrev.com/7f2e72376275023423b7a4ec346254cfd10ae9f5/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/7f2e72376275023423b7a4ec346254cfd10ae9f5/content/renderer/renderer_main.cc
[modify] https://crrev.com/7f2e72376275023423b7a4ec346254cfd10ae9f5/third_party/blink/public/platform/scheduler/DEPS
[modify] https://crrev.com/7f2e72376275023423b7a4ec346254cfd10ae9f5/third_party/blink/public/platform/scheduler/web_thread_scheduler.h
[modify] https://crrev.com/7f2e72376275023423b7a4ec346254cfd10ae9f5/third_party/blink/renderer/platform/scheduler/common/web_thread_scheduler.cc

Comment 89 by bugdroid1@chromium.org, Dec 3

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

commit 798f74f2fa634d11070c5851bc26cb1889b37d71
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Dec 03 17:23:37 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in bookmarks

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I5d914cd64396fbc0cd3d6610981f50f8ffc0b31e
Reviewed-on: https://chromium-review.googlesource.com/c/1352263
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#613135}
[modify] https://crrev.com/798f74f2fa634d11070c5851bc26cb1889b37d71/components/bookmarks/browser/bookmark_expanded_state_tracker_unittest.cc
[modify] https://crrev.com/798f74f2fa634d11070c5851bc26cb1889b37d71/components/bookmarks/managed/BUILD.gn
[modify] https://crrev.com/798f74f2fa634d11070c5851bc26cb1889b37d71/components/bookmarks/managed/managed_bookmarks_tracker_unittest.cc

Comment 90 by bugdroid1@chromium.org, Dec 4

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

commit 14704b7194cfbe1feffa081341216cbe51c7f6c8
Author: Carlos Caballero <carlscab@google.com>
Date: Tue Dec 04 09:26:38 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in policy

MessageLoop will go away, eventually.

BUG=891670

Change-Id: If1187c1a952a492847b07a9cca210d77f140cca3
Reviewed-on: https://chromium-review.googlesource.com/c/1353886
Reviewed-by: Sergey Poromov <poromov@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#613480}
[modify] https://crrev.com/14704b7194cfbe1feffa081341216cbe51c7f6c8/components/policy/core/common/async_policy_provider_unittest.cc
[modify] https://crrev.com/14704b7194cfbe1feffa081341216cbe51c7f6c8/components/policy/core/common/cloud/cloud_policy_client_unittest.cc
[modify] https://crrev.com/14704b7194cfbe1feffa081341216cbe51c7f6c8/components/policy/core/common/cloud/cloud_policy_core_unittest.cc
[modify] https://crrev.com/14704b7194cfbe1feffa081341216cbe51c7f6c8/components/policy/core/common/cloud/cloud_policy_refresh_scheduler_unittest.cc
[modify] https://crrev.com/14704b7194cfbe1feffa081341216cbe51c7f6c8/components/policy/core/common/cloud/component_cloud_policy_service_unittest.cc
[modify] https://crrev.com/14704b7194cfbe1feffa081341216cbe51c7f6c8/components/policy/core/common/cloud/device_management_service_unittest.cc
[modify] https://crrev.com/14704b7194cfbe1feffa081341216cbe51c7f6c8/components/policy/core/common/cloud/policy_header_service_unittest.cc
[modify] https://crrev.com/14704b7194cfbe1feffa081341216cbe51c7f6c8/components/policy/core/common/policy_service_impl_unittest.cc

Comment 91 by bugdroid1@chromium.org, Dec 4

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

commit e6e83559714297e00c17d3c1c8211cf441bfc8bd
Author: Carlos Caballero <carlscab@google.com>
Date: Tue Dec 04 09:27:18 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in autofill

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I38050fead3be729d8a8c2b821d6e96ecf31e0455
Reviewed-on: https://chromium-review.googlesource.com/c/1352264
Reviewed-by: Jan Krcal <jkrcal@chromium.org>
Reviewed-by: Vadym Doroshenko <dvadym@chromium.org>
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#613481}
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/content/common/BUILD.gn
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/content/common/autofill_types_struct_traits_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/content/renderer/renderer_save_password_progress_logger_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/autofill_assistant_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/autofill_download_manager_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/autofill_driver_factory_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/autofill_external_delegate_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/autofill_wallet_data_type_controller_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/form_data_importer_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/payments/full_card_request_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/personal_data_manager_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/webdata/autofill_profile_sync_bridge_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/webdata/autofill_profile_syncable_service_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/webdata/autofill_wallet_metadata_sync_bridge_unittest.cc
[modify] https://crrev.com/e6e83559714297e00c17d3c1c8211cf441bfc8bd/components/autofill/core/browser/webdata/autofill_wallet_sync_bridge_unittest.cc

Comment 92 by bugdroid1@chromium.org, Dec 4

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

commit fb476b47111c9d4fb57c76e68a348dd33a596eb5
Author: Carlos Caballero <carlscab@google.com>
Date: Tue Dec 04 09:59:37 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in network_time

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I7cbff7ba8e8d9878a5bc2839ecef83435e6edc31
Reviewed-on: https://chromium-review.googlesource.com/c/1352367
Reviewed-by: Nicolas Zea <zea@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#613490}
[modify] https://crrev.com/fb476b47111c9d4fb57c76e68a348dd33a596eb5/components/network_time/network_time_tracker_unittest.cc

Comment 93 by bugdroid1@chromium.org, Dec 4

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

commit 20b038a38cf7f922b5434b713a07d49d0f600f3b
Author: Carlos Caballero <carlscab@google.com>
Date: Tue Dec 04 10:03:36 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in sync

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I028ae9626578a7391ddcb90b52be1f88817cf1a1
Reviewed-on: https://chromium-review.googlesource.com/c/1353918
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#613492}
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/base/bind_to_task_runner_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/base/cancelation_signal_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/base/sync_prefs_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/device_info/device_info_sync_bridge_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/driver/backend_migrator_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/driver/data_type_manager_impl_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/driver/frontend_data_type_controller_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/driver/glue/sync_backend_host_impl_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/driver/model_association_manager_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/driver/model_type_controller_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/driver/shared_change_processor_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/driver/startup_controller_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/driver/sync_stopped_reporter_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/engine/sync_backend_registrar_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/engine/ui_model_worker_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/engine_impl/apply_control_data_updates_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/engine_impl/directory_commit_contribution_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/engine_impl/directory_update_handler_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/engine_impl/model_type_registry_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/engine_impl/sync_scheduler_impl_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/engine_impl/syncer_proto_util_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/engine_impl/syncer_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/engine_impl/syncer_util_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/engine_impl/uss_migrator_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/model/sync_change_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/model/sync_data_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/model_impl/client_tag_based_model_type_processor_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/model_impl/model_type_store_impl_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/model_impl/syncable_service_based_bridge_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/syncable/directory_backing_store_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/syncable/syncable_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/user_events/trial_recorder_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/user_events/user_event_service_impl_unittest.cc
[modify] https://crrev.com/20b038a38cf7f922b5434b713a07d49d0f600f3b/components/sync/user_events/user_event_sync_bridge_unittest.cc

Comment 94 by bugdroid1@chromium.org, Dec 4

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

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

ThreadControllerWithMessagePumpImpl fix mac virtual time

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

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

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

Comment 95 by bugdroid1@chromium.org, Dec 4

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

commit 7fbf4d395bd34f78d55e1deb489876581cb6d1a4
Author: Carlos Caballero <carlscab@google.com>
Date: Tue Dec 04 20:09:01 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in url_formatter

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I6413cc18262e1c047825e25be42bf2134a1070e2
Reviewed-on: https://chromium-review.googlesource.com/c/1352784
Reviewed-by: Tommy Li <tommycli@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#613668}
[modify] https://crrev.com/7fbf4d395bd34f78d55e1deb489876581cb6d1a4/components/url_formatter/BUILD.gn
[modify] https://crrev.com/7fbf4d395bd34f78d55e1deb489876581cb6d1a4/components/url_formatter/elide_url_unittest.cc

Comment 96 by bugdroid1@chromium.org, Dec 5

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

commit 1dccaebe50332102139b22d474f573a00371ae63
Author: Karolina Soltys <ksolt@chromium.org>
Date: Wed Dec 05 15:20:01 2018

[scheduler] Adding a flag to enable random sampling only when needed and supported.

The SequenceManagerImpl backend used calls to Random() to record metrics, which
is not supported on some platforms. Now we enable it only for Blink.

Bug: 891670
Change-Id: I487cc11960d141cff5861d1a2ca7fa09be2a866f
Reviewed-on: https://chromium-review.googlesource.com/c/1353921
Commit-Queue: Karolina Soltys <ksolt@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613970}
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/base/message_loop/message_loop.cc
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/base/task/sequence_manager/sequence_manager.cc
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/base/task/sequence_manager/sequence_manager.h
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/base/task/sequence_manager/sequence_manager_impl.h
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/base/task/sequence_manager/sequence_manager_impl_unittest.cc
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/base/task/sequence_manager/sequence_manager_perftest.cc
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/base/task/sequence_manager/test/sequence_manager_for_test.cc
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/base/task/sequence_manager/test/sequence_manager_for_test.h
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/base/task/sequence_manager/time_domain_unittest.cc
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/third_party/blink/renderer/platform/scheduler/common/scheduler_helper.cc
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/third_party/blink/renderer/platform/scheduler/common/web_thread_scheduler.cc
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/third_party/blink/renderer/platform/scheduler/worker/compositor_thread.cc
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/third_party/blink/renderer/platform/scheduler/worker/non_main_thread_scheduler_impl.cc
[modify] https://crrev.com/1dccaebe50332102139b22d474f573a00371ae63/third_party/blink/renderer/platform/scheduler/worker/worker_scheduler_proxy_unittest.cc

Comment 97 by skyostil@google.com, Dec 5

Blockedon: 912273

Comment 98 by bugdroid1@chromium.org, Dec 6

Project Member

Comment 99 by bugdroid1@chromium.org, Dec 6

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

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

Deflake AddFirstWallpaperAnimationEndCallback test

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

TBR=wzang@chromium.org

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

Comment 100 by bugdroid1@chromium.org, Dec 6

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

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

Change interleaving of delayed and immediate tasks to match MessageLoop

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

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

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

Comment 101 by bugdroid1@chromium.org, Dec 6

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

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

SequenceManagerImpl::IsIdleForTesting to match MessageLoop behavior

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

TBR=fdoray@chromium.org

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

Comment 102 by bugdroid1@chromium.org, Dec 6

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

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

Deflake RenderWidgetHostViewMacTest.TimerBasedPhaseInfo

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

TBR=asvitkine@chromium.org

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

Comment 103 by bugdroid1@chromium.org, Dec 6

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

commit a6f990329d1059f1ae594ffbe6c70c46c10257a2
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Dec 06 14:45:06 2018

MockClock for ScopedTaskEnvironment

Add the option to get a MockClock that is in sync with the underlying
MockTickClock that ScopedTaskEnvironment uses. Some test need access to
a base::Clock and ScopedTaskEnvironment currently just provides a
MockTickClock.

Need for this araised while refactoring
components/ntp_snippets/breaking_news/breaking_news_gcm_app_handler_unittest.cc
to use ScopedTaskEnvironment instead of MessageLoop.

Bug: 891670
Change-Id: I0716dbe2b46e268dfe57bed7c667d275f62519af
Reviewed-on: https://chromium-review.googlesource.com/c/1356553
Commit-Queue: Carlos Caballero <carlscab@google.com>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614342}
[modify] https://crrev.com/a6f990329d1059f1ae594ffbe6c70c46c10257a2/base/test/scoped_task_environment.cc
[modify] https://crrev.com/a6f990329d1059f1ae594ffbe6c70c46c10257a2/base/test/scoped_task_environment.h
[modify] https://crrev.com/a6f990329d1059f1ae594ffbe6c70c46c10257a2/base/test/scoped_task_environment_unittest.cc

Comment 104 by bugdroid1@chromium.org, Dec 6

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

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

Deflake WebMediaPlayerMSTest.RotationChange

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

TBR=miu@chromium.org

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

Comment 105 by bugdroid1@chromium.org, Dec 6

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

commit 38b88b324987071d63453326c3eff948c64ac80c
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Dec 06 16:09:34 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in reading_list

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I4525159fc6e326db0f77bd38a1a8cca63ae9ab28
Reviewed-on: https://chromium-review.googlesource.com/c/1352764
Commit-Queue: Carlos Caballero <carlscab@google.com>
Reviewed-by: Eric Noyau <noyau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614368}
[modify] https://crrev.com/38b88b324987071d63453326c3eff948c64ac80c/components/reading_list/core/reading_list_store_unittest.cc

Comment 106 by bugdroid1@chromium.org, Dec 6

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

commit ad0f7767c18d3300fe7becde35058c50bf48ffd4
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Dec 06 16:10:05 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in subresource_filter

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I3fcddf556b24d65f93a7d575093d89ab45e5e22e
Reviewed-on: https://chromium-review.googlesource.com/c/1352783
Reviewed-by: Dominic Battré <battre@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#614369}
[modify] https://crrev.com/ad0f7767c18d3300fe7becde35058c50bf48ffd4/components/subresource_filter/content/browser/async_document_subresource_filter_unittest.cc

Comment 107 by bugdroid1@chromium.org, Dec 6

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

commit b3860213db9788a157bb1ed7db2b13842aadb3e8
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Dec 06 16:16:56 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in unified_consent

MessageLoop will go away, eventually.

BUG=891670

Change-Id: Icbd30eb1886bb00105cd8ae5a8b158ffa9a397ea
Reviewed-on: https://chromium-review.googlesource.com/c/1352427
Reviewed-by: Thomas Tangl <tangltom@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#614374}
[modify] https://crrev.com/b3860213db9788a157bb1ed7db2b13842aadb3e8/components/unified_consent/unified_consent_service_unittest.cc

Comment 108 by bugdroid1@chromium.org, Dec 6

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

commit 6e29ed936c19b696b115972f7016aefc417edb55
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Dec 06 17:08:20 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in ssl_errors

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I297de47c1dd4d2a58276c136d8b48216ed4fd769
Reviewed-on: https://chromium-review.googlesource.com/c/1353889
Reviewed-by: Carlos IL <carlosil@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#614388}
[modify] https://crrev.com/6e29ed936c19b696b115972f7016aefc417edb55/components/ssl_errors/error_classification_unittest.cc

Comment 109 by bugdroid1@chromium.org, Dec 7

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

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

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

This reverts commit dda57a2c6aa319675172f8558ce8c24d9333f894.

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

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

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

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

Comment 110 by bugdroid1@chromium.org, Dec 7

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

commit 650ce0362079d22affb541fee5830db68a3aff0e
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Dec 07 10:08:57 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in sync_bookmarks

MessageLoop will go away, eventually.

BUG=891670

Change-Id: Idd5a72e490fc012a103770b1371fd4a732240387
Reviewed-on: https://chromium-review.googlesource.com/c/1353919
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#614653}
[modify] https://crrev.com/650ce0362079d22affb541fee5830db68a3aff0e/components/sync_bookmarks/bookmark_data_type_controller_unittest.cc

Comment 111 by bugdroid1@chromium.org, Dec 7

Project Member

Comment 112 by bugdroid1@chromium.org, Dec 7

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

commit 5ced2c85be2a0d0cb4ac73933578a4373fcb4275
Author: Sami Kyostila <skyostil@chromium.org>
Date: Fri Dec 07 10:36:43 2018

mac: Add workaround for native run loop live-lock

This patch adds a workaround and a test for a scenario where the invalidation
of the delayed work timer (using non-public APIs) causes a nested native run
loop to hang. The exact root cause of the hang is unknown since it involves the
closed-source Core Foundation runtime, but the steps needed to trigger it are:

  1. Post a delayed task that will run some time after step #4.
  2. Allow Chrome tasks to run in nested run loops (with
     ScopedNestableTaskAllower).
  3. Allow running Chrome tasks during private run loop modes (with
     ScopedPumpMessagesInPrivateModes).
  4. Open a pop-up menu via [NSMenu popupContextMenu]. This will start a
     private native run loop to process menu interaction.
  5. In a posted task, close the menu with [NSMenu cancelTracking].

At this point the menu closes visually but the nested run loop (flakily)
hangs forever in a live-lock, i.e., Chrome tasks keep executing but the
NSMenu call in #4 never returns.

The workaround is to avoid timer invalidation during nested native run loops.

DANGER: As the pop-up menu captures keyboard input, the bug will make the
machine's keyboard inoperable during the live-lock. Use a TTY-based remote
terminal such as SSH (as opposed to Chromoting) to investigate the issue.

Bug: 912273, 891670
Change-Id: I76562ddbf45f714397d7cb385f5f690d64e377d0
Reviewed-on: https://chromium-review.googlesource.com/c/1363208
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614658}
[modify] https://crrev.com/5ced2c85be2a0d0cb4ac73933578a4373fcb4275/base/message_loop/message_pump_mac.h
[modify] https://crrev.com/5ced2c85be2a0d0cb4ac73933578a4373fcb4275/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/5ced2c85be2a0d0cb4ac73933578a4373fcb4275/base/message_loop/message_pump_mac_unittest.mm

Comment 113 by bugdroid1@chromium.org, Dec 7

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

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

Deflake WebMediaPlayerMSTest.OpacityChange

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

TBR=miu@chromium.org

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

Comment 114 by bugdroid1@chromium.org, Dec 10

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

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

ClientSocketPoolBaseTest to use MOCK_TIME

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

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

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

TBR=eroman@chromium.org

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

Comment 115 by bugdroid1@chromium.org, Dec 11

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

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

[Reland #3] Use the SequenceManager in ScopedTaskEnvironment

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

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

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

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

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

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


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

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

Comment 116 by bugdroid1@chromium.org, Dec 11

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

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

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

This reverts commit d1317fc30ce4e9ef08c5197c0f67767dfe585df4.

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

Bug: 913946

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

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

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

Comment 117 by bugdroid1@chromium.org, Dec 11

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

commit 4938612668f2625a3ad35af38c21dd793ad9e632
Author: Sami Kyostila <skyostil@chromium.org>
Date: Tue Dec 11 15:28:31 2018

base: Don't do delayed work after quitting in Mac message pump

This patch fixes a problem in the Mac message pump where we kept calling
Delegate::DoDelayedWork even if a previous call to Delegate::DoWork caused the
runloop to quit. This matches the behavior outlined in message_pump.h[1] as
well as that of the other platform-specific pumps.

We also introduce a message pump unit test that verifies behavior across all
message pump types.

Bug: 891670

[1] https://cs.chromium.org/chromium/src/base/message_loop/message_pump.h?rcl=a28a6097182e739c4a8c600b538fcc07681fc7a3&l=58

Change-Id: I00ccb5c55ac8551259a2febd343ec64fdd55630d
Reviewed-on: https://chromium-review.googlesource.com/c/1370367
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615528}
[modify] https://crrev.com/4938612668f2625a3ad35af38c21dd793ad9e632/base/BUILD.gn
[modify] https://crrev.com/4938612668f2625a3ad35af38c21dd793ad9e632/base/message_loop/message_pump_mac.h
[modify] https://crrev.com/4938612668f2625a3ad35af38c21dd793ad9e632/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/4938612668f2625a3ad35af38c21dd793ad9e632/base/message_loop/message_pump_mac_unittest.mm
[add] https://crrev.com/4938612668f2625a3ad35af38c21dd793ad9e632/base/message_loop/message_pump_unittest.cc

Comment 118 by bugdroid1@chromium.org, Dec 12

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

commit 3ce69a991fd9ca03030738e324a1833c02462da0
Author: Sami Kyostila <skyostil@chromium.org>
Date: Wed Dec 12 18:19:13 2018

base: Don't keep running tasks after nested run loop quits on iOS

The CoreFoundation message pump (MessagePumpCFRunLoop) scheduled an extra call
to Delegate::DoWork in the following scenario:

  1. Start a run loop and schedule DoWork.
  2. In DoWork, start a second run nested run loop which quits immediately.
  3. After the nested run loop quits, schedule another DoWork which quits the
     original run loop.

After step #3, the message pump would call DoWork again because the nested
run loop triggered the execution of the nesting deferred work source.

This patch fixes the issue by checking whether the further work is allowed
before calling DoWork. Note that this check can't be done just for the nested
deferred work source, because in the flow above that source is what triggers
the call to DoWork in step #3, i.e., the run loop hasn't quit yet at that point.

The patch also includes a fix to
WebContentsViewMacInteractiveTest.SelectMenuLifetime; the test had the
following sequence in it (while a select menu is open):

  1. Quit an outer run loop.
  2. Post a task onto an inner run loop to continue the test.

The assumption here was that a select menu causes an inner run loop to
be active while the menu is open. This wasn't strictly correct: the
inner run loop is a native (CoreFoundation) run loop as opposed to a
base::RunLoop, which can't be explicitly exited with RunLoop::Quit().
This means that the Quit() in step #1 affects the same run loop as the
PostTask in step #2, i.e., the task is prevented from running.

This patch changes the test to only quit the test run loop after the
posted task (which closes the select menu) has run.

Bug: 891670
Change-Id: I6fe21289205664c4e1b1469547495667c753f56d
Reviewed-on: https://chromium-review.googlesource.com/c/1373754
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615967}
[modify] https://crrev.com/3ce69a991fd9ca03030738e324a1833c02462da0/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/3ce69a991fd9ca03030738e324a1833c02462da0/base/message_loop/message_pump_unittest.cc
[modify] https://crrev.com/3ce69a991fd9ca03030738e324a1833c02462da0/chrome/browser/ui/cocoa/tab_contents/web_contents_view_mac_interactive_uitest.mm

Comment 119 by bugdroid1@chromium.org, Dec 12

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

commit 6cbf77df10822b40741a8e7976a30a4161a3689c
Author: Carlos Caballero <carlscab@google.com>
Date: Wed Dec 12 18:47:25 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in leveldb_proto

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I8f6b7e62166de2d025f05cf4239686fed7a1d3ec
Reviewed-on: https://chromium-review.googlesource.com/c/1353884
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#615979}
[modify] https://crrev.com/6cbf77df10822b40741a8e7976a30a4161a3689c/components/leveldb_proto/unique_proto_database_unittest.cc

Comment 120 by bugdroid1@chromium.org, Dec 12

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

commit 297c4e75f8d43af8e76571be6a9477afe96edb27
Author: Carlos Caballero <carlscab@google.com>
Date: Wed Dec 12 19:05:45 2018

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in ntp_snippets

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I443fe09079186ef8a2e2680efd6346b5f509b61c
Reviewed-on: https://chromium-review.googlesource.com/c/1352780
Reviewed-by: Patrick Noland <pnoland@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#615986}
[modify] https://crrev.com/297c4e75f8d43af8e76571be6a9477afe96edb27/components/ntp_snippets/breaking_news/breaking_news_gcm_app_handler.cc
[modify] https://crrev.com/297c4e75f8d43af8e76571be6a9477afe96edb27/components/ntp_snippets/breaking_news/breaking_news_gcm_app_handler.h
[modify] https://crrev.com/297c4e75f8d43af8e76571be6a9477afe96edb27/components/ntp_snippets/breaking_news/breaking_news_gcm_app_handler_unittest.cc
[modify] https://crrev.com/297c4e75f8d43af8e76571be6a9477afe96edb27/components/ntp_snippets/breaking_news/subscription_json_request_unittest.cc
[modify] https://crrev.com/297c4e75f8d43af8e76571be6a9477afe96edb27/components/ntp_snippets/breaking_news/subscription_manager_impl_unittest.cc
[modify] https://crrev.com/297c4e75f8d43af8e76571be6a9477afe96edb27/components/ntp_snippets/content_suggestions_service_unittest.cc
[modify] https://crrev.com/297c4e75f8d43af8e76571be6a9477afe96edb27/components/ntp_snippets/contextual/contextual_content_suggestions_service_unittest.cc

Comment 121 by bugdroid1@chromium.org, Dec 12

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

commit 757a6f7d888f2651d8030c3e9adb06d68eac1fb8
Author: Sami Kyostila <skyostil@chromium.org>
Date: Wed Dec 12 21:13:11 2018

sequence_manager: Don't stop processing tasks after RunLoop::Quit()

This patch makes ThreadControllerWithMessagePumpImpl continue processing
tasks even after the enclosing RunLoop has been quit. This is needed for
MessageLoop compatibility in the following scenario:

1. A RunLoop is entered.
2. A native OS-level runloop is started, e.g., by opening a popup menu
   on Mac. Chrome tasks are allowed to executing in this nested loop.
3. A task is posted terminate the nested loop.
4. Before the above task has a chance to execute, a native callback
   calls RunLoop::Quit().

Because from Chrome's point of view there is no runloop nesting
happening in the above scenario, RunLoop decides that it is the
innermost one and tells ThreadControllerWithMessagePumpImpl to quit.
However this doesn't terminate the OS-level loop and we get a live-lock.

As Quit() is only supposed to affect RunLoop behavior instead of
preventing tasks from getting executed, this patch changes
ThreadControllerWithMessagePumpImpl to match the behavior of
MessageLoop, i.e., allowing tasks to run after Quit().

Bug: 891670
Change-Id: I64fd335c122a0a6709f0c7222cfa1d3140a702e6
Reviewed-on: https://chromium-review.googlesource.com/c/1367660
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616043}
[modify] https://crrev.com/757a6f7d888f2651d8030c3e9adb06d68eac1fb8/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/757a6f7d888f2651d8030c3e9adb06d68eac1fb8/base/task/sequence_manager/thread_controller_with_message_pump_impl.h
[modify] https://crrev.com/757a6f7d888f2651d8030c3e9adb06d68eac1fb8/base/task/sequence_manager/thread_controller_with_message_pump_impl_unittest.cc

Comment 122 by bugdroid1@chromium.org, Dec 13

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

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

[Reland #4] Use the SequenceManager in ScopedTaskEnvironment

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

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

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

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

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

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

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

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

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

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

Comment 123 by bugdroid1@chromium.org, Dec 13

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

commit d0de086966fe7e05b6aa69d3ec69eedad2aa9e64
Author: Elly Fong-Jones <ellyjones@chromium.org>
Date: Thu Dec 13 13:45:26 2018

Revert "base: Don't keep running tasks after nested run loop quits on iOS"

This reverts commit 3ce69a991fd9ca03030738e324a1833c02462da0.

Reason for revert:
Sheriff suspects this broke a handful of menu tests on macOS 10.12:

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

e.g.:
WebViewTest.TestContextMenu

Original change's description:
> base: Don't keep running tasks after nested run loop quits on iOS
> 
> The CoreFoundation message pump (MessagePumpCFRunLoop) scheduled an extra call
> to Delegate::DoWork in the following scenario:
> 
>   1. Start a run loop and schedule DoWork.
>   2. In DoWork, start a second run nested run loop which quits immediately.
>   3. After the nested run loop quits, schedule another DoWork which quits the
>      original run loop.
> 
> After step #3, the message pump would call DoWork again because the nested
> run loop triggered the execution of the nesting deferred work source.
> 
> This patch fixes the issue by checking whether the further work is allowed
> before calling DoWork. Note that this check can't be done just for the nested
> deferred work source, because in the flow above that source is what triggers
> the call to DoWork in step #3, i.e., the run loop hasn't quit yet at that point.
> 
> The patch also includes a fix to
> WebContentsViewMacInteractiveTest.SelectMenuLifetime; the test had the
> following sequence in it (while a select menu is open):
> 
>   1. Quit an outer run loop.
>   2. Post a task onto an inner run loop to continue the test.
> 
> The assumption here was that a select menu causes an inner run loop to
> be active while the menu is open. This wasn't strictly correct: the
> inner run loop is a native (CoreFoundation) run loop as opposed to a
> base::RunLoop, which can't be explicitly exited with RunLoop::Quit().
> This means that the Quit() in step #1 affects the same run loop as the
> PostTask in step #2, i.e., the task is prevented from running.
> 
> This patch changes the test to only quit the test run loop after the
> posted task (which closes the select menu) has run.
> 
> Bug: 891670
> Change-Id: I6fe21289205664c4e1b1469547495667c753f56d
> Reviewed-on: https://chromium-review.googlesource.com/c/1373754
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#615967}

TBR=skyostil@chromium.org,mark@chromium.org

Change-Id: If6e3b032ae40a391df56b62ae78f0bc1ed8d93f6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 891670
Reviewed-on: https://chromium-review.googlesource.com/c/1375382
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616297}
[modify] https://crrev.com/d0de086966fe7e05b6aa69d3ec69eedad2aa9e64/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/d0de086966fe7e05b6aa69d3ec69eedad2aa9e64/base/message_loop/message_pump_unittest.cc
[modify] https://crrev.com/d0de086966fe7e05b6aa69d3ec69eedad2aa9e64/chrome/browser/ui/cocoa/tab_contents/web_contents_view_mac_interactive_uitest.mm

Comment 124 by bugdroid1@chromium.org, Dec 13

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

commit ba5bf367eac3b25812c6e5af3c23cdc67a5b5344
Author: Sami Kyostila <skyostil@chromium.org>
Date: Thu Dec 13 17:01:43 2018

Reland "base: Don't keep running tasks after nested run loop quits on iOS"

This is a reland of 3ce69a991fd9ca03030738e324a1833c02462da0

Relanding the original patch with fixes for two WebViewTest context
menu tests. They had exactly the same problem as
WebContentsViewMacInteractiveTest: posting a task and then immediately
quitting the same run loop.

TBR=lazyboy@chromium.org

Original change's description:
> base: Don't keep running tasks after nested run loop quits on iOS
>
> The CoreFoundation message pump (MessagePumpCFRunLoop) scheduled an extra call
> to Delegate::DoWork in the following scenario:
>
>   1. Start a run loop and schedule DoWork.
>   2. In DoWork, start a second run nested run loop which quits immediately.
>   3. After the nested run loop quits, schedule another DoWork which quits the
>      original run loop.
>
> After step #3, the message pump would call DoWork again because the nested
> run loop triggered the execution of the nesting deferred work source.
>
> This patch fixes the issue by checking whether the further work is allowed
> before calling DoWork. Note that this check can't be done just for the nested
> deferred work source, because in the flow above that source is what triggers
> the call to DoWork in step #3, i.e., the run loop hasn't quit yet at that point.
>
> The patch also includes a fix to
> WebContentsViewMacInteractiveTest.SelectMenuLifetime; the test had the
> following sequence in it (while a select menu is open):
>
>   1. Quit an outer run loop.
>   2. Post a task onto an inner run loop to continue the test.
>
> The assumption here was that a select menu causes an inner run loop to
> be active while the menu is open. This wasn't strictly correct: the
> inner run loop is a native (CoreFoundation) run loop as opposed to a
> base::RunLoop, which can't be explicitly exited with RunLoop::Quit().
> This means that the Quit() in step #1 affects the same run loop as the
> PostTask in step #2, i.e., the task is prevented from running.
>
> This patch changes the test to only quit the test run loop after the
> posted task (which closes the select menu) has run.
>
> Bug: 891670
> Change-Id: I6fe21289205664c4e1b1469547495667c753f56d
> Reviewed-on: https://chromium-review.googlesource.com/c/1373754
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#615967}

Bug: 891670
Change-Id: I48a33231223b25f1d206db7e918492033d3bda13
Reviewed-on: https://chromium-review.googlesource.com/c/1375989
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616338}
[modify] https://crrev.com/ba5bf367eac3b25812c6e5af3c23cdc67a5b5344/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/ba5bf367eac3b25812c6e5af3c23cdc67a5b5344/base/message_loop/message_pump_unittest.cc
[modify] https://crrev.com/ba5bf367eac3b25812c6e5af3c23cdc67a5b5344/chrome/browser/apps/guest_view/web_view_browsertest.cc
[modify] https://crrev.com/ba5bf367eac3b25812c6e5af3c23cdc67a5b5344/chrome/browser/ui/cocoa/tab_contents/web_contents_view_mac_interactive_uitest.mm

Comment 125 by bugdroid1@chromium.org, Dec 13

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

commit 26294d4e68751e61da8a4fe5fba13b4f96855ce4
Author: Javier Ernesto Flores Robles <javierrobles@chromium.org>
Date: Thu Dec 13 17:02:45 2018

Revert "base: Don't keep running tasks after nested run loop quits on iOS"

This reverts commit 3ce69a991fd9ca03030738e324a1833c02462da0.

Reason for revert: After revert of crrev.com/c/1375382 test
MessageLoopTypedTest.QuitNow/default_pump_backend_SequenceManager started to fail
on ios-simulator. See crbug.com/914842

Original change's description:
> base: Don't keep running tasks after nested run loop quits on iOS
>
> The CoreFoundation message pump (MessagePumpCFRunLoop) scheduled an extra call
> to Delegate::DoWork in the following scenario:
>
>   1. Start a run loop and schedule DoWork.
>   2. In DoWork, start a second run nested run loop which quits immediately.
>   3. After the nested run loop quits, schedule another DoWork which quits the
>      original run loop.
>
> After step #3, the message pump would call DoWork again because the nested
> run loop triggered the execution of the nesting deferred work source.
>
> This patch fixes the issue by checking whether the further work is allowed
> before calling DoWork. Note that this check can't be done just for the nested
> deferred work source, because in the flow above that source is what triggers
> the call to DoWork in step #3, i.e., the run loop hasn't quit yet at that point.
>
> The patch also includes a fix to
> WebContentsViewMacInteractiveTest.SelectMenuLifetime; the test had the
> following sequence in it (while a select menu is open):
>
>   1. Quit an outer run loop.
>   2. Post a task onto an inner run loop to continue the test.
>
> The assumption here was that a select menu causes an inner run loop to
> be active while the menu is open. This wasn't strictly correct: the
> inner run loop is a native (CoreFoundation) run loop as opposed to a
> base::RunLoop, which can't be explicitly exited with RunLoop::Quit().
> This means that the Quit() in step #1 affects the same run loop as the
> PostTask in step #2, i.e., the task is prevented from running.
>
> This patch changes the test to only quit the test run loop after the
> posted task (which closes the select menu) has run.
>
> Bug: 891670
> Change-Id: I6fe21289205664c4e1b1469547495667c753f56d
> Reviewed-on: https://chromium-review.googlesource.com/c/1373754
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#615967}

TBR=skyostil@chromium.org,mark@chromium.org

Change-Id: Ia58acd52d4b147c38c1bbaa20b0d84f85dd65ca5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 891670, 914842
Reviewed-on: https://chromium-review.googlesource.com/c/1375953
Commit-Queue: Javier Ernesto Flores Robles <javierrobles@chromium.org>
Reviewed-by: Javier Ernesto Flores Robles <javierrobles@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616339}
[modify] https://crrev.com/26294d4e68751e61da8a4fe5fba13b4f96855ce4/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/26294d4e68751e61da8a4fe5fba13b4f96855ce4/base/message_loop/message_pump_unittest.cc
[modify] https://crrev.com/26294d4e68751e61da8a4fe5fba13b4f96855ce4/chrome/browser/ui/cocoa/tab_contents/web_contents_view_mac_interactive_uitest.mm

Comment 126 by bugdroid1@chromium.org, Dec 13

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

commit 6a988bfbbdae7880bd3fba26f96c120600a76db5
Author: Elly Fong-Jones <ellyjones@chromium.org>
Date: Thu Dec 13 17:28:56 2018

Reland "base: Don't keep running tasks after nested run loop quits on iOS"

This reverts commit d0de086966fe7e05b6aa69d3ec69eedad2aa9e64.

Reason for revert: broke ios-simulator bots

Original change's description:
> Revert "base: Don't keep running tasks after nested run loop quits on iOS"
> 
> This reverts commit 3ce69a991fd9ca03030738e324a1833c02462da0.
> 
> Reason for revert:
> Sheriff suspects this broke a handful of menu tests on macOS 10.12:
> 
> https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac10.12%20Tests/17564
> 
> e.g.:
> WebViewTest.TestContextMenu
> 
> Original change's description:
> > base: Don't keep running tasks after nested run loop quits on iOS
> > 
> > The CoreFoundation message pump (MessagePumpCFRunLoop) scheduled an extra call
> > to Delegate::DoWork in the following scenario:
> > 
> >   1. Start a run loop and schedule DoWork.
> >   2. In DoWork, start a second run nested run loop which quits immediately.
> >   3. After the nested run loop quits, schedule another DoWork which quits the
> >      original run loop.
> > 
> > After step #3, the message pump would call DoWork again because the nested
> > run loop triggered the execution of the nesting deferred work source.
> > 
> > This patch fixes the issue by checking whether the further work is allowed
> > before calling DoWork. Note that this check can't be done just for the nested
> > deferred work source, because in the flow above that source is what triggers
> > the call to DoWork in step #3, i.e., the run loop hasn't quit yet at that point.
> > 
> > The patch also includes a fix to
> > WebContentsViewMacInteractiveTest.SelectMenuLifetime; the test had the
> > following sequence in it (while a select menu is open):
> > 
> >   1. Quit an outer run loop.
> >   2. Post a task onto an inner run loop to continue the test.
> > 
> > The assumption here was that a select menu causes an inner run loop to
> > be active while the menu is open. This wasn't strictly correct: the
> > inner run loop is a native (CoreFoundation) run loop as opposed to a
> > base::RunLoop, which can't be explicitly exited with RunLoop::Quit().
> > This means that the Quit() in step #1 affects the same run loop as the
> > PostTask in step #2, i.e., the task is prevented from running.
> > 
> > This patch changes the test to only quit the test run loop after the
> > posted task (which closes the select menu) has run.
> > 
> > Bug: 891670
> > Change-Id: I6fe21289205664c4e1b1469547495667c753f56d
> > Reviewed-on: https://chromium-review.googlesource.com/c/1373754
> > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#615967}
> 
> TBR=skyostil@chromium.org,mark@chromium.org
> 
> Change-Id: If6e3b032ae40a391df56b62ae78f0bc1ed8d93f6
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 891670
> Reviewed-on: https://chromium-review.googlesource.com/c/1375382
> Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
> Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#616297}

TBR=ellyjones@chromium.org,skyostil@chromium.org,mark@chromium.org

Change-Id: I68d7b4687fd1f2a4906961f55b31038199089ff3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 891670
Reviewed-on: https://chromium-review.googlesource.com/c/1376249
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616350}
[modify] https://crrev.com/6a988bfbbdae7880bd3fba26f96c120600a76db5/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/6a988bfbbdae7880bd3fba26f96c120600a76db5/base/message_loop/message_pump_unittest.cc
[modify] https://crrev.com/6a988bfbbdae7880bd3fba26f96c120600a76db5/chrome/browser/ui/cocoa/tab_contents/web_contents_view_mac_interactive_uitest.mm

Comment 127 by bugdroid1@chromium.org, Dec 13

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

commit 5f534197944cdb2e4947e9aca7ceaee68ee3608d
Author: Elly Fong-Jones <ellyjones@chromium.org>
Date: Thu Dec 13 17:30:23 2018

Revert "Reland "base: Don't keep running tasks after nested run loop quits on iOS""

This reverts commit 6a988bfbbdae7880bd3fba26f96c120600a76db5.

Reason for revert: should not have relanded

Original change's description:
> Reland "base: Don't keep running tasks after nested run loop quits on iOS"
> 
> This reverts commit d0de086966fe7e05b6aa69d3ec69eedad2aa9e64.
> 
> Reason for revert: broke ios-simulator bots
> 
> Original change's description:
> > Revert "base: Don't keep running tasks after nested run loop quits on iOS"
> > 
> > This reverts commit 3ce69a991fd9ca03030738e324a1833c02462da0.
> > 
> > Reason for revert:
> > Sheriff suspects this broke a handful of menu tests on macOS 10.12:
> > 
> > https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac10.12%20Tests/17564
> > 
> > e.g.:
> > WebViewTest.TestContextMenu
> > 
> > Original change's description:
> > > base: Don't keep running tasks after nested run loop quits on iOS
> > > 
> > > The CoreFoundation message pump (MessagePumpCFRunLoop) scheduled an extra call
> > > to Delegate::DoWork in the following scenario:
> > > 
> > >   1. Start a run loop and schedule DoWork.
> > >   2. In DoWork, start a second run nested run loop which quits immediately.
> > >   3. After the nested run loop quits, schedule another DoWork which quits the
> > >      original run loop.
> > > 
> > > After step #3, the message pump would call DoWork again because the nested
> > > run loop triggered the execution of the nesting deferred work source.
> > > 
> > > This patch fixes the issue by checking whether the further work is allowed
> > > before calling DoWork. Note that this check can't be done just for the nested
> > > deferred work source, because in the flow above that source is what triggers
> > > the call to DoWork in step #3, i.e., the run loop hasn't quit yet at that point.
> > > 
> > > The patch also includes a fix to
> > > WebContentsViewMacInteractiveTest.SelectMenuLifetime; the test had the
> > > following sequence in it (while a select menu is open):
> > > 
> > >   1. Quit an outer run loop.
> > >   2. Post a task onto an inner run loop to continue the test.
> > > 
> > > The assumption here was that a select menu causes an inner run loop to
> > > be active while the menu is open. This wasn't strictly correct: the
> > > inner run loop is a native (CoreFoundation) run loop as opposed to a
> > > base::RunLoop, which can't be explicitly exited with RunLoop::Quit().
> > > This means that the Quit() in step #1 affects the same run loop as the
> > > PostTask in step #2, i.e., the task is prevented from running.
> > > 
> > > This patch changes the test to only quit the test run loop after the
> > > posted task (which closes the select menu) has run.
> > > 
> > > Bug: 891670
> > > Change-Id: I6fe21289205664c4e1b1469547495667c753f56d
> > > Reviewed-on: https://chromium-review.googlesource.com/c/1373754
> > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > > Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#615967}
> > 
> > TBR=skyostil@chromium.org,mark@chromium.org
> > 
> > Change-Id: If6e3b032ae40a391df56b62ae78f0bc1ed8d93f6
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: 891670
> > Reviewed-on: https://chromium-review.googlesource.com/c/1375382
> > Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
> > Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#616297}
> 
> TBR=ellyjones@chromium.org,skyostil@chromium.org,mark@chromium.org
> 
> Change-Id: I68d7b4687fd1f2a4906961f55b31038199089ff3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 891670
> Reviewed-on: https://chromium-review.googlesource.com/c/1376249
> Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
> Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#616350}

TBR=ellyjones@chromium.org,skyostil@chromium.org,mark@chromium.org

Change-Id: Ia05259cd2f2d60b41efdc7b73702da865680c1a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 891670
Reviewed-on: https://chromium-review.googlesource.com/c/1376250
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616352}
[modify] https://crrev.com/5f534197944cdb2e4947e9aca7ceaee68ee3608d/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/5f534197944cdb2e4947e9aca7ceaee68ee3608d/base/message_loop/message_pump_unittest.cc
[modify] https://crrev.com/5f534197944cdb2e4947e9aca7ceaee68ee3608d/chrome/browser/ui/cocoa/tab_contents/web_contents_view_mac_interactive_uitest.mm

Comment 129 by bugdroid1@chromium.org, Dec 13

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

commit 37ba0abde9593363228368601c9e1adf44544c0f
Author: Rohit Rao <rohitrao@chromium.org>
Date: Thu Dec 13 20:45:56 2018

Reland "Reland "base: Don't keep running tasks after nested run loop quits on iOS""

This reverts commit 5f534197944cdb2e4947e9aca7ceaee68ee3608d.

Reason for revert: This CL needs to be in the tree to keep ios-simulator green.

Original change's description:
> Revert "Reland "base: Don't keep running tasks after nested run loop quits on iOS""
> 
> This reverts commit 6a988bfbbdae7880bd3fba26f96c120600a76db5.
> 
> Reason for revert: should not have relanded
> 
> Original change's description:
> > Reland "base: Don't keep running tasks after nested run loop quits on iOS"
> > 
> > This reverts commit d0de086966fe7e05b6aa69d3ec69eedad2aa9e64.
> > 
> > Reason for revert: broke ios-simulator bots
> > 
> > Original change's description:
> > > Revert "base: Don't keep running tasks after nested run loop quits on iOS"
> > > 
> > > This reverts commit 3ce69a991fd9ca03030738e324a1833c02462da0.
> > > 
> > > Reason for revert:
> > > Sheriff suspects this broke a handful of menu tests on macOS 10.12:
> > > 
> > > https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac10.12%20Tests/17564
> > > 
> > > e.g.:
> > > WebViewTest.TestContextMenu
> > > 
> > > Original change's description:
> > > > base: Don't keep running tasks after nested run loop quits on iOS
> > > > 
> > > > The CoreFoundation message pump (MessagePumpCFRunLoop) scheduled an extra call
> > > > to Delegate::DoWork in the following scenario:
> > > > 
> > > >   1. Start a run loop and schedule DoWork.
> > > >   2. In DoWork, start a second run nested run loop which quits immediately.
> > > >   3. After the nested run loop quits, schedule another DoWork which quits the
> > > >      original run loop.
> > > > 
> > > > After step #3, the message pump would call DoWork again because the nested
> > > > run loop triggered the execution of the nesting deferred work source.
> > > > 
> > > > This patch fixes the issue by checking whether the further work is allowed
> > > > before calling DoWork. Note that this check can't be done just for the nested
> > > > deferred work source, because in the flow above that source is what triggers
> > > > the call to DoWork in step #3, i.e., the run loop hasn't quit yet at that point.
> > > > 
> > > > The patch also includes a fix to
> > > > WebContentsViewMacInteractiveTest.SelectMenuLifetime; the test had the
> > > > following sequence in it (while a select menu is open):
> > > > 
> > > >   1. Quit an outer run loop.
> > > >   2. Post a task onto an inner run loop to continue the test.
> > > > 
> > > > The assumption here was that a select menu causes an inner run loop to
> > > > be active while the menu is open. This wasn't strictly correct: the
> > > > inner run loop is a native (CoreFoundation) run loop as opposed to a
> > > > base::RunLoop, which can't be explicitly exited with RunLoop::Quit().
> > > > This means that the Quit() in step #1 affects the same run loop as the
> > > > PostTask in step #2, i.e., the task is prevented from running.
> > > > 
> > > > This patch changes the test to only quit the test run loop after the
> > > > posted task (which closes the select menu) has run.
> > > > 
> > > > Bug: 891670
> > > > Change-Id: I6fe21289205664c4e1b1469547495667c753f56d
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/1373754
> > > > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > > > Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
> > > > Cr-Commit-Position: refs/heads/master@{#615967}
> > > 
> > > TBR=skyostil@chromium.org,mark@chromium.org
> > > 
> > > Change-Id: If6e3b032ae40a391df56b62ae78f0bc1ed8d93f6
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: 891670
> > > Reviewed-on: https://chromium-review.googlesource.com/c/1375382
> > > Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
> > > Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#616297}
> > 
> > TBR=ellyjones@chromium.org,skyostil@chromium.org,mark@chromium.org
> > 
> > Change-Id: I68d7b4687fd1f2a4906961f55b31038199089ff3
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: 891670
> > Reviewed-on: https://chromium-review.googlesource.com/c/1376249
> > Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
> > Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#616350}
> 
> TBR=ellyjones@chromium.org,skyostil@chromium.org,mark@chromium.org
> 
> Change-Id: Ia05259cd2f2d60b41efdc7b73702da865680c1a3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 891670
> Reviewed-on: https://chromium-review.googlesource.com/c/1376250
> Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
> Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#616352}

TBR=ellyjones@chromium.org,skyostil@chromium.org,mark@chromium.org

Change-Id: Ife24296aec35ef48231e2ae9f632898de8085d64
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 891670
Reviewed-on: https://chromium-review.googlesource.com/c/1376734
Reviewed-by: Rohit Rao <rohitrao@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616421}
[modify] https://crrev.com/37ba0abde9593363228368601c9e1adf44544c0f/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/37ba0abde9593363228368601c9e1adf44544c0f/base/message_loop/message_pump_unittest.cc
[modify] https://crrev.com/37ba0abde9593363228368601c9e1adf44544c0f/chrome/browser/ui/cocoa/tab_contents/web_contents_view_mac_interactive_uitest.mm

Comment 130 by bugdroid1@chromium.org, Dec 14

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

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

TestBrowserThreadBundle to inherit from ScopedTaskEnvironment

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

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

TBR=bartfab@chromium.org

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

Comment 131 by bugdroid1@chromium.org, Dec 14

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

commit 84ecbf7c0b1eca668dba1471a50f065c6d558737
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Dec 14 17:31:54 2018

Add SequenceManager to field trial testing config

SequenceManager will be replacing MessageLoop soon so lets start testing
the new setup.

Bug: 891670
Change-Id: I1ddf44a3623b0ff281d88cb7a8a8231834d1276d
Reviewed-on: https://chromium-review.googlesource.com/c/1378134
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616727}
[modify] https://crrev.com/84ecbf7c0b1eca668dba1471a50f065c6d558737/testing/variations/fieldtrial_testing_config.json

Comment 132 by bugdroid1@chromium.org, Dec 17

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

commit 2c3ca765b34121dd01da05a15fc6567c29a7695a
Author: Karolina Soltys <ksolt@chromium.org>
Date: Mon Dec 17 13:58:48 2018

Add field trial for SequenceManager as a backend to MessageLoop.

As in cl/1378134, we are adding a field trial to the config to test the
performance of a step of the MessageLoop to SequenceManager migration. We
are testing the performance of using SequenceManager rather than
MessageLoopImpl as a backend to MessageLoop.

Bug: 891670
Change-Id: I095afb177f7e51078a6767865913f4ceab849f5f
Reviewed-on: https://chromium-review.googlesource.com/c/1379896
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Commit-Queue: Karolina Soltys <ksolt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617109}
[modify] https://crrev.com/2c3ca765b34121dd01da05a15fc6567c29a7695a/testing/variations/fieldtrial_testing_config.json

Comment 133 by bugdroid1@chromium.org, Dec 20

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

commit 6af241bc88d86b32915af2c0c01d130c8948dc10
Author: Sami Kyostila <skyostil@chromium.org>
Date: Thu Dec 20 16:06:09 2018

base: Defer quitting run loop after modal window is closed

This patch modifies MessagePumpNSApplication to support calling Quit() while a
modal window is being displayed. Previously we would stop the wrong run loop in
this scenario:

  1. Start a Chrome run loop with RunLoop::Run().
  2. Start a modal session with [NSApplication runModalForWindow].
  3. Call RunLoop::Quit().

Because the dialog is still active in step #3, calling [NSApplication stop]
applies to the internal modal run loop instead of the one started in step #1.

The fix is to only quit the run loop when the dialog goes away. We do this by
observing when we re-enter Chrome's run loop after the nested modal run loop
has exited.

Note that unlike MessagePumpCFRunLoop we can't call [NSApplication stop] as
soon as we detect the nested run loop exiting. This is because when the exit
observer is notified, [NSApplication stop] still signals the exiting internal
run loop instead the Chrome one.

For posterity, NSApplication also has another quirk regarding modal windows:
[NSApplication stopModal] does not take effect immediately, but instead we may
execute at least one Chrome task in the nested run loop before
runModalForWindow returns.

Bug: 891670
Change-Id: I8e05fdafd32c70a4ebf073472c998304d458ea48
Reviewed-on: https://chromium-review.googlesource.com/c/1384289
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618227}
[modify] https://crrev.com/6af241bc88d86b32915af2c0c01d130c8948dc10/base/message_loop/message_pump_mac.h
[modify] https://crrev.com/6af241bc88d86b32915af2c0c01d130c8948dc10/base/message_loop/message_pump_mac.mm
[modify] https://crrev.com/6af241bc88d86b32915af2c0c01d130c8948dc10/base/message_loop/message_pump_mac_unittest.mm
[modify] https://crrev.com/6af241bc88d86b32915af2c0c01d130c8948dc10/chrome/browser/ui/cocoa/first_run_dialog.mm

Comment 134 by bugdroid1@chromium.org, Jan 4

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

commit a419a4bb25c4a4e5f33dd0d0123a3829de7e9dad
Author: Sami Kyostila <skyostil@chromium.org>
Date: Fri Jan 04 18:43:15 2019

base: Don't avoid scheduling immediate work inside DoDelayedWork

Some message pumps -- most notably the Mac ones -- don't guarantee that
returning true from DoDelayedWork causes a future call to DoWork to be
scheduled. This patch ensures the optimization to prevent a redundant
call to ScheduleWork from a running task isn't applied for delayed
tasks. This is a speculative fix to some of the Mac hangs that we are
observing with the SequenceManager.

Bug: 891670
Change-Id: Ib457a66afc68f9aa41b022a812fc433cd991d124
Reviewed-on: https://chromium-review.googlesource.com/c/1396317
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620009}
[modify] https://crrev.com/a419a4bb25c4a4e5f33dd0d0123a3829de7e9dad/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
[modify] https://crrev.com/a419a4bb25c4a4e5f33dd0d0123a3829de7e9dad/base/task/sequence_manager/thread_controller_with_message_pump_impl.h
[modify] https://crrev.com/a419a4bb25c4a4e5f33dd0d0123a3829de7e9dad/base/task/sequence_manager/thread_controller_with_message_pump_impl_unittest.cc

Comment 135 by bugdroid1@chromium.org, Jan 10

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

commit 6c500722c5a1d317c823fafb6367fd50d35d0259
Author: Alex Clarke <alexclarke@chromium.org>
Date: Thu Jan 10 13:22:59 2019

Fix stack splat in MessagePumpMacTest

If IncrementInModeAndExpect posted a task it didn't expect to run
within the CFRunLoopRunInMode that task would still run and splat
something on the stack. Due to luck this doesn't matter with the
MessageLoop but it causes crashes with the SequenceManager.

This patch fixes it by introducing a weak pointer in the test
task to make sure it doesn't run when it shouldn't.

Bug: 891670
Change-Id: I175903d977ee92adb2aee9461dce209dd387510a
Reviewed-on: https://chromium-review.googlesource.com/c/1403414
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621560}
[modify] https://crrev.com/6c500722c5a1d317c823fafb6367fd50d35d0259/base/message_loop/message_pump_mac_unittest.mm
[modify] https://crrev.com/6c500722c5a1d317c823fafb6367fd50d35d0259/base/task/cancelable_task_tracker_unittest.cc
[modify] https://crrev.com/6c500722c5a1d317c823fafb6367fd50d35d0259/base/test/BUILD.gn
[add] https://crrev.com/6c500722c5a1d317c823fafb6367fd50d35d0259/base/test/bind_test_util.cc
[modify] https://crrev.com/6c500722c5a1d317c823fafb6367fd50d35d0259/base/test/bind_test_util.h

Comment 136 by bugdroid1@chromium.org, Jan 11

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

commit 2e23f4632b377775603571b01ef1b238e68aff46
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Jan 11 13:48:56 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in tracing

MessageLoop will go away, eventually.

BUG=891670

Change-Id: If7fa4256e30de4939bf77bfc46231fc921119513
Reviewed-on: https://chromium-review.googlesource.com/c/1352426
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#621989}
[modify] https://crrev.com/2e23f4632b377775603571b01ef1b238e68aff46/components/tracing/child/child_trace_message_filter_unittest.cc

Comment 137 by bugdroid1@chromium.org, Jan 16

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

commit 4fcb3e56c3585e1d48d54a30e03eddd743a13113
Author: Carlos Caballero <carlscab@google.com>
Date: Wed Jan 16 10:50:12 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in drive_backend

MessageLoop will go away, eventually.

BUG=891670

Change-Id: Ia64f78ea238b99b0599cfec331ffaa764742399b
Reviewed-on: https://chromium-review.googlesource.com/c/1377853
Reviewed-by: Taiju Tsuiki <tzik@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#623189}
[modify] https://crrev.com/4fcb3e56c3585e1d48d54a30e03eddd743a13113/chrome/browser/sync_file_system/drive_backend/callback_helper_unittest.cc
[modify] https://crrev.com/4fcb3e56c3585e1d48d54a30e03eddd743a13113/chrome/browser/sync_file_system/drive_backend/metadata_database_unittest.cc
[modify] https://crrev.com/4fcb3e56c3585e1d48d54a30e03eddd743a13113/chrome/browser/sync_file_system/drive_backend/sync_task_manager_unittest.cc

Comment 138 by bugdroid1@chromium.org, Jan 17

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

commit ee8e39c465703cbf931388da3dd8c4f89a784745
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Jan 17 14:23:08 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in web_request

MessageLoop will go away, eventually.

BUG=891670

Change-Id: Iee4eb7b25fd741d9344b280bc2b5f2748d18f83f
Reviewed-on: https://chromium-review.googlesource.com/c/1417453
Reviewed-by: Dominic Battré <battre@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#623678}
[modify] https://crrev.com/ee8e39c465703cbf931388da3dd8c4f89a784745/chrome/browser/extensions/api/web_request/web_request_event_details_unittest.cc

Comment 139 by bugdroid1@chromium.org, Jan 17

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

commit d77b95d3f6f5ec29acadd58267682659c47656e7
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Jan 17 15:38:55 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in prefs

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I4810ecbef8d5b6a9f6d6d6a1b090df25afe1cffa
Reviewed-on: https://chromium-review.googlesource.com/c/1417590
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623694}
[modify] https://crrev.com/d77b95d3f6f5ec29acadd58267682659c47656e7/chrome/browser/prefs/chrome_command_line_pref_store_ssl_manager_unittest.cc
[modify] https://crrev.com/d77b95d3f6f5ec29acadd58267682659c47656e7/chrome/browser/prefs/profile_pref_store_manager_unittest.cc

Comment 140 by bugdroid1@chromium.org, Jan 18

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

commit f9b03d9c97bb378144d96c8f7c18a708150e8b80
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Jan 18 10:25:15 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in browser/net

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I0310928c4f3ff490f684c1ed46acd0154bc0b396
Reviewed-on: https://chromium-review.googlesource.com/c/1417454
Reviewed-by: Asanka Herath <asanka@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#624057}
[modify] https://crrev.com/f9b03d9c97bb378144d96c8f7c18a708150e8b80/chrome/browser/net/quota_policy_channel_id_store_unittest.cc

Comment 141 by bugdroid1@chromium.org, Jan 18

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

commit 0e068bae6239645502bc0401b42ae9626c176867
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Jan 18 10:26:20 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in desktop_session_duration

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I6a207851ffb142d42ee5d60b6092b24440b59148
Reviewed-on: https://chromium-review.googlesource.com/c/1415265
Reviewed-by: Brian White <bcwhite@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#624059}
[modify] https://crrev.com/0e068bae6239645502bc0401b42ae9626c176867/chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker_unittest.cc

Comment 142 by bugdroid1@chromium.org, Jan 18

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

commit 308c28fdbd36ee1da13d3d6088fc9c4e3c488b46
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Jan 18 10:26:45 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in local_discovery

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I0f6023462491329dce6e6bdd3d9df902db2fa1ac
Reviewed-on: https://chromium-review.googlesource.com/c/1417551
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#624060}
[modify] https://crrev.com/308c28fdbd36ee1da13d3d6088fc9c4e3c488b46/chrome/browser/local_discovery/local_domain_resolver_unittest.cc
[modify] https://crrev.com/308c28fdbd36ee1da13d3d6088fc9c4e3c488b46/chrome/browser/local_discovery/service_discovery_client_unittest.cc

Comment 143 by bugdroid, Jan 23

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

commit 5ffb39e60dfd31ac34ad5a47d8cca69169376af7
Author: Carlos Caballero <carlscab@google.com>
Date: Wed Jan 23 10:41:05 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in browser

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I61904bdd8b32af26509ef2f78cfb3b51361fa891
Reviewed-on: https://chromium-review.googlesource.com/c/1417175
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#625156}

Comment 144 by bugdroid, Jan 25

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

commit 3f82735d69c34ff2d9c7a9b0abd9a90540723897
Author: Sami Kyostila <skyostil@chromium.org>
Date: Fri Jan 25 12:00:59 2019

base: Add workaround for iOS message pump timer slack bug

This patch adds a workaround for an issue in the iOS message pump in the
following scenario:

  1. The message pump timer slack is set to maximum.
  2. A delayed task is posted for far in the future (e.g., 1h).
  3. The system goes idle at least for a few seconds.
  4. Another delayed task is posted with a much smaller delay.

It appears the setting the tolerance for a CFRunLoop timer *after* setting the
next fire time, it has no effect and the previous tolerance remains active. In
the above scenario it means the task posted in step #4 actually runs in about
half the delay set in step #2.

This bug was causing a net_unittest to fail because the TaskScheduler's
periodic task to adjust the number of active threads wasn't running, causing
the system to grind to a halt because all worker pool threads were blocking on
a lock.

The workaround is to always set the timer tolerance before adjusting the timer
fire time.

Bug: 891670
Change-Id: I82e97fe993bbb8a71c417f01f4d6131cce0667ad
Reviewed-on: https://chromium-review.googlesource.com/c/1434276
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626053}

Comment 145 by bugdroid, Jan 25

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

commit c38834df23bf1f11c512f5eaede1cf64918f2a94
Author: Sami Kyostila <skyostil@chromium.org>
Date: Fri Jan 25 12:08:18 2019

base: Enable SequenceManager backend in MessageLoop by default

Make the MessageLoop to use SequenceManager as its default backend. Note
that we are also launching a separate Finch trial to evaluate the
performance and stability of the SequenceManager relative to
MessageLoopImpl.

Bug: 891670
Change-Id: If968033bbbbda0037dae2c2715f3827a13afcdc8
Reviewed-on: https://chromium-review.googlesource.com/c/1379763
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626054}

Comment 146 by bugdroid, Jan 28

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

commit cf339fd2359586c324fe18f70c0fa8dfa7e6d1cb
Author: Sami Kyostila <skyostil@chromium.org>
Date: Mon Jan 28 13:55:07 2019

base: Use original MessageLoop backend in performance test

We should re-enable the original MessageLoop backend in the
SequenceManager performance test; otherwise the test will compare the
SequenceManager-backend against itself.

Bug: 891670
Change-Id: I352fd61e7c37b283f8003ff815b7f4f41c2d0b22
Reviewed-on: https://chromium-review.googlesource.com/c/1438997
Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Commit-Queue: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626525}

Comment 147 by bugdroid, Jan 29

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

commit 75110a588b08b3bc9e169c202ba0d4810e78fe38
Author: Gabriel Charette <gab@chromium.org>
Date: Tue Jan 29 22:39:33 2019

[base] Delete MessageLoopImpl!!

The SequenceManager backed MessageLoop is already the default everywhere
since crrev.com/626054.

A *lot* of care and many steps have been taken by others to get here:
https://docs.google.com/document/d/1m1serxN-Crs6lEkpwab7_dIM1-HmBXohv8asCCvCfhw/edit

The SequenceManager backed MessageLoop is now more or less at
performance parity with the MessageLoopImpl backed MessageLoop, i.e.:
(must ignore range between r626054 (incl.) and r626525 (excl.))
With UI pump:
  1.2X slower on Android : https://v2spa-dot-chromeperf.appspot.com/#session=fefb3fc5d3cb06a00e4e70237e00beb297efce77f79246488b9b30e67b79b81b
  1.8X faster on Mac : https://v2spa-dot-chromeperf.appspot.com/#session=bfbbfd6c2737e8abd0aea88042968c1161a7a74923a8c77542faa2eb126dbe7b
  1.2X slower on Linux : https://v2spa-dot-chromeperf.appspot.com/#session=6c1f272362af6f1aa5919a559e33d00aae33e8ccc4bbbaf3d3096a698fd336fa
With IO pump:
  1.4X faster on Android : https://v2spa-dot-chromeperf.appspot.com/#session=883ceec1a3ea6d953c87b6194075c3f986dcaf44a71d1b59b8f8553163cb584b
  1.5X faster on Mac : https://v2spa-dot-chromeperf.appspot.com/#session=ae98eeec6ba6b3f9c2d5dac5e369585045809ea60d49b4c4f75758a2b83a3523
  1.1X faster on Linux : https://v2spa-dot-chromeperf.appspot.com/#session=7f1d70a1605a4671157cffa2b879e84a8780a34eb50ed5ffe15bbeccb3c45d0e
With default pump:
  1.2X slower on Android : https://v2spa-dot-chromeperf.appspot.com/#session=c81cac2c9be1eba46d21c8d022225019e0c9ae6d1d084b432aaffa0ae532da6f
  1.4X slower on Mac : https://v2spa-dot-chromeperf.appspot.com/#session=5e1c95fd38dc6765bd24a3d455c79e8979a4ec4a1ab4efcf22765ae887eb9213
  1.5X slower on Linux : https://v2spa-dot-chromeperf.appspot.com/#session=fc0250fb0e64e90503c790bbe1c2c0d6750741f3c6ccd0f682bbbc6d4a86eb17

Remaining differences are most likely because of the difference between
DoWork/DoDelayedWork handling with SequenceManager. SequenceManager
doesn't make the distinction and thus runs 2x more application tasks
than the traditional MessageLoopImpl did for every system task; this
explains the gains in the IO pump IMO. Because of this however
ThreadControllerWithMessagePumpImpl has to do more ScheduleDelayedWork()
calls than necessary; this explains the regressions in the UI pump IMO.
This will be addressed by bit.ly/merge-message-pump-do-work but that
change is significantly harder to make while MessageLoopImpl is around.
As such, since having two implementations is now slowing down further
progress and since the way forward is clearly with SequenceManager : it
is now time to make the leap!

Many more cleanups are expected to follow, e.g.:
 a) We currently sometimes install a SequenceManager on top of
    MessageLoop (which is now backed by another SequenceManager).
 b) MessageLoop/MessageLoopBase are now mere wrappers and can be vastly
    simplified.
 c) Per (a) ThreadControllerImpl can go away and be replaced by
    ThreadControllerWithMessagePumpImpl everywhere (and that one can be
    renamed since it'll again be the only ThreadController).

Bug: 891670, 885371
Change-Id: Ica99d5e507097c09bc82f53272ed3be6dc781cad
Reviewed-on: https://chromium-review.googlesource.com/c/1440828
Auto-Submit: Gabriel Charette <gab@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#627191}
[modify] https://crrev.com/75110a588b08b3bc9e169c202ba0d4810e78fe38/base/BUILD.gn
[modify] https://crrev.com/75110a588b08b3bc9e169c202ba0d4810e78fe38/base/message_loop/message_loop.cc
[modify] https://crrev.com/75110a588b08b3bc9e169c202ba0d4810e78fe38/base/message_loop/message_loop.h
[delete] https://crrev.com/0a900417d3780200444021f56f73756c97debd02/base/message_loop/message_loop_impl.cc
[delete] https://crrev.com/0a900417d3780200444021f56f73756c97debd02/base/message_loop/message_loop_impl.h
[delete] https://crrev.com/0a900417d3780200444021f56f73756c97debd02/base/message_loop/message_loop_perftest.cc
[delete] https://crrev.com/0a900417d3780200444021f56f73756c97debd02/base/message_loop/message_loop_task_runner.cc
[delete] https://crrev.com/0a900417d3780200444021f56f73756c97debd02/base/message_loop/message_loop_task_runner.h
[delete] https://crrev.com/0a900417d3780200444021f56f73756c97debd02/base/message_loop/message_loop_task_runner_perftest.cc
[delete] https://crrev.com/0a900417d3780200444021f56f73756c97debd02/base/message_loop/message_loop_task_runner_unittest.cc
[modify] https://crrev.com/75110a588b08b3bc9e169c202ba0d4810e78fe38/base/message_loop/message_loop_unittest.cc
[modify] https://crrev.com/75110a588b08b3bc9e169c202ba0d4810e78fe38/base/message_loop/message_pump_perftest.cc
[delete] https://crrev.com/0a900417d3780200444021f56f73756c97debd02/base/message_loop/pending_task_queue.cc
[delete] https://crrev.com/0a900417d3780200444021f56f73756c97debd02/base/message_loop/pending_task_queue.h
[delete] https://crrev.com/0a900417d3780200444021f56f73756c97debd02/base/message_loop/sequenced_task_source.h
[modify] https://crrev.com/75110a588b08b3bc9e169c202ba0d4810e78fe38/base/task/sequence_manager/sequence_manager_perftest.cc
[modify] https://crrev.com/75110a588b08b3bc9e169c202ba0d4810e78fe38/testing/variations/fieldtrial_testing_config.json

Comment 148 by bugdroid, Jan 31

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

commit 0a07a9f4c1057db74006915b86218e7441f5f36f
Author: Carlos Caballero <carlscab@google.com>
Date: Thu Jan 31 13:47:30 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in signin

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I42620705c79153179bf1e9e6cdd474ca274d2c44
Reviewed-on: https://chromium-review.googlesource.com/c/1416147
Reviewed-by: David Roger <droger@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#627928}
[modify] https://crrev.com/0a07a9f4c1057db74006915b86218e7441f5f36f/chrome/browser/signin/dice_response_handler_unittest.cc

Comment 149 by bugdroid, Feb 1

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

commit a21e92bef144aca5b99cba0877e7759fb64ded7e
Author: Gabriel Charette <gab@chromium.org>
Date: Fri Feb 01 23:14:51 2019

[base] Re-enable accidently disabled BlinkMainThreadUsesSequenceManager feature

Accidently disabled as part of crrev.com/627191 and it caused a ton
of regressions (see bugs dupped into crbug.com/927619). So we should
probably ship this configuration by default, but as an emergency
bandaid I'm reenabling the feature in tests (and this CL will also
conveniently let us know of any regressions when reenabling should
disabling have improved other metrics..!).

R=skyostil@chromium.org
TBR=isherman@chromium.org

Bug: 927619, 891670, 885371
Change-Id: I9b737a786da5e589ad816827e8d52d439e785204
Reviewed-on: https://chromium-review.googlesource.com/c/1449575
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#628502}
[modify] https://crrev.com/a21e92bef144aca5b99cba0877e7759fb64ded7e/testing/variations/fieldtrial_testing_config.json

Comment 150 by bugdroid, Feb 4

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

commit c7f9f96e90eb270da95abd4590ac2f73f32c0018
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Feb 04 17:27:10 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in chromedriver

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I3bb7ca8f621238bca70269dad0bcb7f3f9680fa0
Reviewed-on: https://chromium-review.googlesource.com/c/1451885
Reviewed-by: John Chen <johnchen@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#628775}
[modify] https://crrev.com/c7f9f96e90eb270da95abd4590ac2f73f32c0018/chrome/test/chromedriver/commands_unittest.cc

Comment 151 by bugdroid, Feb 4

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

commit fd131a4e2503ba24b05e40eee9aa8e3555b28201
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Feb 04 17:27:13 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in net

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I834ccfbd1eb718d47e48625f62319196bb94a50a
Reviewed-on: https://chromium-review.googlesource.com/c/1452157
Reviewed-by: Rahul Chaturvedi <rkc@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#628776}
[modify] https://crrev.com/fd131a4e2503ba24b05e40eee9aa8e3555b28201/chrome/browser/chromeos/net/network_throttling_observer_unittest.cc

Comment 152 by bugdroid, Feb 4

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

commit 3f58b4000ca2f79578c40c8d37d98bba5d3d9337
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Feb 04 17:32:28 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in mobile

MessageLoop will go away, eventually.

BUG=891670

Change-Id: Ifafb8bb38201cc93d4d52c286c7a3d863878caad
Reviewed-on: https://chromium-review.googlesource.com/c/1451980
Reviewed-by: Rahul Chaturvedi <rkc@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#628780}
[modify] https://crrev.com/3f58b4000ca2f79578c40c8d37d98bba5d3d9337/chrome/browser/chromeos/mobile/mobile_activator_unittest.cc

Comment 153 by bugdroid, Feb 4

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

commit a055d34a2735f2ce09103c90368737369af05046
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Feb 04 18:51:12 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in common/net

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I30d1011858bc6a229e14a60f85f02b02a46cdcfc
Reviewed-on: https://chromium-review.googlesource.com/c/1452178
Reviewed-by: Asanka Herath <asanka@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#628808}
[modify] https://crrev.com/a055d34a2735f2ce09103c90368737369af05046/chrome/common/net/safe_search_util_unittest.cc

Comment 154 by bugdroid, Feb 4

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

commit 019a23f117aa93552a075fc424eea71f2f15ac3c
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Feb 04 18:53:06 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in cloud_print

MessageLoop will go away, eventually.

BUG=891670

Change-Id: Id593e33312007602c236f9f0452a0b6cb0ed4bd4
Reviewed-on: https://chromium-review.googlesource.com/c/1451921
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#628809}
[modify] https://crrev.com/019a23f117aa93552a075fc424eea71f2f15ac3c/chrome/service/cloud_print/connector_settings_unittest.cc

Comment 155 by bugdroid, Feb 4

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

commit 4351bedbce9b43cba24255a278dbb5314043c9a6
Author: Carlos Caballero <carlscab@google.com>
Date: Mon Feb 04 18:53:17 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in service

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I6bf415fd06ed14bfce80a308b41694683d4623b2
Reviewed-on: https://chromium-review.googlesource.com/c/1451899
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#628810}
[modify] https://crrev.com/4351bedbce9b43cba24255a278dbb5314043c9a6/chrome/service/service_process_prefs_unittest.cc

Comment 156 by gab@chromium.org, Feb 4

Blockedon: 928285

Comment 157 by bugdroid, Feb 5

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

commit a515998113422ab046b2db950892ce2456a99d6e
Author: Sami Kyostila <skyostil@chromium.org>
Date: Tue Feb 05 09:33:31 2019

sequence_manager: Enable SequenceManager by default in Blink

This patch removes the experiment to enable the SequenceManager on the
renderer main thread (i.e., in Blink). Since the old MessageLoop
implementation was recently removed, the "disabled" arm of this
experiment is now testing a nonsensical configuration
(SequenceManager-on-SequenceManage).

TBR=bcwhite@chromium.org

Bug: 891670
Change-Id: Ic3607bef3de356491a433a6bff50a74331adf821
Reviewed-on: https://chromium-review.googlesource.com/c/1451849
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629082}
[modify] https://crrev.com/a515998113422ab046b2db950892ce2456a99d6e/content/renderer/renderer_main.cc
[modify] https://crrev.com/a515998113422ab046b2db950892ce2456a99d6e/testing/variations/fieldtrial_testing_config.json

Comment 158 by bugdroid, Feb 5

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

commit 2f80336f27a1a4e773fd59ce80d34a7047e74f23
Author: Carlos Caballero <carlscab@google.com>
Date: Tue Feb 05 09:40:51 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in mojo

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I01545fd1e2a96ecbb12592449323355a3f062dd3
Reviewed-on: https://chromium-review.googlesource.com/c/1451920
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#629085}
[modify] https://crrev.com/2f80336f27a1a4e773fd59ce80d34a7047e74f23/chrome/common/media_router/mojo/media_router_struct_traits_unittest.cc

Comment 159 by bugdroid, Feb 5

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

commit 2e126944ffe5229b0367bf1cea896225e7ba2058
Author: Carlos Caballero <carlscab@google.com>
Date: Tue Feb 05 09:41:21 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in app_service

MessageLoop will go away, eventually.

BUG=891670

Change-Id: Idb748b2f95c82c89e0e4a2a6846fb6221cdf5586
Reviewed-on: https://chromium-review.googlesource.com/c/1451884
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#629086}
[modify] https://crrev.com/2e126944ffe5229b0367bf1cea896225e7ba2058/chrome/services/app_service/app_service_impl_unittest.cc

Comment 160 by bugdroid, Feb 5

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

commit c0735c8e8698db5d2270b47f0d01ac2e0a9c0317
Author: Carlos Caballero <carlscab@google.com>
Date: Tue Feb 05 12:53:38 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in common

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I9aa7e8eff88248c9f0cc47d98f94bf823be426e5
Reviewed-on: https://chromium-review.googlesource.com/c/1452179
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#629122}
[modify] https://crrev.com/c0735c8e8698db5d2270b47f0d01ac2e0a9c0317/chrome/common/service_process_util_unittest.cc

Comment 161 by bugdroid, Feb 6

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

commit 6372ccbf0ca82081b639fb96aa34e156fd38c09a
Author: Carlos Caballero <carlscab@google.com>
Date: Wed Feb 06 10:48:09 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in safe_browsing

MessageLoop will go away, eventually.

BUG=891670

Change-Id: I8895f7978fa8269f46fb63a9cf39fe9c0ac7f859
Reviewed-on: https://chromium-review.googlesource.com/c/1451882
Reviewed-by: Nathan Parker <nparker@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#629521}
[modify] https://crrev.com/6372ccbf0ca82081b639fb96aa34e156fd38c09a/chrome/renderer/safe_browsing/phishing_term_feature_extractor_unittest.cc

Comment 162 by bugdroid, Feb 6

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

commit 63f7e452bc92f89e5c036d32e72b1c9002e91ff9
Author: Carlos Caballero <carlscab@google.com>
Date: Wed Feb 06 17:00:52 2019

Refactor sequence_manager_impl_unittest.cc

Migrate MessagePump tests to common interface.

SequenceManager on top of ThreadControllerWithMessagePump does not
support deletion from a task. Add a check in the code and perform the
delete from task test only for ThreadControllerImpl

Bug: 891670
Change-Id: I27a23a2bf53ec0dd9c59b2ce88de39d2be8b50d1
Reviewed-on: https://chromium-review.googlesource.com/c/1451904
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Carlos Caballero <carlscab@google.com>
Cr-Commit-Position: refs/heads/master@{#629617}
[modify] https://crrev.com/63f7e452bc92f89e5c036d32e72b1c9002e91ff9/base/task/sequence_manager/sequence_manager_impl.cc
[modify] https://crrev.com/63f7e452bc92f89e5c036d32e72b1c9002e91ff9/base/task/sequence_manager/sequence_manager_impl_unittest.cc

Comment 163 by bugdroid, Feb 6

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

commit 2ac261bf1a794e309a120c9d4157f9acbb4465c2
Author: Carlos Caballero <carlscab@google.com>
Date: Wed Feb 06 18:07:31 2019

Move QueueEnabledVoter to TaskQueue

Simplify implementation of TaskQueueImpl and remove its dependency on
TaskQueue. This will be needed as we make TaskQueue not refcounted and
the base class of TaskQueueImpl.

Eventually we might also get rid of QueueEnabledVoter entirely and this
patch would make that easier too.

Bug: 891670
Change-Id: I8064394e59fd112fcded66790b49547eccf6226c
Reviewed-on: https://chromium-review.googlesource.com/c/1454587
Commit-Queue: Carlos Caballero <carlscab@google.com>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629647}
[modify] https://crrev.com/2ac261bf1a794e309a120c9d4157f9acbb4465c2/base/task/sequence_manager/task_queue.cc
[modify] https://crrev.com/2ac261bf1a794e309a120c9d4157f9acbb4465c2/base/task/sequence_manager/task_queue.h
[modify] https://crrev.com/2ac261bf1a794e309a120c9d4157f9acbb4465c2/base/task/sequence_manager/task_queue_impl.cc
[modify] https://crrev.com/2ac261bf1a794e309a120c9d4157f9acbb4465c2/base/task/sequence_manager/task_queue_impl.h
[modify] https://crrev.com/2ac261bf1a794e309a120c9d4157f9acbb4465c2/base/task/sequence_manager/task_queue_selector_unittest.cc

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

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

commit 92491bb0701db6f88a8d04dff1099a94dedcdd6c
Author: Joe Mason <joenotcharles@google.com>
Date: Tue Feb 12 15:21:41 2019

[scheduling] Use ScopedTaskEnvironment instead of MessageLoop in chrome_cleaner

MessageLoop will go away, eventually.

Also fixes a race condition in ChromeCleanerRunnerTest that was perturbed by
the scheduler change.

BUG=891670

Change-Id: Ice4336cec91f337e8aea0145e25eb99d8602806a
Reviewed-on: https://chromium-review.googlesource.com/c/1464112
Reviewed-by: Chris Sharp <csharp@chromium.org>
Commit-Queue: Joe Mason <joenotcharles@google.com>
Cr-Commit-Position: refs/heads/master@{#631228}
[modify] https://crrev.com/92491bb0701db6f88a8d04dff1099a94dedcdd6c/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_runner_win_unittest.cc
[modify] https://crrev.com/92491bb0701db6f88a8d04dff1099a94dedcdd6c/chrome/browser/safe_browsing/chrome_cleaner/mock_chrome_cleaner_process_win.cc

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

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

commit 635a918990e0dc22a651c1d2c4b23a3482b29663
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Feb 15 12:57:03 2019

Consollidate tests for SequenceManagerImpl.

Basically enable all tests for MessageLoop too. So we now run most of
the tests with MessageLoop, MessagePump and a MockTaskRunner.

Also add some pretty print methods to make the test names look nicer.

Bug: 891670
Change-Id: I3ace4d674b4343a6ed441ed77e21fe9d00f589d1
Reviewed-on: https://chromium-review.googlesource.com/c/1473273
Commit-Queue: Carlos Caballero <carlscab@google.com>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632594}
[modify] https://crrev.com/635a918990e0dc22a651c1d2c4b23a3482b29663/base/task/sequence_manager/sequence_manager_impl_unittest.cc

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

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

commit 488d49242a5cd543165d1f6f7298933587df2835
Author: Carlos Caballero <carlscab@google.com>
Date: Fri Feb 15 14:21:15 2019

Refactor sequence_manager_impl_unittest.cc

Cleanup final bits of custom initialization tests.

Bug: 891670
Change-Id: I72c5dc8699831a9b92254770a414b7a137adaa82
Reviewed-on: https://chromium-review.googlesource.com/c/1473232
Commit-Queue: Carlos Caballero <carlscab@google.com>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632608}
[modify] https://crrev.com/488d49242a5cd543165d1f6f7298933587df2835/base/task/sequence_manager/sequence_manager_impl_unittest.cc
Showing comments 67 - 166 of 166 Older

Sign in to add a comment