Index: chrome/browser/metrics/variations_service.h |
diff --git a/chrome/browser/metrics/variations_service.h b/chrome/browser/metrics/variations_service.h |
index a431a6dd1498625bf167cd921b22b90428d064bb..f7e9a757b84357b556d2259a01698e5a9c0fe26b 100644 |
--- a/chrome/browser/metrics/variations_service.h |
+++ b/chrome/browser/metrics/variations_service.h |
@@ -16,6 +16,8 @@ |
#include "chrome/browser/metrics/proto/study.pb.h" |
#include "chrome/browser/metrics/proto/trials_seed.pb.h" |
#include "chrome/common/chrome_version_info.h" |
+#include "content/public/browser/notification_observer.h" |
+#include "content/public/browser/notification_registrar.h" |
#include "googleurl/src/gurl.h" |
#include "net/url_request/url_fetcher_delegate.h" |
@@ -29,7 +31,8 @@ namespace chrome_variations { |
// Used to setup field trials based on stored variations seed data, and fetch |
// new seed data from the variations server. |
-class VariationsService : public net::URLFetcherDelegate { |
+class VariationsService : public net::URLFetcherDelegate, |
+ public content::NotificationObserver { |
public: |
VariationsService(); |
virtual ~VariationsService(); |
@@ -43,13 +46,6 @@ class VariationsService : public net::URLFetcherDelegate { |
// implementation for details on the period. |
void StartRepeatedVariationsSeedFetch(); |
- // Starts the fetching process once, where |OnURLFetchComplete| is called with |
- // the response. |
- void FetchVariationsSeed(); |
- |
- // net::URLFetcherDelegate implementation: |
- virtual void OnURLFetchComplete(const net::URLFetcher* source) OVERRIDE; |
- |
// Register Variations related prefs in Local State. |
static void RegisterPrefs(PrefService* prefs); |
@@ -65,6 +61,18 @@ class VariationsService : public net::URLFetcherDelegate { |
FRIEND_TEST_ALL_PREFIXES(VariationsServiceTest, StoreSeed); |
FRIEND_TEST_ALL_PREFIXES(VariationsServiceTest, ValidateStudy); |
+ // Overridden from content::NotificationObserver: |
+ virtual void Observe(int type, |
+ const content::NotificationSource& source, |
+ const content::NotificationDetails& details) OVERRIDE; |
+ |
+ // Starts the fetching process once, where |OnURLFetchComplete| is called with |
+ // the response. |
+ void FetchVariationsSeed(); |
Alexei Svitkine (slow)
2012/07/23 20:26:05
Nit: Move this below OnURLFetchComplete() so that
Alexei Svitkine (slow)
2012/07/23 20:27:53
Oops, this comment was from earlier that I hadn't
|
+ |
+ // net::URLFetcherDelegate implementation: |
Alexei Svitkine (slow)
2012/07/23 20:26:05
Nit: Change this comment to the same style as the
Alexei Svitkine (slow)
2012/07/23 20:27:53
Oops, this comment got duplicated since I had it s
|
+ virtual void OnURLFetchComplete(const net::URLFetcher* source) OVERRIDE; |
+ |
// Store the given seed data to the given local prefs. Note that |seed_data| |
// is assumed to be the raw serialized protobuf data stored in a string. It |
// will be Base64Encoded for storage. If the string is invalid or the encoding |
@@ -131,6 +139,9 @@ class VariationsService : public net::URLFetcherDelegate { |
// member so if VariationsService goes out of scope, the timer is |
// automatically cancelled. |
base::RepeatingTimer<VariationsService> timer_; |
+ |
+ // The registrar used to manage our Notification registrations. |
+ content::NotificationRegistrar registrar_; |
}; |
} // namespace chrome_variations |