| OLD | NEW |
| 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 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.h" | 5 #include "chrome/browser/browser.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/idle_timer.h" | 8 #include "base/idle_timer.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 1507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1518 // them. Once they have fired, we'll get a message back saying whether | 1518 // them. Once they have fired, we'll get a message back saying whether |
| 1519 // to proceed closing the page or not, which sends us back to this method | 1519 // to proceed closing the page or not, which sends us back to this method |
| 1520 // with the HasUnloadListener bit cleared. | 1520 // with the HasUnloadListener bit cleared. |
| 1521 web_contents->render_view_host()->FirePageBeforeUnload(); | 1521 web_contents->render_view_host()->FirePageBeforeUnload(); |
| 1522 return true; | 1522 return true; |
| 1523 } | 1523 } |
| 1524 } | 1524 } |
| 1525 return false; | 1525 return false; |
| 1526 } | 1526 } |
| 1527 | 1527 |
| 1528 bool Browser::CanCloseContentsAt(int index) { | |
| 1529 if (tabstrip_model_.count() > 1) | |
| 1530 return true; | |
| 1531 // We are closing the last tab for this browser. Make sure to check for | |
| 1532 // in-progress downloads. | |
| 1533 // Note that the next call when it returns false will ask the user for | |
| 1534 // confirmation before closing the browser if the user decides so. | |
| 1535 return CanCloseWithInProgressDownloads(); | |
| 1536 } | |
| 1537 | 1528 |
| 1538 /////////////////////////////////////////////////////////////////////////////// | 1529 /////////////////////////////////////////////////////////////////////////////// |
| 1539 // Browser, TabStripModelObserver implementation: | 1530 // Browser, TabStripModelObserver implementation: |
| 1540 | 1531 |
| 1541 void Browser::TabInsertedAt(TabContents* contents, | 1532 void Browser::TabInsertedAt(TabContents* contents, |
| 1542 int index, | 1533 int index, |
| 1543 bool foreground) { | 1534 bool foreground) { |
| 1544 contents->set_delegate(this); | 1535 contents->set_delegate(this); |
| 1545 contents->controller().SetWindowID(session_id()); | 1536 contents->controller().SetWindowID(session_id()); |
| 1546 | 1537 |
| (...skipping 1113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2660 | 2651 |
| 2661 // We need to register the window position pref. | 2652 // We need to register the window position pref. |
| 2662 std::wstring window_pref(prefs::kBrowserWindowPlacement); | 2653 std::wstring window_pref(prefs::kBrowserWindowPlacement); |
| 2663 window_pref.append(L"_"); | 2654 window_pref.append(L"_"); |
| 2664 window_pref.append(app_name); | 2655 window_pref.append(app_name); |
| 2665 PrefService* prefs = g_browser_process->local_state(); | 2656 PrefService* prefs = g_browser_process->local_state(); |
| 2666 DCHECK(prefs); | 2657 DCHECK(prefs); |
| 2667 | 2658 |
| 2668 prefs->RegisterDictionaryPref(window_pref.c_str()); | 2659 prefs->RegisterDictionaryPref(window_pref.c_str()); |
| 2669 } | 2660 } |
| OLD | NEW |