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

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

Issue 2499023004: [Sync] Introduce SyncedSessionWindow type. (Closed)
Patch Set: Address comments Created 3 years, 8 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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_SYNCED_SESSION_TRACKER_H_ 5 #ifndef COMPONENTS_SYNC_SESSIONS_SYNCED_SESSION_TRACKER_H_
6 #define COMPONENTS_SYNC_SESSIONS_SYNCED_SESSION_TRACKER_H_ 6 #define COMPONENTS_SYNC_SESSIONS_SYNCED_SESSION_TRACKER_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 SyncSessionsClient* const sessions_client_; 212 SyncSessionsClient* const sessions_client_;
213 213
214 // The mapping of tab/window to their SessionTab/SessionWindow objects. 214 // The mapping of tab/window to their SessionTab/SessionWindow objects.
215 // The SessionTab/SessionWindow objects referred to may be owned either by the 215 // The SessionTab/SessionWindow objects referred to may be owned either by the
216 // session in the |synced_session_map_| or be temporarily unmapped and live in 216 // session in the |synced_session_map_| or be temporarily unmapped and live in
217 // the |unmapped_tabs_|/|unmapped_windows_| collections. 217 // the |unmapped_tabs_|/|unmapped_windows_| collections.
218 // 218 //
219 // Map: session tag -> (tab/window -> SessionTab*/SessionWindow*) 219 // Map: session tag -> (tab/window -> SessionTab*/SessionWindow*)
220 std::map<std::string, std::map<SessionID::id_type, sessions::SessionTab*>> 220 std::map<std::string, std::map<SessionID::id_type, sessions::SessionTab*>>
221 synced_tab_map_; 221 synced_tab_map_;
222 std::map<std::string, std::map<SessionID::id_type, sessions::SessionWindow*>> 222 std::map<std::string, std::map<SessionID::id_type, SyncedSessionWindow*>>
223 synced_window_map_; 223 synced_window_map_;
224 224
225 // The collection that owns the SyncedSessions, and transitively, all of the 225 // The collection that owns the SyncedSessions, and transitively, all of the
226 // windows and tabs they contain. 226 // windows and tabs they contain.
227 // 227 //
228 // Map: session tag -> owned SyncedSession 228 // Map: session tag -> owned SyncedSession
229 std::map<std::string, std::unique_ptr<SyncedSession>> synced_session_map_; 229 std::map<std::string, std::unique_ptr<SyncedSession>> synced_session_map_;
230 230
231 // The collection of tabs/windows not owned by a SyncedSession. This is the 231 // The collection of tabs/windows not owned by a SyncedSession. This is the
232 // case either because 1. (in the case of tabs) they were newly created by 232 // case either because 1. (in the case of tabs) they were newly created by
233 // GetTab() and not yet added to a session, or 2. they were removed from their 233 // GetTab() and not yet added to a session, or 2. they were removed from their
234 // owning session by a call to ResetSessionTracking() and not yet added back. 234 // owning session by a call to ResetSessionTracking() and not yet added back.
235 // 235 //
236 // Map: session tag -> (tab/window id -> owned SessionTab/SessionWindow) 236 // Map: session tag -> (tab/window id -> owned SessionTab/SessionWindow)
237 std::map<std::string, 237 std::map<std::string,
238 std::map<SessionID::id_type, std::unique_ptr<sessions::SessionTab>>> 238 std::map<SessionID::id_type, std::unique_ptr<sessions::SessionTab>>>
239 unmapped_tabs_; 239 unmapped_tabs_;
240 std::map< 240 std::map<std::string,
241 std::string, 241 std::map<SessionID::id_type, std::unique_ptr<SyncedSessionWindow>>>
242 std::map<SessionID::id_type, std::unique_ptr<sessions::SessionWindow>>>
243 unmapped_windows_; 242 unmapped_windows_;
244 243
245 // The tag for this machine's local session, so we can distinguish the foreign 244 // The tag for this machine's local session, so we can distinguish the foreign
246 // sessions. 245 // sessions.
247 std::string local_session_tag_; 246 std::string local_session_tag_;
248 247
249 // Pool of used/available sync nodes associated with local tabs. 248 // Pool of used/available sync nodes associated with local tabs.
250 TabNodePool local_tab_pool_; 249 TabNodePool local_tab_pool_;
251 250
252 DISALLOW_COPY_AND_ASSIGN(SyncedSessionTracker); 251 DISALLOW_COPY_AND_ASSIGN(SyncedSessionTracker);
253 }; 252 };
254 253
255 } // namespace sync_sessions 254 } // namespace sync_sessions
256 255
257 #endif // COMPONENTS_SYNC_SESSIONS_SYNCED_SESSION_TRACKER_H_ 256 #endif // COMPONENTS_SYNC_SESSIONS_SYNCED_SESSION_TRACKER_H_
OLDNEW
« no previous file with comments | « components/sync_sessions/synced_session.cc ('k') | components/sync_sessions/synced_session_tracker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698