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

Unified Diff: components/sync_sessions/synced_session_tracker.cc

Issue 2791183003: [Sync] Restore previous session if no tabbed windows present (Closed)
Patch Set: Fix android 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 side-by-side diff with in-line comments
Download patch
Index: components/sync_sessions/synced_session_tracker.cc
diff --git a/components/sync_sessions/synced_session_tracker.cc b/components/sync_sessions/synced_session_tracker.cc
index 94e6e9ff386b9ef29f25bea1e3ea36f51d889fa7..1b61004e0e268172c836f41b17d55fe47fc5fb94 100644
--- a/components/sync_sessions/synced_session_tracker.cc
+++ b/components/sync_sessions/synced_session_tracker.cc
@@ -221,6 +221,12 @@ bool SyncedSessionTracker::IsTabUnmappedForTesting(SessionID::id_type tab_id) {
void SyncedSessionTracker::PutWindowInSession(const std::string& session_tag,
SessionID::id_type window_id) {
+ if (GetSession(session_tag)->windows.find(window_id) !=
+ GetSession(session_tag)->windows.end()) {
+ DVLOG(1) << "Window " << window_id << " already added to session "
+ << session_tag;
+ return;
+ }
std::unique_ptr<SyncedSessionWindow> window;
auto iter = unmapped_windows_[session_tag].find(window_id);
@@ -345,9 +351,7 @@ sessions::SessionTab* SyncedSessionTracker::GetTab(
return tab_ptr;
}
-void SyncedSessionTracker::CleanupForeignSession(
- const std::string& session_tag) {
- DCHECK_NE(local_session_tag_, session_tag);
+void SyncedSessionTracker::CleanupSession(const std::string& session_tag) {
CleanupSessionImpl(session_tag);
}
@@ -365,13 +369,11 @@ void SyncedSessionTracker::CleanupLocalTabs(std::set<int>* deleted_node_ids) {
bool SyncedSessionTracker::GetTabNodeFromLocalTabId(SessionID::id_type tab_id,
int* tab_node_id) {
DCHECK(!local_session_tag_.empty());
- // Ensure a placeholder SessionTab is in place, if not already.
- // Although we don't need a SessionTab to fulfill this request, this forces
- // the
- // creation of one if it doesn't already exist. This helps to make sure we're
- // tracking this |tab_id| if |local_tab_pool_| is, and everyone's data
- // structures
- // are kept in sync and as consistent as possible.
+ // Ensure a placeholder SessionTab is in place, if not already. Although we
+ // don't need a SessionTab to fulfill this request, this forces the creation
+ // of one if it doesn't already exist. This helps to make sure we're tracking
+ // this |tab_id| if |local_tab_pool_| is, and everyone's data structures are
+ // kept in sync and as consistent as possible.
GetTab(local_session_tag_, tab_id); // Ignore result.
bool reused_existing_tab =
« no previous file with comments | « components/sync_sessions/synced_session_tracker.h ('k') | components/sync_sessions/synced_session_tracker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698