Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1087)

Side by Side Diff: components/sync_sessions/sessions_sync_manager.h

Issue 2343463003: [Sync] Fix namespaces for the sync_sessions component. (Closed)
Patch Set: Fix gn. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_SYNC_SESSIONS_SESSIONS_SYNC_MANAGER_H_ 5 #ifndef COMPONENTS_SYNC_SESSIONS_SESSIONS_SYNC_MANAGER_H_
6 #define COMPONENTS_SYNC_SESSIONS_SESSIONS_SYNC_MANAGER_H_ 6 #define COMPONENTS_SYNC_SESSIONS_SESSIONS_SYNC_MANAGER_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 class SessionSpecifics; 45 class SessionSpecifics;
46 class SessionTab; 46 class SessionTab;
47 class SessionWindow; 47 class SessionWindow;
48 class TabNavigation; 48 class TabNavigation;
49 } // namespace sync_pb 49 } // namespace sync_pb
50 50
51 namespace extensions { 51 namespace extensions {
52 class ExtensionSessionsTest; 52 class ExtensionSessionsTest;
53 } // namespace extensions 53 } // namespace extensions
54 54
55 namespace browser_sync { 55 namespace sync_sessions {
56 56
57 class SyncedTabDelegate; 57 class SyncedTabDelegate;
58 class SyncedWindowDelegatesGetter; 58 class SyncedWindowDelegatesGetter;
59 59
60 // Contains all logic for associating the Chrome sessions model and 60 // Contains all logic for associating the Chrome sessions model and
61 // the sync sessions model. 61 // the sync sessions model.
62 class SessionsSyncManager : public syncer::SyncableService, 62 class SessionsSyncManager : public syncer::SyncableService,
63 public sync_driver::OpenTabsUIDelegate, 63 public OpenTabsUIDelegate,
64 public LocalSessionEventHandler { 64 public LocalSessionEventHandler {
65 public: 65 public:
66 SessionsSyncManager(sync_sessions::SyncSessionsClient* sessions_client, 66 SessionsSyncManager(SyncSessionsClient* sessions_client,
67 sync_driver::SyncPrefs* sync_prefs, 67 sync_driver::SyncPrefs* sync_prefs,
68 sync_driver::LocalDeviceInfoProvider* local_device, 68 sync_driver::LocalDeviceInfoProvider* local_device,
69 std::unique_ptr<LocalSessionEventRouter> router, 69 std::unique_ptr<LocalSessionEventRouter> router,
70 const base::Closure& sessions_updated_callback, 70 const base::Closure& sessions_updated_callback,
71 const base::Closure& datatype_refresh_callback); 71 const base::Closure& datatype_refresh_callback);
72 ~SessionsSyncManager() override; 72 ~SessionsSyncManager() override;
73 73
74 // syncer::SyncableService implementation. 74 // syncer::SyncableService implementation.
75 syncer::SyncMergeResult MergeDataAndStartSyncing( 75 syncer::SyncMergeResult MergeDataAndStartSyncing(
76 syncer::ModelType type, 76 syncer::ModelType type,
77 const syncer::SyncDataList& initial_sync_data, 77 const syncer::SyncDataList& initial_sync_data,
78 std::unique_ptr<syncer::SyncChangeProcessor> sync_processor, 78 std::unique_ptr<syncer::SyncChangeProcessor> sync_processor,
79 std::unique_ptr<syncer::SyncErrorFactory> error_handler) override; 79 std::unique_ptr<syncer::SyncErrorFactory> error_handler) override;
80 void StopSyncing(syncer::ModelType type) override; 80 void StopSyncing(syncer::ModelType type) override;
81 syncer::SyncDataList GetAllSyncData(syncer::ModelType type) const override; 81 syncer::SyncDataList GetAllSyncData(syncer::ModelType type) const override;
82 syncer::SyncError ProcessSyncChanges( 82 syncer::SyncError ProcessSyncChanges(
83 const tracked_objects::Location& from_here, 83 const tracked_objects::Location& from_here,
84 const syncer::SyncChangeList& change_list) override; 84 const syncer::SyncChangeList& change_list) override;
85 85
86 // OpenTabsUIDelegate implementation. 86 // OpenTabsUIDelegate implementation.
87 bool GetSyncedFaviconForPageURL( 87 bool GetSyncedFaviconForPageURL(
88 const std::string& pageurl, 88 const std::string& pageurl,
89 scoped_refptr<base::RefCountedMemory>* favicon_png) const override; 89 scoped_refptr<base::RefCountedMemory>* favicon_png) const override;
90 bool GetAllForeignSessions( 90 bool GetAllForeignSessions(
91 std::vector<const sync_driver::SyncedSession*>* sessions) override; 91 std::vector<const SyncedSession*>* sessions) override;
92 bool GetForeignSession( 92 bool GetForeignSession(
93 const std::string& tag, 93 const std::string& tag,
94 std::vector<const sessions::SessionWindow*>* windows) override; 94 std::vector<const sessions::SessionWindow*>* windows) override;
95 bool GetForeignTab(const std::string& tag, 95 bool GetForeignTab(const std::string& tag,
96 const SessionID::id_type tab_id, 96 const SessionID::id_type tab_id,
97 const sessions::SessionTab** tab) override; 97 const sessions::SessionTab** tab) override;
98 bool GetForeignSessionTabs( 98 bool GetForeignSessionTabs(
99 const std::string& tag, 99 const std::string& tag,
100 std::vector<const sessions::SessionTab*>* tabs) override; 100 std::vector<const sessions::SessionTab*>* tabs) override;
101 void DeleteForeignSession(const std::string& tag) override; 101 void DeleteForeignSession(const std::string& tag) override;
102 bool GetLocalSession( 102 bool GetLocalSession(const SyncedSession** local_session) override;
103 const sync_driver::SyncedSession** local_session) override;
104 103
105 // LocalSessionEventHandler implementation. 104 // LocalSessionEventHandler implementation.
106 void OnLocalTabModified(SyncedTabDelegate* modified_tab) override; 105 void OnLocalTabModified(SyncedTabDelegate* modified_tab) override;
107 void OnFaviconsChanged(const std::set<GURL>& page_urls, 106 void OnFaviconsChanged(const std::set<GURL>& page_urls,
108 const GURL& icon_url) override; 107 const GURL& icon_url) override;
109 108
110 // Returns the tag used to uniquely identify this machine's session in the 109 // Returns the tag used to uniquely identify this machine's session in the
111 // sync model. 110 // sync model.
112 const std::string& current_machine_tag() const { 111 const std::string& current_machine_tag() const {
113 DCHECK(!current_machine_tag_.empty()); 112 DCHECK(!current_machine_tag_.empty());
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 // that exists in the caller's context. This function will append necessary 223 // that exists in the caller's context. This function will append necessary
225 // changes for processing later. 224 // changes for processing later.
226 void DeleteForeignSessionInternal(const std::string& tag, 225 void DeleteForeignSessionInternal(const std::string& tag,
227 syncer::SyncChangeList* change_output); 226 syncer::SyncChangeList* change_output);
228 227
229 // Used to populate a session header from the session specifics header 228 // Used to populate a session header from the session specifics header
230 // provided. 229 // provided.
231 static void PopulateSessionHeaderFromSpecifics( 230 static void PopulateSessionHeaderFromSpecifics(
232 const sync_pb::SessionHeader& header_specifics, 231 const sync_pb::SessionHeader& header_specifics,
233 base::Time mtime, 232 base::Time mtime,
234 sync_driver::SyncedSession* session_header); 233 SyncedSession* session_header);
235 234
236 // Builds |session_window| from the session specifics window 235 // Builds |session_window| from the session specifics window
237 // provided and updates the SessionTracker with foreign session data created. 236 // provided and updates the SessionTracker with foreign session data created.
238 void BuildSyncedSessionFromSpecifics(const std::string& session_tag, 237 void BuildSyncedSessionFromSpecifics(const std::string& session_tag,
239 const sync_pb::SessionWindow& specifics, 238 const sync_pb::SessionWindow& specifics,
240 base::Time mtime, 239 base::Time mtime,
241 sessions::SessionWindow* session_window); 240 sessions::SessionWindow* session_window);
242 241
243 // Resync local window information. Updates the local sessions header node 242 // Resync local window information. Updates the local sessions header node
244 // with the status of open windows and the order of tabs they contain. Should 243 // with the status of open windows and the order of tabs they contain. Should
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 // specifics is the model type, ie us. We need to generate the tag because it 316 // specifics is the model type, ie us. We need to generate the tag because it
318 // is not passed over the wire for remote data. The use case this function was 317 // is not passed over the wire for remote data. The use case this function was
319 // created for is detecting bad tag hashes from remote data, see 318 // created for is detecting bad tag hashes from remote data, see
320 // crbug.com/604657. 319 // crbug.com/604657.
321 static std::string TagHashFromSpecifics( 320 static std::string TagHashFromSpecifics(
322 const sync_pb::SessionSpecifics& specifics); 321 const sync_pb::SessionSpecifics& specifics);
323 322
324 SyncedWindowDelegatesGetter* synced_window_delegates_getter() const; 323 SyncedWindowDelegatesGetter* synced_window_delegates_getter() const;
325 324
326 // The client of this sync sessions datatype. 325 // The client of this sync sessions datatype.
327 sync_sessions::SyncSessionsClient* const sessions_client_; 326 SyncSessionsClient* const sessions_client_;
328 327
329 // Mapping of current open (local) tabs to their sync identifiers. 328 // Mapping of current open (local) tabs to their sync identifiers.
330 TabLinksMap local_tab_map_; 329 TabLinksMap local_tab_map_;
331 330
332 SyncedSessionTracker session_tracker_; 331 SyncedSessionTracker session_tracker_;
333 FaviconCache favicon_cache_; 332 FaviconCache favicon_cache_;
334 333
335 // Pool of used/available sync nodes associated with local tabs. 334 // Pool of used/available sync nodes associated with local tabs.
336 TabNodePool local_tab_pool_; 335 TabNodePool local_tab_pool_;
337 336
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 372
374 // Callback to inform interested observer that new sessions data has arrived. 373 // Callback to inform interested observer that new sessions data has arrived.
375 base::Closure sessions_updated_callback_; 374 base::Closure sessions_updated_callback_;
376 375
377 // Callback to inform sync that a sync data refresh is requested. 376 // Callback to inform sync that a sync data refresh is requested.
378 base::Closure datatype_refresh_callback_; 377 base::Closure datatype_refresh_callback_;
379 378
380 DISALLOW_COPY_AND_ASSIGN(SessionsSyncManager); 379 DISALLOW_COPY_AND_ASSIGN(SessionsSyncManager);
381 }; 380 };
382 381
383 } // namespace browser_sync 382 } // namespace sync_sessions
384 383
385 #endif // COMPONENTS_SYNC_SESSIONS_SESSIONS_SYNC_MANAGER_H_ 384 #endif // COMPONENTS_SYNC_SESSIONS_SESSIONS_SYNC_MANAGER_H_
OLDNEW
« no previous file with comments | « components/sync_sessions/session_sync_test_helper.cc ('k') | components/sync_sessions/sessions_sync_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698