| Index: chrome/browser/rlz/rlz.h
|
| diff --git a/chrome/browser/rlz/rlz.h b/chrome/browser/rlz/rlz.h
|
| index 6a1d3c2310ff9dd3a32aaafb31c0753796ca7be8..aa02d497246749953ba1a885f0450534bf19f833 100644
|
| --- a/chrome/browser/rlz/rlz.h
|
| +++ b/chrome/browser/rlz/rlz.h
|
| @@ -15,11 +15,12 @@
|
| #include "base/basictypes.h"
|
| #include "base/memory/singleton.h"
|
| #include "base/string16.h"
|
| -#include "base/threading/thread.h"
|
| +#include "base/threading/sequenced_worker_pool.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
| #include "rlz/lib/rlz_lib.h"
|
|
|
| +class Profile;
|
| namespace net {
|
| class URLRequestContextGetter;
|
| }
|
| @@ -41,11 +42,9 @@ class RLZTracker : public content::NotificationObserver {
|
| // registers some events when 'first-run' is true.
|
| //
|
| // If the chrome brand is organic (no partners) then the pings don't occur.
|
| - static bool InitRlzDelayed(bool first_run,
|
| - int delay,
|
| - bool is_google_default_search,
|
| - bool is_google_homepage,
|
| - bool is_google_in_startpages);
|
| + static bool InitRlzFromProfileDelayed(Profile* profile,
|
| + bool first_run,
|
| + int delay);
|
|
|
| // Records an RLZ event. Some events can be access point independent.
|
| // Returns false it the event could not be recorded. Requires write access
|
| @@ -82,6 +81,13 @@ class RLZTracker : public content::NotificationObserver {
|
| RLZTracker();
|
| virtual ~RLZTracker();
|
|
|
| + // Called by InitRlzFromProfileDelayed with values taken from |profile|.
|
| + static bool InitRlzDelayed(bool first_run,
|
| + int delay,
|
| + bool is_google_default_search,
|
| + bool is_google_homepage,
|
| + bool is_google_in_startpages);
|
| +
|
| // Performs initialization of RLZ tracker that is purposefully delayed so
|
| // that it does not interfere with chrome startup time.
|
| virtual void DelayedInit();
|
| @@ -113,10 +119,6 @@ class RLZTracker : public content::NotificationObserver {
|
| bool google_default_homepage,
|
| bool is_google_in_startpages);
|
|
|
| - // Initializes task runners for tasks that access RlzValueStore and perform
|
| - // disk I/O.
|
| - virtual bool InitWorkers();
|
| -
|
| // Implementation called from RecordProductEvent() static method.
|
| bool RecordProductEventImpl(rlz_lib::Product product,
|
| rlz_lib::AccessPoint point,
|
| @@ -169,12 +171,9 @@ class RLZTracker : public content::NotificationObserver {
|
| bool is_google_homepage_;
|
| bool is_google_in_startpages_;
|
|
|
| - // Dedicated RLZ thread for accessing RlzValueStore and doing I/O.
|
| - base::Thread rlz_thread_;
|
| -
|
| - // Sequenced task runner used to post blocking tasks that access
|
| - // RlzValueStore.
|
| - base::SequencedTaskRunner* blocking_task_runner_;
|
| + // Unique sequence token so that tasks posted by RLZTracker are executed
|
| + // sequentially in the blocking pool.
|
| + base::SequencedWorkerPool::SequenceToken worker_pool_token_;
|
|
|
| // URLRequestContextGetter used by RLZ library.
|
| net::URLRequestContextGetter* url_request_context_;
|
| @@ -193,6 +192,10 @@ class RLZTracker : public content::NotificationObserver {
|
| bool omnibox_used_;
|
| bool homepage_used_;
|
|
|
| + // Main and (optionally) reactivation brand codes, assigned on UI thread.
|
| + std::string brand_;
|
| + std::string reactivation_brand_;
|
| +
|
| content::NotificationRegistrar registrar_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(RLZTracker);
|
|
|