diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-03 15:52:29 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-03 15:52:29 +0000 |
commit | b334487af4e2c5b9d27e0807347f7fa94b6d89a5 (patch) | |
tree | 39d3ab8fc095c814d80c65f1df93c7e01d09eb4e /chrome/browser/browser.cc | |
parent | 2823b2b8a5b66279c2eac18f62b7756e89d72828 (diff) | |
download | chromium_src-b334487af4e2c5b9d27e0807347f7fa94b6d89a5.zip chromium_src-b334487af4e2c5b9d27e0807347f7fa94b6d89a5.tar.gz chromium_src-b334487af4e2c5b9d27e0807347f7fa94b6d89a5.tar.bz2 |
Adds ability for newly inserted tabs to appear before other tabs. I'll
wire this up to vertical tabs shortly.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/1687020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46224 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser.cc')
-rw-r--r-- | chrome/browser/browser.cc | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc index 43e1e61..cad0d63 100644 --- a/chrome/browser/browser.cc +++ b/chrome/browser/browser.cc @@ -208,6 +208,7 @@ Browser::Browser(Type type, Profile* profile) // might show vertical tabs but not show an option to turn them off. use_vertical_tabs_.SetValue(false); } + UpdateTabStripModelInsertionPolicy(); } Browser::~Browser() { @@ -750,6 +751,11 @@ void Browser::InProgressDownloadResponse(bool cancel_downloads) { //////////////////////////////////////////////////////////////////////////////// // Browser, Tab adding/showing functions: +int Browser::GetIndexForInsertionDuringRestore(int relative_index) { + return (tabstrip_model_.insertion_policy() == TabStripModel::INSERT_AFTER) ? + tab_count() : relative_index; +} + TabContents* Browser::AddTabWithURL(const GURL& url, const GURL& referrer, PageTransition::Type transition, @@ -982,6 +988,16 @@ NavigationController& Browser::GetOrCloneNavigationControllerForDisposition( } } +void Browser::UpdateTabStripModelInsertionPolicy() { + tabstrip_model_.SetInsertionPolicy(UseVerticalTabs() ? + TabStripModel::INSERT_BEFORE : TabStripModel::INSERT_AFTER); +} + +void Browser::UseVerticalTabsChanged() { + UpdateTabStripModelInsertionPolicy(); + window()->ToggleTabStripMode(); +} + void Browser::GoBack(WindowOpenDisposition disposition) { UserMetrics::RecordAction(UserMetricsAction("Back"), profile_); @@ -2141,7 +2157,7 @@ bool Browser::UseVerticalTabs() const { void Browser::ToggleUseVerticalTabs() { use_vertical_tabs_.SetValue(!UseVerticalTabs()); - window()->ToggleTabStripMode(); + UseVerticalTabsChanged(); } /////////////////////////////////////////////////////////////////////////////// @@ -2802,7 +2818,7 @@ void Browser::Observe(NotificationType type, case NotificationType::PREF_CHANGED: { if (*(Details<std::wstring>(details).ptr()) == prefs::kUseVerticalTabs) - window()->ToggleTabStripMode(); + UseVerticalTabsChanged(); else NOTREACHED(); break; |