OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <algorithm> | 7 #include <algorithm> |
8 #include <list> | 8 #include <list> |
9 #include <set> | 9 #include <set> |
10 #include <vector> | 10 #include <vector> |
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 void RestoreForeignSession( | 459 void RestoreForeignSession( |
460 std::vector<SessionWindow*>::const_iterator begin, | 460 std::vector<SessionWindow*>::const_iterator begin, |
461 std::vector<SessionWindow*>::const_iterator end) { | 461 std::vector<SessionWindow*>::const_iterator end) { |
462 StartTabCreation(); | 462 StartTabCreation(); |
463 // Create a browser instance to put the restored tabs in. | 463 // Create a browser instance to put the restored tabs in. |
464 for (std::vector<SessionWindow*>::const_iterator i = begin; | 464 for (std::vector<SessionWindow*>::const_iterator i = begin; |
465 i != end; ++i) { | 465 i != end; ++i) { |
466 Browser* browser = CreateRestoredBrowser( | 466 Browser* browser = CreateRestoredBrowser( |
467 static_cast<Browser::Type>((*i)->type), | 467 static_cast<Browser::Type>((*i)->type), |
468 (*i)->bounds, | 468 (*i)->bounds, |
469 (*i)->is_maximized); | 469 (*i)->show_state); |
470 | 470 |
471 // Restore and show the browser. | 471 // Restore and show the browser. |
472 const int initial_tab_count = browser->tab_count(); | 472 const int initial_tab_count = browser->tab_count(); |
473 int selected_tab_index = (*i)->selected_tab_index; | 473 int selected_tab_index = (*i)->selected_tab_index; |
474 RestoreTabsToBrowser(*(*i), browser, selected_tab_index); | 474 RestoreTabsToBrowser(*(*i), browser, selected_tab_index); |
475 ShowBrowser(browser, initial_tab_count, selected_tab_index); | 475 ShowBrowser(browser, initial_tab_count, selected_tab_index); |
476 tab_loader_->TabIsLoading( | 476 tab_loader_->TabIsLoading( |
477 &browser->GetSelectedTabContents()->controller()); | 477 &browser->GetSelectedTabContents()->controller()); |
478 NotifySessionServiceOfRestoredTabs(browser, initial_tab_count); | 478 NotifySessionServiceOfRestoredTabs(browser, initial_tab_count); |
479 } | 479 } |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
609 // The first set of tabs is added to the existing browser. | 609 // The first set of tabs is added to the existing browser. |
610 browser = current_browser; | 610 browser = current_browser; |
611 } else { | 611 } else { |
612 #if defined(OS_CHROMEOS) | 612 #if defined(OS_CHROMEOS) |
613 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( | 613 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( |
614 "SessionRestore-CreateRestoredBrowser-Start", false); | 614 "SessionRestore-CreateRestoredBrowser-Start", false); |
615 #endif | 615 #endif |
616 browser = CreateRestoredBrowser( | 616 browser = CreateRestoredBrowser( |
617 static_cast<Browser::Type>((*i)->type), | 617 static_cast<Browser::Type>((*i)->type), |
618 (*i)->bounds, | 618 (*i)->bounds, |
619 (*i)->is_maximized); | 619 (*i)->show_state); |
620 #if defined(OS_CHROMEOS) | 620 #if defined(OS_CHROMEOS) |
621 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( | 621 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( |
622 "SessionRestore-CreateRestoredBrowser-End", false); | 622 "SessionRestore-CreateRestoredBrowser-End", false); |
623 #endif | 623 #endif |
624 } | 624 } |
625 if ((*i)->type == Browser::TYPE_TABBED) | 625 if ((*i)->type == Browser::TYPE_TABBED) |
626 last_browser = browser; | 626 last_browser = browser; |
627 TabContents* active_tab = browser->GetSelectedTabContents(); | 627 TabContents* active_tab = browser->GetSelectedTabContents(); |
628 int initial_tab_count = browser->tab_count(); | 628 int initial_tab_count = browser->tab_count(); |
629 int selected_tab_index = (*i)->selected_tab_index; | 629 int selected_tab_index = (*i)->selected_tab_index; |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
703 false, | 703 false, |
704 tab.pinned, | 704 tab.pinned, |
705 true, | 705 true, |
706 NULL); | 706 NULL); |
707 if (schedule_load) | 707 if (schedule_load) |
708 tab_loader_->ScheduleLoad(&tab_contents->controller()); | 708 tab_loader_->ScheduleLoad(&tab_contents->controller()); |
709 } | 709 } |
710 | 710 |
711 Browser* CreateRestoredBrowser(Browser::Type type, | 711 Browser* CreateRestoredBrowser(Browser::Type type, |
712 gfx::Rect bounds, | 712 gfx::Rect bounds, |
713 bool is_maximized) { | 713 ui::WindowShowState show_state) { |
714 Browser* browser = new Browser(type, profile_); | 714 Browser* browser = new Browser(type, profile_); |
715 browser->set_override_bounds(bounds); | 715 browser->set_override_bounds(bounds); |
716 browser->set_maximized_state(is_maximized ? | 716 browser->set_show_state(show_state); |
717 Browser::MAXIMIZED_STATE_MAXIMIZED : | |
718 Browser::MAXIMIZED_STATE_UNMAXIMIZED); | |
719 browser->InitBrowserWindow(); | 717 browser->InitBrowserWindow(); |
720 return browser; | 718 return browser; |
721 } | 719 } |
722 | 720 |
723 void ShowBrowser(Browser* browser, | 721 void ShowBrowser(Browser* browser, |
724 int initial_tab_count, | 722 int initial_tab_count, |
725 int selected_session_index) { | 723 int selected_session_index) { |
726 DCHECK(browser); | 724 DCHECK(browser); |
727 DCHECK(browser->tab_count()); | 725 DCHECK(browser->tab_count()); |
728 browser->ActivateTabAt( | 726 browser->ActivateTabAt( |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
854 std::vector<GURL> gurls; | 852 std::vector<GURL> gurls; |
855 SessionRestoreImpl restorer(profile, | 853 SessionRestoreImpl restorer(profile, |
856 static_cast<Browser*>(NULL), true, false, true, gurls); | 854 static_cast<Browser*>(NULL), true, false, true, gurls); |
857 restorer.RestoreForeignTab(tab); | 855 restorer.RestoreForeignTab(tab); |
858 } | 856 } |
859 | 857 |
860 // static | 858 // static |
861 bool SessionRestore::IsRestoring() { | 859 bool SessionRestore::IsRestoring() { |
862 return restoring; | 860 return restoring; |
863 } | 861 } |
OLD | NEW |