New issue
Advanced search Search tips

Issue 850247 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 25
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

base::*One*ShotTimer currently requires passing base::BindRepeating(...) argument

Project Member Reported by lukasza@chromium.org, Jun 6 2018

Issue description

base::Timer based class declares Start as:

  virtual void Start(const Location& posted_from,
                     TimeDelta delay,
                     const base::Closure& user_task);

Today this |base::Closure| is equivalent to |base::RepeatingClosure|.

This is all great for base::RepeatingTimer, but kind of ugly for base::*One*ShotTimer.  Can we somehow make base::OneShotTimer::Start take a base::OnceClosure instead?
 
Cc: dcheng@chromium.org
Owner: tzik@chromium.org
Status: Assigned (was: Untriaged)
tzik@, can you PTAL?  This can probably stay as Pri3.  dcheng@ wondered about shadowing/deleting the base Start method in OneShotTimer::Start and reusing the base class via an adapter that takes base::OnceCallback<...> and exposes at as runtime-checked base::RepeatingCallback<...>, but I cannot find such an adapter today (maybe the suggestion was to write one?).

FWIW, this came up in https://crrev.com/c/1089797

Comment 2 by tzik@chromium.org, Jun 11 2018

Sounds good to me for short term.

I think a possible mid term solution is splitting Timer to three variants. OneShotTimer, RepeatingTimer, and RetainingOneShotTimer. And make a base class, TimerBase, that has the shared implementations. Each subclass should have its own Start(), and |user_task_|.

A blocker is the fact that a number of user uses base::Timer for injecting MockTimer. So we should split MockTimer into Mock{,OneShot,Repeating}Timer first, so that their user can hold it as OneShotTimer or RepeatingTimer, instead of Timer. Then, we can update all users to stop using base::Timer.
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 12 2018

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

commit 3b99c6385b5bd9895856812fe94dd2125a6459ae
Author: tzik <tzik@chromium.org>
Date: Tue Jun 12 04:21:01 2018

Remove unused AlarmTimer, OneShotAlarmTimer, RepeatingAlarmTimer

All AlarmTimer variants but SimpleAlarmTimer have no user in Chromium
and ChromeOS repositories, and base::Timer is being refactored.
As a preparation for the refactoring, this CL removes unused
OneShotAlarmTimer and RepeatingAlarmTimer, and merge SimpleAlarmTimer
into the AlarmTimer.

Bug:  850247 
Change-Id: I78b7b7fea7a20edb51e3ad708d2fccceae85bd9d
Reviewed-on: https://chromium-review.googlesource.com/1095201
Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566303}
[modify] https://crrev.com/3b99c6385b5bd9895856812fe94dd2125a6459ae/components/timers/alarm_timer_chromeos.cc
[modify] https://crrev.com/3b99c6385b5bd9895856812fe94dd2125a6459ae/components/timers/alarm_timer_chromeos.h
[modify] https://crrev.com/3b99c6385b5bd9895856812fe94dd2125a6459ae/components/timers/alarm_timer_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 19 2018

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

commit 84db891209eae8ca3afe7129f2a772df693bc80a
Author: tzik <tzik@chromium.org>
Date: Tue Jun 19 06:08:54 2018

Simplify base::MockTimer

This simplifies base::MockTimer implementation using overridden task
runner. Also, this moves base::MockTimer to //base/test:test_support.

Tbr: khorimoto@chromium.org, chirantan@chromium.org, sky@chromium.org
Bug:  850247 
Change-Id: Id233bfdff24fc258d45c5fb3e6ebe292fc973775
Reviewed-on: https://chromium-review.googlesource.com/1094852
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568356}
[modify] https://crrev.com/84db891209eae8ca3afe7129f2a772df693bc80a/base/BUILD.gn
[modify] https://crrev.com/84db891209eae8ca3afe7129f2a772df693bc80a/base/test/BUILD.gn
[modify] https://crrev.com/84db891209eae8ca3afe7129f2a772df693bc80a/base/timer/mock_timer.cc
[modify] https://crrev.com/84db891209eae8ca3afe7129f2a772df693bc80a/base/timer/mock_timer.h
[modify] https://crrev.com/84db891209eae8ca3afe7129f2a772df693bc80a/base/timer/timer.h
[modify] https://crrev.com/84db891209eae8ca3afe7129f2a772df693bc80a/chromeos/services/secure_channel/BUILD.gn
[modify] https://crrev.com/84db891209eae8ca3afe7129f2a772df693bc80a/components/timers/alarm_timer_chromeos.cc
[modify] https://crrev.com/84db891209eae8ca3afe7129f2a772df693bc80a/components/visitedlink/test/BUILD.gn

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 21 2018

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

commit 9e998192f731d9165e82d9a53c5e726ff85daf8d
Author: tzik <tzik@chromium.org>
Date: Thu Jun 21 07:27:50 2018

Replace base::MockTimer with behavior-specific timers in cros

This CL replaces MockTimer with MockOneShotTimer or MockRepeatingTimer
as a preparation of OnceCallback support of base::Timer.

Bug:  850247 
Change-Id: I85e43788e923593dab7ad43794cf9289fc788fcd
Reviewed-on: https://chromium-review.googlesource.com/1107531
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569179}
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chrome/browser/chromeos/resource_reporter/resource_reporter_unittest.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chrome/browser/chromeos/tether/tether_service_unittest.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/components/tether/ble_connection_manager_unittest.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/components/tether/connection_preserver_impl_unittest.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/components/tether/host_scan_scheduler_impl_unittest.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/components/tether/keep_alive_scheduler_unittest.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/components/tether/master_host_scan_cache_unittest.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/components/tether/message_transfer_operation_unittest.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/components/tether/wifi_hotspot_connector_unittest.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/services/secure_channel/ble_synchronizer.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/services/secure_channel/ble_synchronizer.h
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/services/secure_channel/ble_synchronizer_unittest.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/services/secure_channel/fake_one_shot_timer.cc
[modify] https://crrev.com/9e998192f731d9165e82d9a53c5e726ff85daf8d/chromeos/services/secure_channel/fake_one_shot_timer.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jun 22 2018

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

