| Index: components/rlz/rlz_tracker.cc
|
| diff --git a/components/rlz/rlz_tracker.cc b/components/rlz/rlz_tracker.cc
|
| index 4a1abea602c943e19f2eae90865317410a6aa05f..d7d0c62fa3ae27243a7b1d3d1957c52b3449cd2c 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(), base::TaskPriority::BACKGROUND})) {}
|
|
|
| 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
|
|
|