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

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

Issue 2499023004: [Sync] Introduce SyncedSessionWindow type. (Closed)
Patch Set: Fix compile 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 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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, MergeDeletesBadHash); 139 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, MergeDeletesBadHash);
140 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, 140 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest,
141 MergeLocalSessionExistingTabs); 141 MergeLocalSessionExistingTabs);
142 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, 142 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest,
143 CheckPrerenderedWebContentsSwap); 143 CheckPrerenderedWebContentsSwap);
144 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, 144 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest,
145 AssociateWindowsDontReloadTabs); 145 AssociateWindowsDontReloadTabs);
146 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, SwappedOutOnRestore); 146 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, SwappedOutOnRestore);
147 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, 147 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest,
148 ProcessRemoteDeleteOfLocalSession); 148 ProcessRemoteDeleteOfLocalSession);
149 FRIEND_TEST_ALL_PREFIXES(SessionsSyncManagerTest, SetVariationIds);
150 149
151 void InitializeCurrentMachineTag(const std::string& cache_guid); 150 void InitializeCurrentMachineTag(const std::string& cache_guid);
152 151
153 // Load and add window or tab data from synced specifics to our internal 152 // Load and add window or tab data from synced specifics to our internal
154 // tracking. 153 // tracking.
155 void UpdateTrackerWithSpecifics(const sync_pb::SessionSpecifics& specifics, 154 void UpdateTrackerWithSpecifics(const sync_pb::SessionSpecifics& specifics,
156 const base::Time& modification_time); 155 const base::Time& modification_time);
157 156
158 // Returns true if |sync_data| contained a header node for the current 157 // Returns true if |sync_data| contained a header node for the current
159 // machine, false otherwise. |new_changes| is a link to the SyncChange 158 // machine, false otherwise. |new_changes| is a link to the SyncChange
(...skipping 28 matching lines...) Expand all
188 187
189 // Used to populate a session header from the session specifics header 188 // Used to populate a session header from the session specifics header
190 // provided. 189 // provided.
191 static void PopulateSessionHeaderFromSpecifics( 190 static void PopulateSessionHeaderFromSpecifics(
192 const sync_pb::SessionHeader& header_specifics, 191 const sync_pb::SessionHeader& header_specifics,
193 base::Time mtime, 192 base::Time mtime,
194 SyncedSession* session_header); 193 SyncedSession* session_header);
195 194
196 // Builds |session_window| from the session specifics window 195 // Builds |session_window| from the session specifics window
197 // provided and updates the SessionTracker with foreign session data created. 196 // provided and updates the SessionTracker with foreign session data created.
198 void BuildSyncedSessionFromSpecifics(const std::string& session_tag, 197 void BuildSyncedSessionFromSpecifics(
199 const sync_pb::SessionWindow& specifics, 198 const std::string& session_tag,
200 base::Time mtime, 199 const sync_pb::SessionWindow& specifics,
201 sessions::SessionWindow* session_window); 200 base::Time mtime,
201 SyncedSessionWindow* synced_session_window);
202 202
203 // Resync local window information. Updates the local sessions header node 203 // Resync local window information. Updates the local sessions header node
204 // with the status of open windows and the order of tabs they contain. Should 204 // with the status of open windows and the order of tabs they contain. Should
205 // only be called for changes that affect a window, not a change within a 205 // only be called for changes that affect a window, not a change within a
206 // single tab. 206 // single tab.
207 // 207 //
208 // RELOAD_TABS will additionally cause a resync of all tabs (same as calling 208 // RELOAD_TABS will additionally cause a resync of all tabs (same as calling
209 // AssociateTabs with a vector of all tabs). 209 // AssociateTabs with a vector of all tabs).
210 // 210 //
211 // Returns: false if the local session's sync nodes were deleted and 211 // Returns: false if the local session's sync nodes were deleted and
(...skipping 11 matching lines...) Expand all
223 // 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
224 // changes for processing later. 224 // changes for processing later.
225 void AssociateTab(SyncedTabDelegate* const tab, 225 void AssociateTab(SyncedTabDelegate* const tab,
226 syncer::SyncChangeList* change_output); 226 syncer::SyncChangeList* change_output);
227 227
228 // Set |session_tab| from |tab_delegate| and |mtime|. 228 // Set |session_tab| from |tab_delegate| and |mtime|.
229 void SetSessionTabFromDelegate(const SyncedTabDelegate& tab_delegate, 229 void SetSessionTabFromDelegate(const SyncedTabDelegate& tab_delegate,
230 base::Time mtime, 230 base::Time mtime,
231 sessions::SessionTab* session_tab); 231 sessions::SessionTab* session_tab);
232 232
233 // Sets |variation_ids| field of |session_tab| with the ids of the currently
234 // assigned variations which should be sent to sync.
235 static void SetVariationIds(sessions::SessionTab* session_tab);
236
237 // Populates |specifics| based on the data in |tab_delegate|. 233 // Populates |specifics| based on the data in |tab_delegate|.
238 void LocalTabDelegateToSpecifics(const SyncedTabDelegate& tab_delegate, 234 void LocalTabDelegateToSpecifics(const SyncedTabDelegate& tab_delegate,
239 sync_pb::SessionSpecifics* specifics); 235 sync_pb::SessionSpecifics* specifics);
240 236
241 // It's possible that when we associate windows, tabs aren't all loaded 237 // It's possible that when we associate windows, tabs aren't all loaded
242 // into memory yet (e.g on android) and we don't have a WebContents. In this 238 // into memory yet (e.g on android) and we don't have a WebContents. In this
243 // case we can't do a full association, but we still want to update tab IDs 239 // case we can't do a full association, but we still want to update tab IDs
244 // as they may have changed after a session was restored. This method 240 // as they may have changed after a session was restored. This method
245 // compares new_tab_id and new_window_id against the previously persisted tab 241 // compares new_tab_id and new_window_id against the previously persisted tab
246 // ID and window ID (from our TabNodePool) and updates them if either differs. 242 // ID and window ID (from our TabNodePool) and updates them if either differs.
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 318
323 // Callback to inform sync that a sync data refresh is requested. 319 // Callback to inform sync that a sync data refresh is requested.
324 base::Closure datatype_refresh_callback_; 320 base::Closure datatype_refresh_callback_;
325 321
326 DISALLOW_COPY_AND_ASSIGN(SessionsSyncManager); 322 DISALLOW_COPY_AND_ASSIGN(SessionsSyncManager);
327 }; 323 };
328 324
329 } // namespace sync_sessions 325 } // namespace sync_sessions
330 326
331 #endif // COMPONENTS_SYNC_SESSIONS_SESSIONS_SYNC_MANAGER_H_ 327 #endif // COMPONENTS_SYNC_SESSIONS_SESSIONS_SYNC_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698