commit 35945aaf6e3735c80ed1019a700b44501fd02d87
Author: tzik <tzik@chromium.org>
Date: Fri Jun 22 00:33:26 2018

Replace base::MockTimer with behavior-specific timers in net

This CL replaces MockTimer with MockOneShotTimer or MockRepeatingTimer
as a preparation of OnceCallback support of base::Timer.

Bug:  850247 
Change-Id: I573c944fede451d72469c6f4404e39c848ad6a34
Reviewed-on: https://chromium-review.googlesource.com/1109673
Reviewed-by: Matt Menke <mmenke@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569471}
[modify] https://crrev.com/35945aaf6e3735c80ed1019a700b44501fd02d87/chrome/renderer/net/net_error_helper_core_unittest.cc
[modify] https://crrev.com/35945aaf6e3735c80ed1019a700b44501fd02d87/net/dns/mdns_client_unittest.cc
[modify] https://crrev.com/35945aaf6e3735c80ed1019a700b44501fd02d87/net/http/bidirectional_stream_unittest.cc
[modify] https://crrev.com/35945aaf6e3735c80ed1019a700b44501fd02d87/net/reporting/reporting_delivery_agent.cc
[modify] https://crrev.com/35945aaf6e3735c80ed1019a700b44501fd02d87/net/reporting/reporting_delivery_agent.h
[modify] https://crrev.com/35945aaf6e3735c80ed1019a700b44501fd02d87/net/reporting/reporting_garbage_collector.cc
[modify] https://crrev.com/35945aaf6e3735c80ed1019a700b44501fd02d87/net/reporting/reporting_garbage_collector.h
[modify] https://crrev.com/35945aaf6e3735c80ed1019a700b44501fd02d87/net/reporting/reporting_test_util.cc
[modify] https://crrev.com/35945aaf6e3735c80ed1019a700b44501fd02d87/net/reporting/reporting_test_util.h
[modify] https://crrev.com/35945aaf6e3735c80ed1019a700b44501fd02d87/net/websockets/websocket_stream_test.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 2

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

commit 57c66e31d4ef7e16c21691be13565ae070a5bb71
Author: tzik <tzik@chromium.org>
Date: Mon Jul 02 08:02:57 2018

Replace base::MockTimer with behavior-specific timers in //components

This CL replaces MockTimer with MockOneShotTimer or MockRepeatingTimer
as a preparation of OnceCallback support of base::Timer.

Bug:  850247 
Change-Id: Ibe313bbf292c269b67782c169af173859c353db7
Reviewed-on: https://chromium-review.googlesource.com/1111482
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571834}
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/base/timer/mock_timer.cc
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/base/timer/mock_timer.h
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/base/timer/timer.h
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/components/cast_channel/cast_socket_unittest.cc
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/components/cast_channel/keep_alive_delegate_unittest.cc
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/components/cryptauth/ble/bluetooth_low_energy_weave_client_connection_unittest.cc
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/components/cryptauth/device_to_device_authenticator_unittest.cc
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/components/cryptauth/sync_scheduler_impl_unittest.cc
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/components/data_usage/android/traffic_stats_amortizer_unittest.cc
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/components/history/core/browser/browsing_history_service_unittest.cc
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/components/signin/core/browser/account_reconcilor.cc
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/components/signin/core/browser/account_reconcilor.h
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/components/signin/core/browser/account_reconcilor_unittest.cc
[modify] https://crrev.com/57c66e31d4ef7e16c21691be13565ae070a5bb71/components/visitedlink/test/visitedlink_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 2

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

commit 11d16994f232c36733426bdaa4f9b71582e7825e
Author: tzik <tzik@chromium.org>
Date: Mon Jul 02 18:05:25 2018

Replace base::MockTimer with behavior-specific timers in //ios

This CL replaces MockTimer with MockOneShotTimer or MockRepeatingTimer
as a preparation of OnceCallback support of base::Timer.

Bug:  850247 
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I1e9ed0d8edee50f2ad194ee92bcc248219f9273a
Reviewed-on: https://chromium-review.googlesource.com/1122150
Reviewed-by: Mihai Sardarescu <msarda@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571943}
[modify] https://crrev.com/11d16994f232c36733426bdaa4f9b71582e7825e/ios/chrome/browser/ui/authentication/chrome_signin_view_controller.h
[modify] https://crrev.com/11d16994f232c36733426bdaa4f9b71582e7825e/ios/chrome/browser/ui/authentication/chrome_signin_view_controller.mm
[modify] https://crrev.com/11d16994f232c36733426bdaa4f9b71582e7825e/ios/chrome/browser/ui/authentication/chrome_signin_view_controller_unittest.mm

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 2

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

commit ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe
Author: tzik <tzik@chromium.org>
Date: Mon Jul 02 22:15:41 2018

Replace base::MockTimer with behavior-specific timers in //chrome

This CL replaces MockTimer with MockOneShotTimer or MockRepeatingTimer
as a preparation of OnceCallback support of base::Timer.
Also, this CL fixes unneeded usages of |retain_user_task| flag.

