diff options
-rw-r--r-- | chrome/browser/ui/views/tabs/base_tab_strip.cc | 8 | ||||
-rw-r--r-- | chrome/browser/ui/views/tabs/base_tab_strip.h | 5 | ||||
-rw-r--r-- | chrome/browser/ui/views/tabs/side_tab_strip.cc | 5 | ||||
-rw-r--r-- | chrome/browser/ui/views/tabs/side_tab_strip.h | 1 |
4 files changed, 17 insertions, 2 deletions
diff --git a/chrome/browser/ui/views/tabs/base_tab_strip.cc b/chrome/browser/ui/views/tabs/base_tab_strip.cc index f3aa782..0ae0873 100644 --- a/chrome/browser/ui/views/tabs/base_tab_strip.cc +++ b/chrome/browser/ui/views/tabs/base_tab_strip.cc @@ -464,12 +464,16 @@ void BaseTabStrip::RemoveAndDeleteTab(BaseTab* tab) { UpdateCommonTitlePrefix(); } +bool BaseTabStrip::IgnoreTitlePrefixEliding(BaseTab* tab) { + DCHECK(tab != NULL); + return tab->data().mini || tab->data().title.empty(); +} + void BaseTabStrip::UpdateCommonTitlePrefix() { std::vector<TitlePrefixMatcher::TitleInfo> tab_title_infos; for (int tab_index = 0; tab_index < tab_count(); ++tab_index) { DCHECK(tab_data_[tab_index].tab != NULL); - if (!tab_data_[tab_index].tab->data().mini && - !tab_data_[tab_index].tab->data().title.empty()) { + if (!IgnoreTitlePrefixEliding(tab_data_[tab_index].tab)) { tab_title_infos.push_back(TitlePrefixMatcher::TitleInfo( &tab_data_[tab_index].tab->data().title, tab_index)); } diff --git a/chrome/browser/ui/views/tabs/base_tab_strip.h b/chrome/browser/ui/views/tabs/base_tab_strip.h index 18b1c1a..fe1a586 100644 --- a/chrome/browser/ui/views/tabs/base_tab_strip.h +++ b/chrome/browser/ui/views/tabs/base_tab_strip.h @@ -197,6 +197,11 @@ class BaseTabStrip : public AbstractTabStripView, tab_data_[index].ideal_bounds = bounds; } + // Identifies whether we should ignore title prefix eliding or not + // for the specified tab. This allows derived class like the one + // for side tabs to make a different choice (e.g., for mini tabs). + virtual bool IgnoreTitlePrefixEliding(BaseTab* tab); + // Update the lengths of common title prefixes for all tabs. This needs // to be done every time tabs are added/removed or when titles change. virtual void UpdateCommonTitlePrefix(); diff --git a/chrome/browser/ui/views/tabs/side_tab_strip.cc b/chrome/browser/ui/views/tabs/side_tab_strip.cc index ca8667f..e6ea0d2 100644 --- a/chrome/browser/ui/views/tabs/side_tab_strip.cc +++ b/chrome/browser/ui/views/tabs/side_tab_strip.cc @@ -154,6 +154,11 @@ BaseTab* SideTabStrip::CreateTab() { return new SideTab(this); } +bool SideTabStrip::IgnoreTitlePrefixEliding(BaseTab* tab) { + DCHECK(tab != NULL); + return tab->data().title.empty(); +} + void SideTabStrip::GenerateIdealBounds() { gfx::Rect layout_rect = GetContentsBounds(); layout_rect.Inset(kTabStripInset, kTabStripInset); diff --git a/chrome/browser/ui/views/tabs/side_tab_strip.h b/chrome/browser/ui/views/tabs/side_tab_strip.h index e39f13c..d0d95ca 100644 --- a/chrome/browser/ui/views/tabs/side_tab_strip.h +++ b/chrome/browser/ui/views/tabs/side_tab_strip.h @@ -37,6 +37,7 @@ class SideTabStrip : public BaseTabStrip { protected: // BaseTabStrip overrides: virtual BaseTab* CreateTab() OVERRIDE; + virtual bool IgnoreTitlePrefixEliding(BaseTab* tab) OVERRIDE; virtual void GenerateIdealBounds() OVERRIDE; virtual void StartInsertTabAnimation(int model_index, bool foreground) OVERRIDE; |