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

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

Issue 9015022: Replace most of Browser::GetSelectedTabContents calls into Browser::GetSelectedWebContents. I've ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 8 years, 11 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
OLDNEW
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 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 static_cast<Browser::Type>((*i)->type), 463 static_cast<Browser::Type>((*i)->type),
464 (*i)->bounds, 464 (*i)->bounds,
465 (*i)->show_state); 465 (*i)->show_state);
466 466
467 // Restore and show the browser. 467 // Restore and show the browser.
468 const int initial_tab_count = browser->tab_count(); 468 const int initial_tab_count = browser->tab_count();
469 int selected_tab_index = (*i)->selected_tab_index; 469 int selected_tab_index = (*i)->selected_tab_index;
470 RestoreTabsToBrowser(*(*i), browser, selected_tab_index); 470 RestoreTabsToBrowser(*(*i), browser, selected_tab_index);
471 ShowBrowser(browser, initial_tab_count, selected_tab_index); 471 ShowBrowser(browser, initial_tab_count, selected_tab_index);
472 tab_loader_->TabIsLoading( 472 tab_loader_->TabIsLoading(
473 &browser->GetSelectedTabContents()->GetController()); 473 &browser->GetSelectedWebContents()->GetController());
474 NotifySessionServiceOfRestoredTabs(browser, initial_tab_count); 474 NotifySessionServiceOfRestoredTabs(browser, initial_tab_count);
475 } 475 }
476 476
477 // Always create in a new window 477 // Always create in a new window
478 FinishedTabCreation(true, true); 478 FinishedTabCreation(true, true);
479 } 479 }
480 480
481 // Restore a single tab from a foreign session. 481 // Restore a single tab from a foreign session.
482 // Note: we currently restore the tab to the last active browser. 482 // Note: we currently restore the tab to the last active browser.
483 void RestoreForeignTab(const SessionTab& tab) { 483 void RestoreForeignTab(const SessionTab& tab) {
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 644
645 browser = CreateRestoredBrowser( 645 browser = CreateRestoredBrowser(
646 static_cast<Browser::Type>((*i)->type), (*i)->bounds, show_state); 646 static_cast<Browser::Type>((*i)->type), (*i)->bounds, show_state);
647 #if defined(OS_CHROMEOS) 647 #if defined(OS_CHROMEOS)
648 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( 648 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker(
649 "SessionRestore-CreateRestoredBrowser-End", false); 649 "SessionRestore-CreateRestoredBrowser-End", false);
650 #endif 650 #endif
651 } 651 }
652 if ((*i)->type == Browser::TYPE_TABBED) 652 if ((*i)->type == Browser::TYPE_TABBED)
653 last_browser = browser; 653 last_browser = browser;
654 TabContents* active_tab = browser->GetSelectedTabContents(); 654 WebContents* active_tab = browser->GetSelectedWebContents();
655 int initial_tab_count = browser->tab_count(); 655 int initial_tab_count = browser->tab_count();
656 int selected_tab_index = (*i)->selected_tab_index; 656 int selected_tab_index = (*i)->selected_tab_index;
657 RestoreTabsToBrowser(*(*i), browser, selected_tab_index); 657 RestoreTabsToBrowser(*(*i), browser, selected_tab_index);
658 ShowBrowser(browser, initial_tab_count, selected_tab_index); 658 ShowBrowser(browser, initial_tab_count, selected_tab_index);
659 if (clobber_existing_tab_ && i == windows->begin() && 659 if (clobber_existing_tab_ && i == windows->begin() &&
660 (*i)->type == Browser::TYPE_TABBED && active_tab && 660 (*i)->type == Browser::TYPE_TABBED && active_tab &&
661 browser == browser_ && browser->tab_count() > initial_tab_count) { 661 browser == browser_ && browser->tab_count() > initial_tab_count) {
662 browser->CloseTabContents(active_tab); 662 browser->CloseTabContents(active_tab);
663 active_tab = NULL; 663 active_tab = NULL;
664 } 664 }
665 tab_loader_->TabIsLoading( 665 tab_loader_->TabIsLoading(
666 &browser->GetSelectedTabContents()->GetController()); 666 &browser->GetSelectedWebContents()->GetController());
667 NotifySessionServiceOfRestoredTabs(browser, initial_tab_count); 667 NotifySessionServiceOfRestoredTabs(browser, initial_tab_count);
668 } 668 }
669 669
670 if (last_browser && !urls_to_open_.empty()) 670 if (last_browser && !urls_to_open_.empty())
671 AppendURLsToBrowser(last_browser, urls_to_open_); 671 AppendURLsToBrowser(last_browser, urls_to_open_);
672 #if defined(OS_CHROMEOS) 672 #if defined(OS_CHROMEOS)
673 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker( 673 chromeos::BootTimesLoader::Get()->AddLoginTimeMarker(
674 "SessionRestore-CreatingTabs-End", false); 674 "SessionRestore-CreatingTabs-End", false);
675 #endif 675 #endif
676 // If last_browser is NULL and urls_to_open_ is non-empty, 676 // If last_browser is NULL and urls_to_open_ is non-empty,
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 if ( 715 if (
716 #if defined(OS_CHROMEOS) 716 #if defined(OS_CHROMEOS)
717 browser->profile()->GetExtensionService() && 717 browser->profile()->GetExtensionService() &&
718 #endif 718 #endif
719 browser->profile()->GetExtensionService()->IsInstalledApp(url)) { 719 browser->profile()->GetExtensionService()->IsInstalledApp(url)) {
720 UMA_HISTOGRAM_ENUMERATION(extension_misc::kAppLaunchHistogram, 720 UMA_HISTOGRAM_ENUMERATION(extension_misc::kAppLaunchHistogram,
721 extension_misc::APP_LAUNCH_SESSION_RESTORE, 721 extension_misc::APP_LAUNCH_SESSION_RESTORE,
722 extension_misc::APP_LAUNCH_BUCKET_BOUNDARY); 722 extension_misc::APP_LAUNCH_BUCKET_BOUNDARY);
723 } 723 }
724 724
725 TabContents* tab_contents = 725 WebContents* web_contents =
726 browser->AddRestoredTab(tab.navigations, 726 browser->AddRestoredTab(tab.navigations,
727 tab_index, 727 tab_index,
728 selected_index, 728 selected_index,
729 tab.extension_app_id, 729 tab.extension_app_id,
730 false, 730 false,
731 tab.pinned, 731 tab.pinned,
732 true, 732 true,
733 NULL); 733 NULL);
734 if (schedule_load) 734 if (schedule_load)
735 tab_loader_->ScheduleLoad(&tab_contents->GetController()); 735 tab_loader_->ScheduleLoad(&web_contents->GetController());
736 } 736 }
737 737
738 Browser* CreateRestoredBrowser(Browser::Type type, 738 Browser* CreateRestoredBrowser(Browser::Type type,
739 gfx::Rect bounds, 739 gfx::Rect bounds,
740 ui::WindowShowState show_state) { 740 ui::WindowShowState show_state) {
741 Browser* browser = new Browser(type, profile_); 741 Browser* browser = new Browser(type, profile_);
742 browser->set_override_bounds(bounds); 742 browser->set_override_bounds(bounds);
743 browser->set_show_state(show_state); 743 browser->set_show_state(show_state);
744 browser->set_is_session_restore(true); 744 browser->set_is_session_restore(true);
745 browser->InitBrowserWindow(); 745 browser->InitBrowserWindow();
(...skipping 10 matching lines...) Expand all
756 browser->tab_count() - 1), true); 756 browser->tab_count() - 1), true);
757 757
758 if (browser_ == browser) 758 if (browser_ == browser)
759 return; 759 return;
760 760
761 browser->window()->Show(); 761 browser->window()->Show();
762 browser->set_is_session_restore(false); 762 browser->set_is_session_restore(false);
763 763
764 // TODO(jcampan): http://crbug.com/8123 we should not need to set the 764 // TODO(jcampan): http://crbug.com/8123 we should not need to set the
765 // initial focus explicitly. 765 // initial focus explicitly.
766 browser->GetSelectedTabContents()->GetView()->SetInitialFocus(); 766 browser->GetSelectedWebContents()->GetView()->SetInitialFocus();
767 767
768 if (!browser_shown_) { 768 if (!browser_shown_) {
769 browser_shown_ = true; 769 browser_shown_ = true;
770 base::TimeDelta time_to_first_show = 770 base::TimeDelta time_to_first_show =
771 base::TimeTicks::Now() - restore_started_; 771 base::TimeTicks::Now() - restore_started_;
772 UMA_HISTOGRAM_CUSTOM_TIMES( 772 UMA_HISTOGRAM_CUSTOM_TIMES(
773 "SessionRestore.TimeToFirstShow", 773 "SessionRestore.TimeToFirstShow",
774 time_to_first_show, 774 time_to_first_show,
775 base::TimeDelta::FromMilliseconds(10), 775 base::TimeDelta::FromMilliseconds(10),
776 base::TimeDelta::FromSeconds(1000), 776 base::TimeDelta::FromSeconds(1000),
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
899 std::vector<GURL> gurls; 899 std::vector<GURL> gurls;
900 SessionRestoreImpl restorer(profile, 900 SessionRestoreImpl restorer(profile,
901 static_cast<Browser*>(NULL), true, false, true, gurls); 901 static_cast<Browser*>(NULL), true, false, true, gurls);
902 restorer.RestoreForeignTab(tab); 902 restorer.RestoreForeignTab(tab);
903 } 903 }
904 904
905 // static 905 // static
906 bool SessionRestore::IsRestoring() { 906 bool SessionRestore::IsRestoring() {
907 return restoring; 907 return restoring;
908 } 908 }
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc ('k') | chrome/browser/sessions/tab_restore_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698