Bug:  850247 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I04ab3df4e85cdf28ca2585f455f79ab9336f585e
Reviewed-on: https://chromium-review.googlesource.com/1114560
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572016}
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/engagement/site_engagement_helper.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/engagement/site_engagement_helper.h
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/engagement/site_engagement_helper_unittest.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/extensions/forced_extensions/installation_tracker.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/extensions/forced_extensions/installation_tracker.h
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/extensions/forced_extensions/installation_tracker_unittest.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/google/google_search_domain_mixing_metrics_emitter_unittest.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl_unittest.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/media/router/discovery/mdns/cast_media_sink_service_impl_unittest.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_tester.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/task_manager/test_task_manager.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/ui/views/confirm_quit_bubble_controller_unittest.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/browser/vr/speech_recognizer_unittest.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/common/media_router/discovery/media_sink_service_base.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/common/media_router/discovery/media_sink_service_base.h
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/common/media_router/test/test_helper.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/common/media_router/test/test_helper.h
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/common/page_load_metrics/test/weak_mock_timer.cc
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/common/page_load_metrics/test/weak_mock_timer.h
[modify] https://crrev.com/ec618d1e46d8d5dbe9fae9bb03ddcbdbb5cc4efe/chrome/renderer/page_load_metrics/page_timing_metrics_sender_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 4

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

commit facff258475b9c22dcb70c32ef07e80d75a507db
Author: tzik <tzik@chromium.org>
Date: Wed Jul 04 07:55:52 2018

Replace base::MockTimer with behavior-specific timers

This CL replaces most MockTimer with MockOneShotTimer or
MockRepeatingTimer as a preparation of OnceCallback support of
base::Timer.

Bug:  850247 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:linux_mojo;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I949bc78c5e103baa610a8a2d1197901ceb090c50
Reviewed-on: https://chromium-review.googlesource.com/1105812
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Lambros Lambrou <lambroslambrou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572509}
[modify] https://crrev.com/facff258475b9c22dcb70c32ef07e80d75a507db/base/files/important_file_writer_unittest.cc
[modify] https://crrev.com/facff258475b9c22dcb70c32ef07e80d75a507db/base/timer/mock_timer_unittest.cc
[modify] https://crrev.com/facff258475b9c22dcb70c32ef07e80d75a507db/content/browser/indexed_db/indexed_db_pre_close_task_queue_unittest.cc
[modify] https://crrev.com/facff258475b9c22dcb70c32ef07e80d75a507db/remoting/host/backoff_timer_unittest.cc
[modify] https://crrev.com/facff258475b9c22dcb70c32ef07e80d75a507db/remoting/protocol/capture_scheduler_unittest.cc
[modify] https://crrev.com/facff258475b9c22dcb70c32ef07e80d75a507db/services/network/resource_scheduler_unittest.cc
[modify] https://crrev.com/facff258475b9c22dcb70c32ef07e80d75a507db/services/resource_coordinator/observers/ipc_volume_reporter_unittest.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 5

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

commit 524daae93b0f6afa6d04dfc11a7a3fe5d03f6c29
Author: tzik <tzik@chromium.org>
Date: Thu Jul 05 02:52:02 2018

Expose construct-with-task ctors of base::{Repeating,RetainingOneShot}Timer

This CL exposes a constructor of base::Timer through RepeatingTimer and
RetainingOneShotTimer to cover the base::Timer functionality with its
subclasses.

These constructors keep the given tasks in the instance without starting
the timer. That was a motivation for users to use base::Timer, rather
than its behavior specific subclasses.

Bug:  850247 
Change-Id: I8e92876cf1bb48f87b88374292f2f9779e74fa9f
Reviewed-on: https://chromium-review.googlesource.com/1125705
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572696}
[modify] https://crrev.com/524daae93b0f6afa6d04dfc11a7a3fe5d03f6c29/base/timer/timer.h

Project Member

Comment 12 by bugdroid1@chromium.org, Jul 5

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

commit 4f386c81023f4cbd611b88ad59067b355350998a
Author: tzik <tzik@chromium.org>
Date: Thu Jul 05 03:15:08 2018

Replace base::Timer with behavior-specific timers in page_load_metrics/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: I0ec6eec0fb4573ccf3aa33a4ed31df289a330517
Reviewed-on: https://chromium-review.googlesource.com/1125711
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572699}
[modify] https://crrev.com/4f386c81023f4cbd611b88ad59067b355350998a/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc
[modify] https://crrev.com/4f386c81023f4cbd611b88ad59067b355350998a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_tester.cc
[modify] https://crrev.com/4f386c81023f4cbd611b88ad59067b355350998a/chrome/browser/page_load_metrics/page_load_metrics_embedder_interface.h
[modify] https://crrev.com/4f386c81023f4cbd611b88ad59067b355350998a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc
[modify] https://crrev.com/4f386c81023f4cbd611b88ad59067b355350998a/chrome/browser/page_load_metrics/page_load_metrics_update_dispatcher.h
[modify] https://crrev.com/4f386c81023f4cbd611b88ad59067b355350998a/chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc
[modify] https://crrev.com/4f386c81023f4cbd611b88ad59067b355350998a/chrome/renderer/page_load_metrics/metrics_render_frame_observer.h
[modify] https://crrev.com/4f386c81023f4cbd611b88ad59067b355350998a/chrome/renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc
[modify] https://crrev.com/4f386c81023f4cbd611b88ad59067b355350998a/chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc
[modify] https://crrev.com/4f386c81023f4cbd611b88ad59067b355350998a/chrome/renderer/page_load_metrics/page_timing_metrics_sender.h

Project Member

Comment 13 by bugdroid1@chromium.org, Jul 6

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

