| Index: chrome/browser/notifications/sync_notifier/chrome_notifier_service.h
|
| diff --git a/chrome/browser/notifications/sync_notifier/chrome_notifier_service.h b/chrome/browser/notifications/sync_notifier/chrome_notifier_service.h
|
| index b500fcb624ff6fa6bca8091670a7462785042e39..c68e40d2b28c880a824fce53478d48651c666a04 100644
|
| --- a/chrome/browser/notifications/sync_notifier/chrome_notifier_service.h
|
| +++ b/chrome/browser/notifications/sync_notifier/chrome_notifier_service.h
|
| @@ -30,12 +30,11 @@ struct Notifier;
|
| }
|
|
|
| namespace notifier {
|
| -class SyncedNotificationAppInfoTemp;
|
| +class SyncedNotificationAppInfo;
|
| +class SyncedNotificationAppInfoService;
|
|
|
| // The name of our first synced notification service.
|
| -// TODO(petewil): remove this hardcoding once we have the synced notification
|
| -// signalling sync data type set up to provide this.
|
| -// crbug.com/248337
|
| +// TODO(petewil): Remove this once we figure out how to do UMA per name.
|
| extern const char kFirstSyncedNotificationServiceId[];
|
| extern const char kServiceEnabledOnce[];
|
| extern const char kSyncedNotificationFirstRun[];
|
| @@ -102,14 +101,25 @@ class ChromeNotifierService : public syncer::SyncableService,
|
| const std::string& notifier_id,
|
| bool enabled);
|
|
|
| + // When app ids are added or removed, unblock or remove associated messages.
|
| + void SetAddedAppIds(std::vector<std::string> added_app_ids);
|
| + void SetRemovedAppIds(std::vector<std::string> removed_app_ids);
|
| +
|
| // Register the preferences we use to save state.
|
| static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
|
|
|
| Profile* profile() const { return profile_; }
|
|
|
| + // Find and retun the sending service Id for this notification.
|
| + std::string GetSendingServiceId(
|
| + const SyncedNotification* synced_notification);
|
| +
|
| // Functions for test.
|
| void AddForTest(scoped_ptr<notifier::SyncedNotification> notification);
|
|
|
| + void SetSyncedNotificationAppInfoServiceForTest(
|
| + SyncedNotificationAppInfoService* synced_notification_app_info_service);
|
| +
|
| // If we allow the tests to do bitmap fetching, they will attempt to fetch
|
| // a URL from the web, which will fail. We can already test the majority
|
| // of what we want without also trying to fetch bitmaps. Other tests will
|
| @@ -166,10 +176,11 @@ class ChromeNotifierService : public syncer::SyncableService,
|
| void BuildServiceListValueInplace(
|
| std::set<std::string> services, base::ListValue* list_value);
|
|
|
| - SyncedNotificationAppInfoTemp* FindAppInfo(const std::string& app_id) const;
|
| + notifier::SyncedNotificationAppInfo* FindAppInfoByAppId(
|
| + const std::string& app_id) const;
|
|
|
| const Notification CreateWelcomeNotificationForService(
|
| - SyncedNotificationAppInfoTemp* app_info);
|
| + SyncedNotificationAppInfo* app_info);
|
|
|
| // Preferences for storing which SyncedNotificationServices are enabled
|
| StringListPrefMember enabled_sending_services_prefs_;
|
| @@ -187,8 +198,11 @@ class ChromeNotifierService : public syncer::SyncableService,
|
| bool synced_notification_first_run_;
|
| static bool avoid_bitmap_fetching_for_test_;
|
| base::ThreadChecker thread_checker_;
|
| + // Unowned pointer to the App Info service. The lifetime is managed by the
|
| + // profile service, this service depends on the App Info service, so it should
|
| + // always be in scope whenever our service is active.
|
| + SyncedNotificationAppInfoService* synced_notification_app_info_service_;
|
|
|
| - ScopedVector<SyncedNotificationAppInfoTemp> app_info_data_;
|
| // TODO(petewil): Consider whether a map would better suit our data.
|
| // If there are many entries, lookup time may trump locality of reference.
|
| ScopedVector<SyncedNotification> notification_data_;
|
| @@ -202,6 +216,8 @@ class ChromeNotifierService : public syncer::SyncableService,
|
| FRIEND_TEST_ALL_PREFIXES(ChromeNotifierServiceTest,
|
| GetEnabledSendingServicesFromPreferencesTest);
|
| FRIEND_TEST_ALL_PREFIXES(ChromeNotifierServiceTest, CheckFindAppInfo);
|
| + FRIEND_TEST_ALL_PREFIXES(ChromeNotifierServiceTest, SetAddedAppIdsTest);
|
| + FRIEND_TEST_ALL_PREFIXES(ChromeNotifierServiceTest, SetRemovedAppIdsTest);
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ChromeNotifierService);
|
| };
|
|
|