Chromium Code Reviews| Index: components/rlz/rlz_tracker.cc |
| diff --git a/components/rlz/rlz_tracker.cc b/components/rlz/rlz_tracker.cc |
| index 4a1abea602c943e19f2eae90865317410a6aa05f..9ecc535a4e331bfc5327cbed8685ec8a8a3602cd 100644 |
| --- a/components/rlz/rlz_tracker.cc |
| +++ b/components/rlz/rlz_tracker.cc |
| @@ -13,9 +13,12 @@ |
| #include "base/bind.h" |
| #include "base/message_loop/message_loop.h" |
| +#include "base/sequenced_task_runner.h" |
| #include "base/strings/string_util.h" |
| #include "base/strings/stringprintf.h" |
| #include "base/strings/utf_string_conversions.h" |
| +#include "base/task_scheduler/post_task.h" |
| +#include "base/task_scheduler/task_traits.h" |
| #include "base/trace_event/trace_event.h" |
| #include "build/build_config.h" |
| #include "components/rlz/rlz_tracker_delegate.h" |
| @@ -165,8 +168,10 @@ RLZTracker::RLZTracker() |
| omnibox_used_(false), |
| homepage_used_(false), |
| app_list_used_(false), |
| - min_init_delay_(kMinInitDelay) { |
| -} |
| + min_init_delay_(kMinInitDelay), |
| + task_runner_(base::CreateSequencedTaskRunnerWithTraits( |
| + {base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN, |
| + base::WithBaseSyncPrimitives()})) {} |
|
gab
2017/07/17 16:44:20
base::TaskPriority::BACKGROUND? (i.e. RLZ is a ser
Roger Tawa OOO till Jul 10th
2017/07/17 19:19:36
Done.
|
| RLZTracker::~RLZTracker() { |
| } |
| @@ -186,7 +191,6 @@ void RLZTracker::SetDelegate(std::unique_ptr<RLZTrackerDelegate> delegate) { |
| DCHECK(delegate); |
| DCHECK(!delegate_); |
| delegate_ = std::move(delegate); |
| - worker_pool_token_ = delegate_->GetBlockingPool()->GetSequenceToken(); |
| } |
| // static |
| @@ -264,9 +268,9 @@ void RLZTracker::ScheduleDelayedInit(base::TimeDelta delay) { |
| DCHECK(delegate_) << "RLZTracker used before initialization"; |
| // The RLZTracker is a singleton object that outlives any runnable tasks |
| // that will be queued up. |
| - delegate_->GetBlockingPool()->PostDelayedSequencedWorkerTask( |
| - worker_pool_token_, FROM_HERE, |
| - base::Bind(&RLZTracker::DelayedInit, base::Unretained(this)), delay); |
| + task_runner_->PostDelayedTask( |
| + FROM_HERE, base::Bind(&RLZTracker::DelayedInit, base::Unretained(this)), |
| + delay); |
| } |
| void RLZTracker::DelayedInit() { |
| @@ -302,10 +306,8 @@ void RLZTracker::DelayedInit() { |
| void RLZTracker::ScheduleFinancialPing() { |
| DCHECK(delegate_) << "RLZTracker used before initialization"; |
| - delegate_->GetBlockingPool()->PostSequencedWorkerTaskWithShutdownBehavior( |
| - worker_pool_token_, FROM_HERE, |
| - base::Bind(&RLZTracker::PingNowImpl, base::Unretained(this)), |
| - base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
| + task_runner_->PostTask( |
| + FROM_HERE, base::Bind(&RLZTracker::PingNowImpl, base::Unretained(this))); |
| } |
| void RLZTracker::PingNowImpl() { |
| @@ -386,12 +388,9 @@ bool RLZTracker::ScheduleRecordProductEvent(rlz_lib::Product product, |
| if (!delegate_->IsOnUIThread()) |
| return false; |
| - delegate_->GetBlockingPool()->PostSequencedWorkerTaskWithShutdownBehavior( |
| - worker_pool_token_, FROM_HERE, |
| - base::Bind(base::IgnoreResult(&RLZTracker::RecordProductEvent), product, |
| - point, event_id), |
| - base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
| - |
| + task_runner_->PostTask( |
| + FROM_HERE, base::Bind(base::IgnoreResult(&RLZTracker::RecordProductEvent), |
| + product, point, event_id)); |
| return true; |
| } |
| @@ -406,20 +405,19 @@ void RLZTracker::RecordFirstSearch(rlz_lib::AccessPoint point) { |
| // Try to record event now, else set the flag to try later when we |
| // attempt the ping. |
| - if (!RecordProductEvent(rlz_lib::CHROME, point, rlz_lib::FIRST_SEARCH)) |
| + if (!RecordProductEvent(rlz_lib::CHROME, point, rlz_lib::FIRST_SEARCH)) { |
| *record_used = true; |
| - else if (send_ping_immediately_ && point == ChromeOmnibox()) |
| + } else if (send_ping_immediately_ && point == ChromeOmnibox()) { |
| ScheduleDelayedInit(base::TimeDelta()); |
| + } |
| } |
| bool RLZTracker::ScheduleRecordFirstSearch(rlz_lib::AccessPoint point) { |
| DCHECK(delegate_) << "RLZTracker used before initialization"; |
| if (!delegate_->IsOnUIThread()) |
| return false; |
| - delegate_->GetBlockingPool()->PostSequencedWorkerTaskWithShutdownBehavior( |
| - worker_pool_token_, FROM_HERE, |
| - base::Bind(&RLZTracker::RecordFirstSearch, base::Unretained(this), point), |
| - base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
| + task_runner_->PostTask(FROM_HERE, base::Bind(&RLZTracker::RecordFirstSearch, |
| + base::Unretained(this), point)); |
| return true; |
| } |
| @@ -504,11 +502,9 @@ bool RLZTracker::ScheduleGetAccessPointRlz(rlz_lib::AccessPoint point) { |
| return false; |
| base::string16* not_used = nullptr; |
| - delegate_->GetBlockingPool()->PostSequencedWorkerTaskWithShutdownBehavior( |
| - worker_pool_token_, FROM_HERE, |
| - base::Bind(base::IgnoreResult(&RLZTracker::GetAccessPointRlz), point, |
| - not_used), |
| - base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
| + task_runner_->PostTask( |
| + FROM_HERE, base::Bind(base::IgnoreResult(&RLZTracker::GetAccessPointRlz), |
| + point, not_used)); |
| return true; |
| } |
| @@ -532,10 +528,8 @@ bool RLZTracker::ScheduleClearRlzState() { |
| if (!delegate_->IsOnUIThread()) |
| return false; |
| - delegate_->GetBlockingPool()->PostSequencedWorkerTaskWithShutdownBehavior( |
| - worker_pool_token_, FROM_HERE, |
| - base::Bind(&RLZTracker::ClearRlzStateImpl, base::Unretained(this)), |
| - base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
| + task_runner_->PostTask(FROM_HERE, base::Bind(&RLZTracker::ClearRlzStateImpl, |
| + base::Unretained(this))); |
| return true; |
| } |
| #endif |