commit b6c66b26dba3551150ad3b8156c080540cc43b10
Author: tzik <tzik@chromium.org>
Date: Fri Jul 06 12:14:16 2018

Replace base::Timer with behavior-specific timers in gcm/ and gcm_driver/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: I525b47094e6b3173c018927fba250b9fa9071b76
Reviewed-on: https://chromium-review.googlesource.com/1125739
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572946}
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/components/gcm_driver/fake_gcm_client.cc
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/components/gcm_driver/fake_gcm_client.h
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/components/gcm_driver/gcm_client.h
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/components/gcm_driver/gcm_client_impl.cc
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/components/gcm_driver/gcm_client_impl.h
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/components/gcm_driver/gcm_driver_desktop.cc
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/components/timers/alarm_timer_chromeos.cc
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/components/timers/alarm_timer_chromeos.h
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/google_apis/gcm/engine/heartbeat_manager.cc
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/google_apis/gcm/engine/heartbeat_manager.h
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/google_apis/gcm/engine/heartbeat_manager_unittest.cc
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/google_apis/gcm/engine/mcs_client.cc
[modify] https://crrev.com/b6c66b26dba3551150ad3b8156c080540cc43b10/google_apis/gcm/engine/mcs_client.h

Project Member

Comment 14 by bugdroid1@chromium.org, Jul 9

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

commit 80a546f6b180fe56a9df032733e55c9bb3b021f3
Author: tzik <tzik@chromium.org>
Date: Mon Jul 09 01:46:11 2018

Replace base::Timer with behavior-specific timers in bluetooth and tether

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: Ibb692b18572f0e4bc32d33299cc9ae273ae3167c
Reviewed-on: https://chromium-review.googlesource.com/1125716
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573197}
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/ble_connection_manager.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/ble_connection_manager.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/ble_connection_manager_unittest.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/connection_preserver_impl.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/connection_preserver_impl.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/host_scan_scheduler_impl.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/host_scan_scheduler_impl.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/keep_alive_scheduler.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/keep_alive_scheduler.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/master_host_scan_cache.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/master_host_scan_cache_unittest.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/message_transfer_operation.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/message_transfer_operation_unittest.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/timer_factory.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/timer_factory.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/wifi_hotspot_connector.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/components/tether/wifi_hotspot_connector.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/services/secure_channel/ble_advertiser_impl.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/services/secure_channel/ble_advertiser_impl.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/services/secure_channel/fake_one_shot_timer.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/services/secure_channel/fake_timer_factory.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/services/secure_channel/fake_timer_factory.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/services/secure_channel/timer_factory.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/services/secure_channel/timer_factory_impl.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/chromeos/services/secure_channel/timer_factory_impl.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/components/cryptauth/ble/bluetooth_low_energy_weave_client_connection.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/components/cryptauth/ble/bluetooth_low_energy_weave_client_connection.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/components/cryptauth/device_to_device_authenticator.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/components/cryptauth/device_to_device_authenticator.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/components/cryptauth/device_to_device_authenticator_unittest.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/components/cryptauth/sync_scheduler_impl.cc
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/components/cryptauth/sync_scheduler_impl.h
[modify] https://crrev.com/80a546f6b180fe56a9df032733e55c9bb3b021f3/components/cryptauth/sync_scheduler_impl_unittest.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Jul 9

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

commit 7250d50dd6424ac9321c50780b679100028c2cd4
Author: tzik <tzik@chromium.org>
Date: Mon Jul 09 02:16:39 2018

Replace base::Timer with behavior-specific timers in media/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I8699c5bd22fb7acb51e1091c5f7d87d57bb8e3db
Reviewed-on: https://chromium-review.googlesource.com/1125708
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573201}
[modify] https://crrev.com/7250d50dd6424ac9321c50780b679100028c2cd4/chrome/browser/media/media_engagement_browsertest.cc
[modify] https://crrev.com/7250d50dd6424ac9321c50780b679100028c2cd4/chrome/browser/media/media_engagement_contents_observer.cc
[modify] https://crrev.com/7250d50dd6424ac9321c50780b679100028c2cd4/chrome/browser/media/media_engagement_contents_observer.h
[modify] https://crrev.com/7250d50dd6424ac9321c50780b679100028c2cd4/chrome/browser/media/media_engagement_contents_observer_unittest.cc
[modify] https://crrev.com/7250d50dd6424ac9321c50780b679100028c2cd4/media/audio/audio_output_resampler.cc
[modify] https://crrev.com/7250d50dd6424ac9321c50780b679100028c2cd4/media/audio/audio_output_resampler.h
[modify] https://crrev.com/7250d50dd6424ac9321c50780b679100028c2cd4/media/base/test_helpers.cc
[modify] https://crrev.com/7250d50dd6424ac9321c50780b679100028c2cd4/media/blink/video_frame_compositor.cc
[modify] https://crrev.com/7250d50dd6424ac9321c50780b679100028c2cd4/media/blink/video_frame_compositor.h
[modify] https://crrev.com/7250d50dd6424ac9321c50780b679100028c2cd4/media/gpu/video_encode_accelerator_unittest.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 9

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

commit 143508c5706da32e7f747fd3c23bbca373843fc8
Author: tzik <tzik@chromium.org>
Date: Mon Jul 09 03:42:30 2018

Replace base::MockTimer with behavior-specific timers

This CL replaces all MockTimer with MockOneShotTimer or
MockRepeatingTimer as a preparation of OnceCallback support of
base::Timer, and then, removes MockTimer.

