Chromium Code Reviews| Index: chrome/browser/sync/profile_sync_service.h |
| diff --git a/chrome/browser/sync/profile_sync_service.h b/chrome/browser/sync/profile_sync_service.h |
| index 68f5d89e9b8f4c76cc95b242cfaa248a3a7b9f32..a1c30ddd1732ad46f5b1d57f6687e1954bc0d0de 100644 |
| --- a/chrome/browser/sync/profile_sync_service.h |
| +++ b/chrome/browser/sync/profile_sync_service.h |
| @@ -31,6 +31,7 @@ |
| #include "chrome/browser/sync/glue/synced_device_tracker.h" |
| #include "chrome/browser/sync/profile_sync_service_base.h" |
| #include "chrome/browser/sync/profile_sync_service_observer.h" |
| +#include "chrome/browser/sync/sessions2/sessions_sync_manager.h" |
| #include "chrome/browser/sync/sync_prefs.h" |
| #include "components/browser_context_keyed_service/browser_context_keyed_service.h" |
| #include "content/public/browser/notification_observer.h" |
| @@ -58,7 +59,9 @@ class BackendMigrator; |
| class ChangeProcessor; |
| class DataTypeManager; |
| class DeviceInfo; |
| +class FaviconCache; |
| class JsController; |
| +class OpenTabsUIDelegate; |
| class SessionModelAssociator; |
| namespace sessions { |
| @@ -76,6 +79,8 @@ namespace sync_pb { |
| class EncryptedData; |
| } // namespace sync_pb |
| +using browser_sync::SessionsSyncManager; |
| + |
| // ProfileSyncService is the layer between browser subsystems like bookmarks, |
| // and the sync backend. Each subsystem is logically thought of as being |
| // a sync datatype. |
| @@ -159,16 +164,18 @@ class EncryptedData; |
| // tell the sync engine that setup is completed and it can begin downloading |
| // data from the sync server. |
| // |
| -class ProfileSyncService : public ProfileSyncServiceBase, |
| - public browser_sync::SyncFrontend, |
| - public browser_sync::SyncPrefObserver, |
| - public browser_sync::DataTypeManagerObserver, |
| - public syncer::UnrecoverableErrorHandler, |
| - public content::NotificationObserver, |
| - public BrowserContextKeyedService, |
| - public browser_sync::DataTypeEncryptionHandler, |
| - public OAuth2TokenService::Consumer, |
| - public OAuth2TokenService::Observer { |
| +class ProfileSyncService |
| + : public ProfileSyncServiceBase, |
| + public browser_sync::SyncFrontend, |
| + public browser_sync::SyncPrefObserver, |
| + public browser_sync::DataTypeManagerObserver, |
| + public syncer::UnrecoverableErrorHandler, |
| + public content::NotificationObserver, |
| + public BrowserContextKeyedService, |
| + public browser_sync::DataTypeEncryptionHandler, |
| + public OAuth2TokenService::Consumer, |
| + public OAuth2TokenService::Observer, |
| + public SessionsSyncManager::SyncInternalApiDelegate { |
| public: |
| typedef browser_sync::SyncBackendHost::Status Status; |
| @@ -299,13 +306,33 @@ class ProfileSyncService : public ProfileSyncServiceBase, |
| // Returns the session model associator associated with this type, but only if |
| // the associator is running. If it is doing anything else, it will return |
| // null. |
| - // TODO(zea): Figure out a better way to expose this to the UI elements that |
| - // need it. |
| - virtual browser_sync::SessionModelAssociator* GetSessionModelAssociator(); |
| + // |
| + // ### DONT USE THIS ANYMORE! *** |
|
rlarocque
2013/11/18 23:20:08
That's a pretty strong comment.
nit: Could you be
tim (not reviewing)
2013/11/20 18:38:57
Yeah, I want to be a bit scary :) I'll be removin
|
| + // If you think you want to use this, think again! Can you use |
| + // GetOpenTabsUIDelegate instead? |
| + // TODO(tim): Remove this method. |
| + virtual browser_sync::SessionModelAssociator* |
| + GetSessionModelAssociatorDeprecated(); |
| + |
| + // Return the active OpenTabsUIDelegate. If sessions is not enabled or not |
| + // currently syncing, returns NULL. |
| + virtual browser_sync::OpenTabsUIDelegate* GetOpenTabsUIDelegate(); |
| + // Returns the SyncableService for syncer::SESSIONS. |
| + virtual syncer::SyncableService* GetSessionsSyncableService(); |
| + |
| + // SyncInternalApiDelegate implementation. |
| + // |
| // Returns sync's representation of the local device info. |
| // Return value is an empty scoped_ptr if the device info is unavailable. |
| - virtual scoped_ptr<browser_sync::DeviceInfo> GetLocalDeviceInfo() const; |
| + virtual scoped_ptr<browser_sync::DeviceInfo> GetLocalDeviceInfo() |
| + const OVERRIDE; |
| + |
| + // Gets the guid for the local device. Can be used by other layers to |
| + // to distinguish sync data that belongs to the local device vs data |
| + // that belongs to remote devices. Returns empty string if sync is not |
| + // initialized. |
| + virtual std::string GetLocalDeviceGUID() const OVERRIDE; |
|
rlarocque
2013/11/18 23:20:08
Is this the sync cache GUID? If so, could you ren
tim (not reviewing)
2013/11/20 18:38:57
Good point. I actually had it called CacheGuid (s
|
| // Returns sync's representation of the device info for a client identified |
| // by |client_id|. Return value is an empty scoped ptr if the device info |
| @@ -317,12 +344,6 @@ class ProfileSyncService : public ProfileSyncServiceBase, |
| // with this profile. |
| virtual ScopedVector<browser_sync::DeviceInfo> GetAllSignedInDevices() const; |
| - // Gets the partnership guid for the local device. Can be used by other |
| - // layers to distinguish sync data that belongs to the local device vs |
| - // data that belong to remote devices. Returns null if sync is not |
| - // initialized. |
| - virtual std::string GetLocalDeviceGUID() const; |
| - |
| // Notifies the observer of any device info changes. |
| virtual void AddObserverForDeviceInfoChange( |
| browser_sync::SyncedDeviceTracker::Observer* observer); |
| @@ -675,6 +696,8 @@ class ProfileSyncService : public ProfileSyncServiceBase, |
| // Return sync token status. |
| SyncTokenStatus GetSyncTokenStatus() const; |
| + browser_sync::FaviconCache* GetFaviconCache(); |
| + |
| protected: |
| // Used by test classes that derive from ProfileSyncService. |
| virtual browser_sync::SyncBackendHost* GetBackendForTest(); |
| @@ -1014,6 +1037,8 @@ class ProfileSyncService : public ProfileSyncServiceBase, |
| GoogleServiceAuthError last_get_token_error_; |
| base::Time next_token_request_time_; |
| + scoped_ptr<SessionsSyncManager> sessions_sync_manager_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(ProfileSyncService); |
| }; |