| OLD | NEW |
| 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/browser_init.h" | 5 #include "chrome/browser/browser_init.h" |
| 6 | 6 |
| 7 #include <shellapi.h> | 7 #include <shellapi.h> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 *result = IsWindowVisible(window) != 0; | 108 *result = IsWindowVisible(window) != 0; |
| 109 // Stops enumeration if a visible window has been found. | 109 // Stops enumeration if a visible window has been found. |
| 110 return !*result; | 110 return !*result; |
| 111 } | 111 } |
| 112 | 112 |
| 113 SessionStartupPref GetSessionStartupPref(Profile* profile, | 113 SessionStartupPref GetSessionStartupPref(Profile* profile, |
| 114 const CommandLine& command_line) { | 114 const CommandLine& command_line) { |
| 115 SessionStartupPref pref = SessionStartupPref::GetStartupPref(profile); | 115 SessionStartupPref pref = SessionStartupPref::GetStartupPref(profile); |
| 116 if (command_line.HasSwitch(switches::kRestoreLastSession)) | 116 if (command_line.HasSwitch(switches::kRestoreLastSession)) |
| 117 pref.type = SessionStartupPref::LAST; | 117 pref.type = SessionStartupPref::LAST; |
| 118 if (command_line.HasSwitch(switches::kIncognito) && |
| 119 pref.type == SessionStartupPref::LAST) { |
| 120 // We don't store session information when incognito. If the user has |
| 121 // chosen to restore last session and launched incognito, fallback to |
| 122 // default launch behavior. |
| 123 pref.type = SessionStartupPref::DEFAULT; |
| 124 } |
| 118 return pref; | 125 return pref; |
| 119 } | 126 } |
| 120 | 127 |
| 121 } // namespace | 128 } // namespace |
| 122 | 129 |
| 123 // MessageWindow -------------------------------------------------------------- | 130 // MessageWindow -------------------------------------------------------------- |
| 124 | 131 |
| 125 static bool in_startup = false; | 132 static bool in_startup = false; |
| 126 | 133 |
| 127 // static | 134 // static |
| (...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 urls[i], GURL(), PageTransition::START_PAGE, (i == 0), NULL); | 546 urls[i], GURL(), PageTransition::START_PAGE, (i == 0), NULL); |
| 540 if (i == 0 && process_startup) | 547 if (i == 0 && process_startup) |
| 541 AddCrashedInfoBarIfNecessary(tab); | 548 AddCrashedInfoBarIfNecessary(tab); |
| 542 } | 549 } |
| 543 browser->window()->Show(); | 550 browser->window()->Show(); |
| 544 return browser; | 551 return browser; |
| 545 } | 552 } |
| 546 | 553 |
| 547 void BrowserInit::LaunchWithProfile::AddCrashedInfoBarIfNecessary( | 554 void BrowserInit::LaunchWithProfile::AddCrashedInfoBarIfNecessary( |
| 548 TabContents* tab) { | 555 TabContents* tab) { |
| 549 if (!profile_->DidLastSessionExitCleanly()) { | 556 // Assume that if the user is launching incognito they were previously |
| 557 // running incognito so that we have nothing to restore from. |
| 558 if (!profile_->DidLastSessionExitCleanly() && |
| 559 !profile_->IsOffTheRecord()) { |
| 550 // The last session didn't exit cleanly. Show an infobar to the user | 560 // The last session didn't exit cleanly. Show an infobar to the user |
| 551 // so that they can restore if they want. The delegate deletes itself when | 561 // so that they can restore if they want. The delegate deletes itself when |
| 552 // it is closed. | 562 // it is closed. |
| 553 tab->AddInfoBar(new SessionCrashedInfoBarDelegate(tab)); | 563 tab->AddInfoBar(new SessionCrashedInfoBarDelegate(tab)); |
| 554 } | 564 } |
| 555 } | 565 } |
| 556 | 566 |
| 557 std::vector<GURL> BrowserInit::LaunchWithProfile::GetURLsFromCommandLine( | 567 std::vector<GURL> BrowserInit::LaunchWithProfile::GetURLsFromCommandLine( |
| 558 const CommandLine& command_line, Profile* profile) { | 568 const CommandLine& command_line, Profile* profile) { |
| 559 std::vector<GURL> urls; | 569 std::vector<GURL> urls; |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 712 if (!launched) { | 722 if (!launched) { |
| 713 LOG(ERROR) << "launch error"; | 723 LOG(ERROR) << "launch error"; |
| 714 if (return_code != NULL) { | 724 if (return_code != NULL) { |
| 715 *return_code = ResultCodes::INVALID_CMDLINE_URL; | 725 *return_code = ResultCodes::INVALID_CMDLINE_URL; |
| 716 } | 726 } |
| 717 return false; | 727 return false; |
| 718 } | 728 } |
| 719 | 729 |
| 720 return true; | 730 return true; |
| 721 } | 731 } |
| OLD | NEW |