Bug:  850247 
Change-Id: Ib691cc2d9fee8a7d38501135464b376666ab4ac8
Reviewed-on: https://chromium-review.googlesource.com/1125653
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573207}
[modify] https://crrev.com/143508c5706da32e7f747fd3c23bbca373843fc8/ash/login/ui/login_pin_view_unittest.cc
[modify] https://crrev.com/143508c5706da32e7f747fd3c23bbca373843fc8/ash/system/network/auto_connect_notifier_unittest.cc
[modify] https://crrev.com/143508c5706da32e7f747fd3c23bbca373843fc8/base/timer/mock_timer.cc
[modify] https://crrev.com/143508c5706da32e7f747fd3c23bbca373843fc8/base/timer/mock_timer.h

Project Member

Comment 17 by bugdroid1@chromium.org, Jul 9

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

commit 08d8d6e015097e631c18683939f82479689857bd
Author: tzik <tzik@chromium.org>
Date: Mon Jul 09 04:11:47 2018

Replace base::Timer with behavior-specific timers in net/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: Iaca4daa947e64a96a25a852ed1a1db332a0d2e5d
Reviewed-on: https://chromium-review.googlesource.com/1125712
Reviewed-by: Matt Menke <mmenke@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573212}
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/chrome/renderer/net/net_error_helper_core.cc
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/chrome/renderer/net/net_error_helper_core.h
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/base/network_throttle_manager_impl.cc
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/base/network_throttle_manager_impl.h
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/dns/mdns_client_impl.cc
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/dns/mdns_client_impl.h
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/http/bidirectional_stream.cc
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/http/bidirectional_stream.h
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/http/bidirectional_stream_impl.h
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/http/bidirectional_stream_unittest.cc
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/quic/chromium/bidirectional_stream_quic_impl.cc
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/quic/chromium/bidirectional_stream_quic_impl.h
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/quic/chromium/bidirectional_stream_quic_impl_unittest.cc
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/spdy/bidirectional_stream_spdy_impl.cc
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/spdy/bidirectional_stream_spdy_impl.h
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/spdy/bidirectional_stream_spdy_impl_unittest.cc
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/websockets/websocket_stream.cc
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/websockets/websocket_stream.h
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/websockets/websocket_stream_create_test_base.cc
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/websockets/websocket_stream_create_test_base.h
[modify] https://crrev.com/08d8d6e015097e631c18683939f82479689857bd/net/websockets/websocket_stream_test.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Jul 9

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

commit 454b8956276099f34b6f7fb6a334a1e862ea0800
Author: tzik <tzik@chromium.org>
Date: Mon Jul 09 06:17:59 2018

Replace base::Timer with behavior-specific timers in content/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: I23be2629b4fe410a0d4f0026b49edc6ad7d81244
Reviewed-on: https://chromium-review.googlesource.com/1128666
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573228}
[modify] https://crrev.com/454b8956276099f34b6f7fb6a334a1e862ea0800/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
[modify] https://crrev.com/454b8956276099f34b6f7fb6a334a1e862ea0800/content/browser/bluetooth/bluetooth_device_chooser_controller.h
[modify] https://crrev.com/454b8956276099f34b6f7fb6a334a1e862ea0800/content/browser/devtools/protocol/tracing_handler.cc
[modify] https://crrev.com/454b8956276099f34b6f7fb6a334a1e862ea0800/content/browser/devtools/protocol/tracing_handler.h
[modify] https://crrev.com/454b8956276099f34b6f7fb6a334a1e862ea0800/content/browser/indexed_db/indexed_db_pre_close_task_queue.cc
[modify] https://crrev.com/454b8956276099f34b6f7fb6a334a1e862ea0800/content/browser/indexed_db/indexed_db_pre_close_task_queue.h
[modify] https://crrev.com/454b8956276099f34b6f7fb6a334a1e862ea0800/content/browser/renderer_host/input/touch_selection_controller_client_aura.cc
[modify] https://crrev.com/454b8956276099f34b6f7fb6a334a1e862ea0800/content/browser/renderer_host/input/touch_selection_controller_client_aura.h

Project Member

Comment 19 by bugdroid1@chromium.org, Jul 9

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

commit a1d08a98d7dc780fb2dea48b0032139a95f4058d
Author: tzik <tzik@chromium.org>
Date: Mon Jul 09 09:01:34 2018

Replace base::Timer with behavior-specific timers in ios/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I7484bccaa9dcbc28db6a0c88c48f0cfbb0b53f26
Reviewed-on: https://chromium-review.googlesource.com/1128667
Reviewed-by: Mark Cogan <marq@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573247}
[modify] https://crrev.com/a1d08a98d7dc780fb2dea48b0032139a95f4058d/ios/chrome/browser/reading_list/reading_list_web_state_observer.h
[modify] https://crrev.com/a1d08a98d7dc780fb2dea48b0032139a95f4058d/ios/chrome/browser/reading_list/reading_list_web_state_observer.mm
[modify] https://crrev.com/a1d08a98d7dc780fb2dea48b0032139a95f4058d/ios/chrome/browser/ui/authentication/authentication_flow_performer.mm
[modify] https://crrev.com/a1d08a98d7dc780fb2dea48b0032139a95f4058d/ios/chrome/browser/ui/authentication/chrome_signin_view_controller.mm

Project Member

Comment 20 by bugdroid1@chromium.org, Jul 9

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

commit db344f5ae34ef60d92a08b9c95a2bab286438165
Author: tzik <tzik@chromium.org>
Date: Mon Jul 09 23:31:23 2018

