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

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

Issue 13368: Fixes two session restore bugs:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years 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/browser_init.cc ('k') | no next file » | 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/session_restore.h" 5 #include "chrome/browser/sessions/session_restore.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/scoped_ptr.h" 9 #include "base/scoped_ptr.h"
10 #include "chrome/browser/browser.h" 10 #include "chrome/browser/browser.h"
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 // static 410 // static
411 size_t SessionRestore::num_tabs_to_load_ = 0; 411 size_t SessionRestore::num_tabs_to_load_ = 0;
412 412
413 static void Restore(Profile* profile, 413 static void Restore(Profile* profile,
414 Browser* browser, 414 Browser* browser,
415 bool synchronous, 415 bool synchronous,
416 bool clobber_existing_window, 416 bool clobber_existing_window,
417 bool always_create_tabbed_browser, 417 bool always_create_tabbed_browser,
418 const std::vector<GURL>& urls_to_open) { 418 const std::vector<GURL>& urls_to_open) {
419 DCHECK(profile); 419 DCHECK(profile);
420 if (!profile->GetSessionService()) 420 // Always restore from the original profile (incognito profiles have no
421 // session service).
422 profile = profile->GetOriginalProfile();
423 if (!profile->GetSessionService()) {
424 NOTREACHED();
421 return; 425 return;
426 }
422 // SessionRestoreImpl takes care of deleting itself when done. 427 // SessionRestoreImpl takes care of deleting itself when done.
423 SessionRestoreImpl* restorer = 428 SessionRestoreImpl* restorer =
424 new SessionRestoreImpl(profile, browser, synchronous, 429 new SessionRestoreImpl(profile, browser, synchronous,
425 clobber_existing_window, 430 clobber_existing_window,
426 always_create_tabbed_browser, urls_to_open); 431 always_create_tabbed_browser, urls_to_open);
427 restorer->Restore(); 432 restorer->Restore();
428 } 433 }
429 434
430 // static 435 // static
431 void SessionRestore::RestoreSession(Profile* profile, 436 void SessionRestore::RestoreSession(Profile* profile,
432 Browser* browser, 437 Browser* browser,
433 bool clobber_existing_window, 438 bool clobber_existing_window,
434 bool always_create_tabbed_browser, 439 bool always_create_tabbed_browser,
435 const std::vector<GURL>& urls_to_open) { 440 const std::vector<GURL>& urls_to_open) {
436 Restore(profile, browser, false, clobber_existing_window, 441 Restore(profile, browser, false, clobber_existing_window,
437 always_create_tabbed_browser, urls_to_open); 442 always_create_tabbed_browser, urls_to_open);
438 } 443 }
439 444
440 // static 445 // static
441 void SessionRestore::RestoreSessionSynchronously( 446 void SessionRestore::RestoreSessionSynchronously(
442 Profile* profile, 447 Profile* profile,
443 const std::vector<GURL>& urls_to_open) { 448 const std::vector<GURL>& urls_to_open) {
444 Restore(profile, NULL, true, false, true, urls_to_open); 449 Restore(profile, NULL, true, false, true, urls_to_open);
445 } 450 }
OLDNEW
« no previous file with comments | « chrome/browser/browser_init.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698