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

Unified Diff: chrome/browser/sessions/session_restore.cc

Issue 10702029: Move tab functions off Browser into browser_tabstrip and browser_tabrestore. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sessions/session_restore.cc
===================================================================
--- chrome/browser/sessions/session_restore.cc (revision 145001)
+++ chrome/browser/sessions/session_restore.cc (working copy)
@@ -27,6 +27,8 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_navigator.h"
+#include "chrome/browser/ui/browser_tabrestore.h"
+#include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/webui/ntp/app_launcher_handler.h"
@@ -267,7 +269,7 @@
content::WebContents* contents = tab->GetWebContents();
if (contents) {
Browser* browser = browser::FindBrowserWithWebContents(contents);
- if (browser && browser->GetActiveWebContents() != contents) {
+ if (browser && chrome::GetActiveWebContents(browser) != contents) {
// By default tabs are marked as visible. As only the active tab is
// visible we need to explicitly tell non-active tabs they are hidden.
// Without this call non-active tabs are not marked as backgrounded.
@@ -554,7 +556,7 @@
RestoreTabsToBrowser(*(*i), browser, selected_tab_index);
ShowBrowser(browser, selected_tab_index);
tab_loader_->TabIsLoading(
- &browser->GetActiveWebContents()->GetController());
+ &chrome::GetActiveWebContents(browser)->GetController());
NotifySessionServiceOfRestoredTabs(browser, initial_tab_count);
}
@@ -582,14 +584,16 @@
if (disposition == CURRENT_TAB) {
DCHECK(!use_new_window);
- browser->ReplaceRestoredTab(tab.navigations,
- selected_index,
- true,
- tab.extension_app_id,
- NULL);
+ chrome::ReplaceRestoredTab(browser,
+ tab.navigations,
+ selected_index,
+ true,
+ tab.extension_app_id,
+ NULL);
} else {
int tab_index = use_new_window ? 0 : browser->active_index() + 1;
- WebContents* web_contents = browser->AddRestoredTab(
+ WebContents* web_contents = chrome::AddRestoredTab(
+ browser,
tab.navigations,
tab_index,
selected_index,
@@ -603,7 +607,7 @@
}
if (use_new_window) {
- browser->ActivateTabAt(0, true);
+ chrome::ActivateTabAt(browser, 0, true);
browser->window()->Show();
}
NotifySessionServiceOfRestoredTabs(browser, browser->tab_count());
@@ -785,7 +789,7 @@
}
if ((*i)->type == Browser::TYPE_TABBED)
last_browser = browser;
- WebContents* active_tab = browser->GetActiveWebContents();
+ WebContents* active_tab = chrome::GetActiveWebContents(browser);
int initial_tab_count = browser->tab_count();
int selected_tab_index = std::max(
0,
@@ -797,11 +801,11 @@
if (clobber_existing_tab_ && i == windows->begin() &&
(*i)->type == Browser::TYPE_TABBED && active_tab &&
browser == browser_ && browser->tab_count() > initial_tab_count) {
- browser->CloseTabContents(active_tab);
+ chrome::CloseWebContents(browser, active_tab);
active_tab = NULL;
}
tab_loader_->TabIsLoading(
- &browser->GetActiveWebContents()->GetController());
+ &chrome::GetActiveWebContents(browser)->GetController());
NotifySessionServiceOfRestoredTabs(browser, initial_tab_count);
}
@@ -853,11 +857,8 @@
else
RestoreTab(tab, i, browser, true);
}
- if (selected_web_contents) {
- return browser->GetIndexOfController(
- &selected_web_contents->GetController());
- }
- return 0;
+ return selected_web_contents ?
+ chrome::GetIndexOfTab(browser, selected_web_contents) : 0;
}
WebContents* RestoreTab(const SessionTab& tab,
@@ -882,14 +883,15 @@
}
WebContents* web_contents =
- browser->AddRestoredTab(tab.navigations,
- tab_index,
- selected_index,
- tab.extension_app_id,
- false, // select
- tab.pinned,
- true,
- session_storage_namespace.get());
+ chrome::AddRestoredTab(browser,
+ tab.navigations,
+ tab_index,
+ selected_index,
+ tab.extension_app_id,
+ false, // select
+ tab.pinned,
+ true,
+ session_storage_namespace.get());
// Regression check: check that the tab didn't start loading right away. The
// focused tab will be loaded by Browser, and TabLoader will load the rest.
DCHECK(web_contents->GetController().NeedsReload());
@@ -931,7 +933,7 @@
void ShowBrowser(Browser* browser, int selected_tab_index) {
DCHECK(browser);
DCHECK(browser->tab_count());
- browser->ActivateTabAt(selected_tab_index, true);
+ chrome::ActivateTabAt(browser, selected_tab_index, true);
if (browser_ == browser)
return;
@@ -941,7 +943,7 @@
// TODO(jcampan): http://crbug.com/8123 we should not need to set the
// initial focus explicitly.
- browser->GetActiveWebContents()->GetView()->SetInitialFocus();
+ chrome::GetActiveWebContents(browser)->GetView()->SetInitialFocus();
if (!browser_shown_) {
browser_shown_ = true;
@@ -963,7 +965,7 @@
int add_types = TabStripModel::ADD_FORCE_INDEX;
if (i == 0)
add_types |= TabStripModel::ADD_ACTIVE;
- int index = browser->GetIndexForInsertionDuringRestore(i);
+ int index = chrome::GetIndexForInsertionDuringRestore(browser, i);
browser::NavigateParams params(browser, urls[i],
content::PAGE_TRANSITION_START_PAGE);
params.disposition = i == 0 ? NEW_FOREGROUND_TAB : NEW_BACKGROUND_TAB;
@@ -981,8 +983,8 @@
if (!session_service)
return;
for (int i = initial_count; i < browser->tab_count(); ++i)
- session_service->TabRestored(browser->GetTabContentsAt(i),
- browser->IsTabPinned(i));
+ session_service->TabRestored(chrome::GetTabContentsAt(browser, i),
+ browser->tab_strip_model()->IsTabPinned(i));
}
// The profile to create the sessions for.

Powered by Google App Engine
This is Rietveld 408576698