Replace base::Timer with behavior-specific timers in tools/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: I38b7d932304466a9d86bbd577f9918149914f8ea
Reviewed-on: https://chromium-review.googlesource.com/1128694
Reviewed-by: Martin Barbella <mbarbella@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573522}
[modify] https://crrev.com/db344f5ae34ef60d92a08b9c95a2bab286438165/tools/ipc_fuzzer/message_replay/replay_process.cc
[modify] https://crrev.com/db344f5ae34ef60d92a08b9c95a2bab286438165/tools/ipc_fuzzer/message_replay/replay_process.h

Project Member

Comment 21 by bugdroid1@chromium.org, Jul 9

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

commit 71f717eb7aa34f7472e83b4058f066a21929e50a
Author: tzik <tzik@chromium.org>
Date: Mon Jul 09 23:32:32 2018

Replace base::Timer with behavior-specific timers in extensions/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: I2a7a85a39ba25da01cec2b151d2911f7dba8029a
Reviewed-on: https://chromium-review.googlesource.com/1128691
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573524}
[modify] https://crrev.com/71f717eb7aa34f7472e83b4058f066a21929e50a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.h
[modify] https://crrev.com/71f717eb7aa34f7472e83b4058f066a21929e50a/chrome/browser/extensions/api/tab_capture/offscreen_tab.cc
[modify] https://crrev.com/71f717eb7aa34f7472e83b4058f066a21929e50a/chrome/browser/extensions/api/tab_capture/offscreen_tab.h
[modify] https://crrev.com/71f717eb7aa34f7472e83b4058f066a21929e50a/extensions/browser/updater/request_queue.h
[modify] https://crrev.com/71f717eb7aa34f7472e83b4058f066a21929e50a/extensions/browser/updater/request_queue_impl.h
[modify] https://crrev.com/71f717eb7aa34f7472e83b4058f066a21929e50a/extensions/renderer/api/display_source/wifi_display/wifi_display_session.cc
[modify] https://crrev.com/71f717eb7aa34f7472e83b4058f066a21929e50a/extensions/renderer/api/display_source/wifi_display/wifi_display_session.h

Project Member

Comment 22 by bugdroid1@chromium.org, Jul 10

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

commit 32768d58f4a9fea9ebddd80de942668ef27b351c
Author: tzik <tzik@chromium.org>
Date: Tue Jul 10 01:08:32 2018

Replace base::Timer with behavior-specific timers in components/ and services/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: I6800f4ebed2dd3f4d33aa4256ceacb4677b78d0b
Reviewed-on: https://chromium-review.googlesource.com/1128669
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573573}
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/browser_watcher/window_hang_monitor_win.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/browser_watcher/window_hang_monitor_win.h
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/cast_channel/cast_socket.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/cast_channel/cast_socket.h
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/cast_channel/cast_socket_unittest.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/cast_channel/keep_alive_delegate.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/cast_channel/keep_alive_delegate.h
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/cast_channel/keep_alive_delegate_unittest.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/component_updater/timer.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/component_updater/timer.h
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/data_usage/android/traffic_stats_amortizer.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/data_usage/android/traffic_stats_amortizer.h
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/data_usage/android/traffic_stats_amortizer_unittest.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/domain_reliability/util.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/drive/drive_notification_manager.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/drive/drive_notification_manager.h
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/drive/file_write_watcher.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/history/core/browser/browsing_history_service.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/history/core/browser/browsing_history_service.h
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/history/core/browser/browsing_history_service_unittest.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/sync/engine/net/http_bridge.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/sync/engine/net/http_bridge.h
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/visitedlink/browser/visitedlink_event_listener.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/components/visitedlink/browser/visitedlink_event_listener.h
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/services/resource_coordinator/observers/ipc_volume_reporter.cc
[modify] https://crrev.com/32768d58f4a9fea9ebddd80de942668ef27b351c/services/resource_coordinator/observers/ipc_volume_reporter.h

Project Member

Comment 23 by bugdroid1@chromium.org, Jul 10

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

commit d4eba7a797deff824ae53f561124a8f567df03d6
Author: tzik <tzik@chromium.org>
Date: Tue Jul 10 01:12:14 2018

Replace base::Timer with behavior-specific timers in vr/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ic479d078f2c373e02c960e8051430a427f28143f
Reviewed-on: https://chromium-review.googlesource.com/1128690
Reviewed-by: Christopher Grant <cjgrant@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573576}
[modify] https://crrev.com/d4eba7a797deff824ae53f561124a8f567df03d6/chrome/browser/android/vr/vr_shell.cc
[modify] https://crrev.com/d4eba7a797deff824ae53f561124a8f567df03d6/chrome/browser/android/vr/vr_shell.h
[modify] https://crrev.com/d4eba7a797deff824ae53f561124a8f567df03d6/chrome/browser/vr/speech_recognizer.cc
[modify] https://crrev.com/d4eba7a797deff824ae53f561124a8f567df03d6/chrome/browser/vr/speech_recognizer.h

Project Member

Comment 24 by bugdroid1@chromium.org, Jul 10

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

commit b342453fd1c914d4939743d262af4c3fd9d3be3d
Author: tzik <tzik@chromium.org>
Date: Tue Jul 10 02:15:20 2018

