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

Side by Side Diff: chrome/browser/sessions/tab_restore_service.cc

Issue 9985002: Allow SessionService to be disabled. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressed sky's comments Created 8 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/profiles/profile_manager.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 #include "chrome/browser/sessions/tab_restore_service.h" 5 #include "chrome/browser/sessions/tab_restore_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <iterator> 8 #include <iterator>
9 #include <map> 9 #include <map>
10 10
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 } 432 }
433 433
434 restoring_ = false; 434 restoring_ = false;
435 NotifyTabsChanged(); 435 NotifyTabsChanged();
436 } 436 }
437 437
438 void TabRestoreService::LoadTabsFromLastSession() { 438 void TabRestoreService::LoadTabsFromLastSession() {
439 if (load_state_ != NOT_LOADED || entries_.size() == kMaxEntries) 439 if (load_state_ != NOT_LOADED || entries_.size() == kMaxEntries)
440 return; 440 return;
441 441
442 #if !defined(ENABLE_SESSION_SERVICE)
443 // If sessions are not stored in the SessionService, default to
444 // |LOADED_LAST_SESSION| state.
445 load_state_ = LOADING | LOADED_LAST_SESSION;
446 #else
442 load_state_ = LOADING; 447 load_state_ = LOADING;
443 448
444 SessionService* session_service = 449 SessionService* session_service =
445 SessionServiceFactory::GetForProfile(profile()); 450 SessionServiceFactory::GetForProfile(profile());
446 if (!profile()->restored_last_session() && 451 if (!profile()->restored_last_session() &&
447 !profile()->DidLastSessionExitCleanly() && 452 !profile()->DidLastSessionExitCleanly() &&
448 session_service) { 453 session_service) {
449 // The previous session crashed and wasn't restored. Load the tabs/windows 454 // The previous session crashed and wasn't restored. Load the tabs/windows
450 // that were open at the point of crash from the session service. 455 // that were open at the point of crash from the session service.
451 session_service->GetLastSession( 456 session_service->GetLastSession(
452 &crash_consumer_, 457 &crash_consumer_,
453 base::Bind(&TabRestoreService::OnGotPreviousSession, 458 base::Bind(&TabRestoreService::OnGotPreviousSession,
454 base::Unretained(this))); 459 base::Unretained(this)));
455 } else { 460 } else {
456 load_state_ |= LOADED_LAST_SESSION; 461 load_state_ |= LOADED_LAST_SESSION;
457 } 462 }
463 #endif
458 464
459 // Request the tabs closed in the last session. If the last session crashed, 465 // Request the tabs closed in the last session. If the last session crashed,
460 // this won't contain the tabs/window that were open at the point of the 466 // this won't contain the tabs/window that were open at the point of the
461 // crash (the call to GetLastSession above requests those). 467 // crash (the call to GetLastSession above requests those).
462 ScheduleGetLastSessionCommands( 468 ScheduleGetLastSessionCommands(
463 new InternalGetCommandsRequest( 469 new InternalGetCommandsRequest(
464 base::Bind(&TabRestoreService::OnGotLastSessionCommands, 470 base::Bind(&TabRestoreService::OnGotLastSessionCommands,
465 base::Unretained(this))), 471 base::Unretained(this))),
466 &load_consumer_); 472 &load_consumer_);
467 } 473 }
(...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after
1212 // the front, not the end and we just added the entries to the end). 1218 // the front, not the end and we just added the entries to the end).
1213 entries_to_write_ = staging_entries_.size(); 1219 entries_to_write_ = staging_entries_.size();
1214 1220
1215 PruneEntries(); 1221 PruneEntries();
1216 NotifyTabsChanged(); 1222 NotifyTabsChanged();
1217 } 1223 }
1218 1224
1219 Time TabRestoreService::TimeNow() const { 1225 Time TabRestoreService::TimeNow() const {
1220 return time_factory_ ? time_factory_->TimeNow() : Time::Now(); 1226 return time_factory_ ? time_factory_->TimeNow() : Time::Now();
1221 } 1227 }
OLDNEW
« no previous file with comments | « chrome/browser/profiles/profile_manager.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698