Replace base::Timer with behavior-specific timers in ash/ and chromeos/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: Ic99f2456dbb1b477ebb8f320b6a472d5a0e4c6bf
Reviewed-on: https://chromium-review.googlesource.com/1128663
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573598}
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/ash/autoclick/common/autoclick_controller_common.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/ash/autoclick/common/autoclick_controller_common.h
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/ash/components/cursor/cursor_view.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/ash/components/cursor/cursor_view.h
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/ash/laser/laser_pointer_view.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/ash/laser/laser_pointer_view.h
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/ash/login/ui/login_pin_view.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/ash/login/ui/login_pin_view.h
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/ash/system/network/auto_connect_notifier.h
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/ash/system/session/logout_confirmation_controller.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/ash/system/session/logout_confirmation_controller.h
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/chromeos/arc/voice_interaction/highlighter_controller_client.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/chromeos/arc/voice_interaction/highlighter_controller_client.h
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/chromeos/attestation/platform_verification_flow.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/chromeos/attestation/platform_verification_flow.h
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/chromeos/certificate_provider/certificate_requests.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/chromeos/login/screens/user_image_screen.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/chromeos/login/screens/user_image_screen.h
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/chromeos/resource_reporter/resource_reporter_unittest.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/chromeos/tether/tether_service.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/chromeos/tether/tether_service.h
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/ui/ash/multi_user/user_switch_animator_chromeos.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/ui/ash/multi_user/user_switch_animator_chromeos.h
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/ui/ash/tab_scrubber.cc
[modify] https://crrev.com/b342453fd1c914d4939743d262af4c3fd9d3be3d/chrome/browser/ui/ash/tab_scrubber.h

Project Member

Comment 25 by bugdroid1@chromium.org, Jul 10

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

commit 902047165f93a6efb7b70a9b431d252e3c5e002c
Author: tzik <tzik@chromium.org>
Date: Tue Jul 10 23:41:29 2018

Replace base::Timer with behavior-specific timers in enrollment/ and policy/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: If83f289ad4c284f21d297b813d7ad25e68a2dd5b
Reviewed-on: https://chromium-review.googlesource.com/1130561
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573989}
[modify] https://crrev.com/902047165f93a6efb7b70a9b431d252e3c5e002c/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc
[modify] https://crrev.com/902047165f93a6efb7b70a9b431d252e3c5e002c/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.h
[modify] https://crrev.com/902047165f93a6efb7b70a9b431d252e3c5e002c/chrome/browser/chromeos/policy/active_directory_policy_manager.h
[modify] https://crrev.com/902047165f93a6efb7b70a9b431d252e3c5e002c/chrome/browser/chromeos/policy/pre_signin_policy_fetcher.h
[modify] https://crrev.com/902047165f93a6efb7b70a9b431d252e3c5e002c/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h

Project Member

Comment 26 by bugdroid1@chromium.org, Jul 11

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

commit 9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d
Author: tzik <tzik@chromium.org>
Date: Wed Jul 11 02:27:25 2018

Replace base::Timer with behavior-specific timers in //remoting

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: I699518b6d70fe9f41a6516e11b68997ae7e6fda9
Reviewed-on: https://chromium-review.googlesource.com/1125718
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574042}
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/host/backoff_timer.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/host/backoff_timer.h
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/host/mouse_shape_pump.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/host/mouse_shape_pump.h
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/host/security_key/security_key_socket.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/host/security_key/security_key_socket.h
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/protocol/authenticator_test_base.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/protocol/capture_scheduler.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/protocol/capture_scheduler.h
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/protocol/ssl_hmac_channel_authenticator_unittest.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/protocol/video_frame_pump.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/protocol/video_frame_pump.h
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/test/app_remoting_connected_client_fixture.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/test/app_remoting_connected_client_fixture.h
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/test/app_remoting_connection_helper.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/test/app_remoting_connection_helper.h
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/test/app_remoting_latency_test_fixture.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/test/app_remoting_latency_test_fixture.h
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/test/app_remoting_report_issue_request_unittest.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/test/chromoting_test_fixture.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/test/connection_time_observer_unittest.cc
[modify] https://crrev.com/9cd62f9dbddcf9cafe967e0173ba5cff51f79b1d/remoting/test/test_video_renderer_unittest.cc

Project Member

Comment 27 by bugdroid1@chromium.org, Jul 12

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

commit f550a61d86c912dabe13cc71ea1e81762b951ae4
Author: tzik <tzik@chromium.org>
Date: Thu Jul 12 02:25:34 2018

Add base::OneShotTimer::FireNow() as a replacement of user_task()

This CL adds base::OneShotTimer::FireNow(), and replaces all user_task()
call on base::OneShotTimer with FireNow(), as a preparation of
OnceCallback support of OneShotTimer.

After OneShotTimer starts supporting OnceCallback, user_task() needs to
change the type of its return value to `const OnceClosure&`, which is
unusable to run the callback. Assuming all users of user_task() of
OneShotTimer run the resulting callback immediately and stop the timer,
FireNow should work as the replacement.

Bug:  850247 
Change-Id: I52617fecfaf75aee19d681838af0e8a6b6f736a1
Reviewed-on: https://chromium-review.googlesource.com/1128684
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Egor Pasko <pasko@chromium.org>
Reviewed-by: Xiangjun Zhang <xjz@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574467}
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/ash/lock_screen_action/lock_screen_note_display_state_handler_unittest.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/ash/policy/policy_recommendation_restorer_unittest.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/ash/system/night_light/night_light_controller.h
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/ash/system/night_light/night_light_controller_unittest.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/ash/system/power/power_button_controller_test_api.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/ash/system/power/power_button_screenshot_controller_test_api.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/ash/wm/immersive_fullscreen_controller_unittest.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/base/timer/timer.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/base/timer/timer.h
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/chrome/browser/chromeos/arc/voice_interaction/highlighter_controller_client.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/chrome/browser/chromeos/login/screens/update_screen_browsertest.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/components/arc/power/arc_power_bridge.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/components/sync/driver/data_type_manager_impl_unittest.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/components/sync/driver/model_association_manager_unittest.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/components/variations/variations_request_scheduler_mobile_unittest.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/content/browser/indexed_db/indexed_db_backing_store.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/content/browser/indexed_db/indexed_db_factory_unittest.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/content/browser/renderer_host/input/mouse_wheel_phase_handler.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/media/remoting/renderer_controller_unittest.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/net/disk_cache/simple/simple_index_unittest.cc
[modify] https://crrev.com/f550a61d86c912dabe13cc71ea1e81762b951ae4/ui/display/manager/display_configurator.cc

Project Member

Comment 28 by bugdroid1@chromium.org, Jul 12

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

commit 550a880d7628b63df3bddfa634a17b915f88c85b
Author: tzik <tzik@chromium.org>
Date: Thu Jul 12 21:29:13 2018

Replace base::Timer with behavior-specific timers in //chrome and //ui

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug:  850247 
Change-Id: I842cb4ffc6eeb2715b7abd710a232230fae627bf
Reviewed-on: https://chromium-review.googlesource.com/1128779
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574729}
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/conflicts/module_blacklist_cache_updater_win.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/conflicts/module_blacklist_cache_updater_win.h
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/conflicts/module_database_win.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/conflicts/module_database_win.h
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/google/google_search_domain_mixing_metrics_emitter.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/google/google_search_domain_mixing_metrics_emitter.h
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/notifications/notification_permission_context.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/profiles/profile_destroyer.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/profiles/profile_destroyer.h
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/speech/speech_recognizer.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/task_manager/task_manager_interface.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/task_manager/task_manager_interface.h
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/bookmarks/bookmark_browsertest.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/cocoa/fullscreen/fullscreen_toolbar_animation_controller.h
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/cocoa/fullscreen/fullscreen_toolbar_animation_controller.mm
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/hung_plugin_tab_helper.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/media_router/media_router_ui_base.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/views/confirm_quit_bubble_controller.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/views/confirm_quit_bubble_controller.h
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/views/confirm_quit_bubble_controller_unittest.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/views/tabs/tab_drag_controller.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/views/toolbar/browser_app_menu_button.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/chrome/browser/ui/views/toolbar/browser_app_menu_button.h
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/ui/display/mac/screen_mac.mm
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/ui/views/animation/ink_drop_impl.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/ui/views/controls/scroll_view_unittest.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/ui/views/controls/scrollbar/base_scroll_bar.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/ui/views/controls/scrollbar/base_scroll_bar.h
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/ui/views/controls/scrollbar/cocoa_scroll_bar.h
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/ui/views/controls/scrollbar/cocoa_scroll_bar.mm
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/ui/views/controls/scrollbar/overlay_scroll_bar.cc
[modify] https://crrev.com/550a880d7628b63df3bddfa634a17b915f88c85b/ui/views/controls/scrollbar/overlay_scroll_bar.h

Project Member

Comment 29 by bugdroid1@chromium.org, Jul 19

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

commit d93bb0863135af7d09e98ecfbbe4f45954f62258
Author: tzik <tzik@chromium.org>
Date: Thu Jul 19 11:54:14 2018

Rename base::Timer to base::TimerBase

This CL updates all remaining user of base::Timer to use its subclasses,
and renames base::Timer to base::TimerBase to ensure there's no user
anymore.

Bug:  850247 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I73d70cbbe338e17f5d7de34acd1c961ce05c4305
Reviewed-on: https://chromium-review.googlesource.com/1124200
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576447}
[modify] https://crrev.com/d93bb0863135af7d09e98ecfbbe4f45954f62258/base/files/important_file_writer.cc
[modify] https://crrev.com/d93bb0863135af7d09e98ecfbbe4f45954f62258/base/files/important_file_writer.h
[modify] https://crrev.com/d93bb0863135af7d09e98ecfbbe4f45954f62258/base/timer/mock_timer.h
[modify] https://crrev.com/d93bb0863135af7d09e98ecfbbe4f45954f62258/base/timer/timer.cc
[modify] https://crrev.com/d93bb0863135af7d09e98ecfbbe4f45954f62258/base/timer/timer.h
[modify] https://crrev.com/d93bb0863135af7d09e98ecfbbe4f45954f62258/base/timer/timer_unittest.cc

Project Member

Comment 30 by bugdroid1@chromium.org, Jul 25

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

commit f3336c9f54cfe4d26e71766eefd2b9a67fd2bc26
Author: tzik <tzik@chromium.org>
Date: Wed Jul 25 03:15:50 2018

Support base::OnceCallback on base::OneShotTimer

This moves task management logic of base::internal::TimerBase to its
subclasses, so that subclasses can hold user tasks as different types
for each.
Specifically, OneShotTimer's task type is converted to OnceClosure after
this CL, and it gets supporting OnceCallback.

Bug:  850247 
Change-Id: Ie017c2ed6e0fb1fe44937a497576d16e5c3dab68
Reviewed-on: https://chromium-review.googlesource.com/1127215
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577784}
[modify] https://crrev.com/f3336c9f54cfe4d26e71766eefd2b9a67fd2bc26/base/timer/timer.cc
[modify] https://crrev.com/f3336c9f54cfe4d26e71766eefd2b9a67fd2bc26/base/timer/timer.h
[modify] https://crrev.com/f3336c9f54cfe4d26e71766eefd2b9a67fd2bc26/base/timer/timer_unittest.cc
[modify] https://crrev.com/f3336c9f54cfe4d26e71766eefd2b9a67fd2bc26/net/dns/mdns_client_unittest.cc
[modify] https://crrev.com/f3336c9f54cfe4d26e71766eefd2b9a67fd2bc26/net/http/bidirectional_stream_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment