summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/tabs
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-08 03:37:50 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-08 03:37:50 +0000
commit33d396b083d7096f7c44ea76fd4a6765dec75d87 (patch)
tree4f32d32750c5207438c7cd1a2d1ae48944c7c2ab /chrome/browser/gtk/tabs
parent8d80d2d63503442e05c243a2d8bcf61de751434c (diff)
downloadchromium_src-33d396b083d7096f7c44ea76fd4a6765dec75d87.zip
chromium_src-33d396b083d7096f7c44ea76fd4a6765dec75d87.tar.gz
chromium_src-33d396b083d7096f7c44ea76fd4a6765dec75d87.tar.bz2
Add tab menu item to show/hide toolbar for app tabs
Also, never show bookmarks bar on app tabs. BUG=45540 Review URL: http://codereview.chromium.org/2854038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51825 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/tabs')
-rw-r--r--chrome/browser/gtk/tabs/tab_gtk.cc4
-rw-r--r--chrome/browser/gtk/tabs/tab_gtk.h6
-rw-r--r--chrome/browser/gtk/tabs/tab_strip_gtk.cc11
-rw-r--r--chrome/browser/gtk/tabs/tab_strip_gtk.h2
4 files changed, 22 insertions, 1 deletions
diff --git a/chrome/browser/gtk/tabs/tab_gtk.cc b/chrome/browser/gtk/tabs/tab_gtk.cc
index 7383a5e..33a8b75 100644
--- a/chrome/browser/gtk/tabs/tab_gtk.cc
+++ b/chrome/browser/gtk/tabs/tab_gtk.cc
@@ -38,7 +38,9 @@ class TabGtk::ContextMenuController : public menus::SimpleMenuModel::Delegate {
public:
explicit ContextMenuController(TabGtk* tab)
: tab_(tab),
- model_(this, tab->delegate()->IsTabPinned(tab), false, true) {
+ model_(this, tab->delegate()->IsTabPinned(tab),
+ tab->delegate()->IsAppTab(tab),
+ tab->delegate()->IsToolbarVisible(tab)) {
menu_.reset(new MenuGtk(NULL, &model_));
}
diff --git a/chrome/browser/gtk/tabs/tab_gtk.h b/chrome/browser/gtk/tabs/tab_gtk.h
index 6630780..7f0e3fc 100644
--- a/chrome/browser/gtk/tabs/tab_gtk.h
+++ b/chrome/browser/gtk/tabs/tab_gtk.h
@@ -32,9 +32,15 @@ class TabGtk : public TabRendererGtk,
// Returns true if the specified Tab is pinned.
virtual bool IsTabPinned(const TabGtk* tab) const = 0;
+ // Returns true if the specified Tab contains an app.
+ virtual bool IsAppTab(const TabGtk* tab) const = 0;
+
// Returns true if the specified Tab is detached.
virtual bool IsTabDetached(const TabGtk* tab) const = 0;
+ // Returns true if the toolbar is visible for |tab|.
+ virtual bool IsToolbarVisible(const TabGtk* tab) const = 0;
+
// Selects the specified Tab.
virtual void SelectTab(TabGtk* tab) = 0;
diff --git a/chrome/browser/gtk/tabs/tab_strip_gtk.cc b/chrome/browser/gtk/tabs/tab_strip_gtk.cc
index 82b2bd8..affdeae 100644
--- a/chrome/browser/gtk/tabs/tab_strip_gtk.cc
+++ b/chrome/browser/gtk/tabs/tab_strip_gtk.cc
@@ -1084,6 +1084,10 @@ bool TabStripGtk::IsTabDetached(const TabGtk* tab) const {
return false;
}
+bool TabStripGtk::IsToolbarVisible(const TabGtk* tab) const {
+ return model_->IsToolbarVisible(GetIndexOfTab(tab));
+}
+
void TabStripGtk::GetCurrentTabWidths(double* unselected_width,
double* selected_width) const {
*unselected_width = current_unselected_width_;
@@ -1097,6 +1101,13 @@ bool TabStripGtk::IsTabPinned(const TabGtk* tab) const {
return model_->IsTabPinned(GetIndexOfTab(tab));
}
+bool TabStripGtk::IsAppTab(const TabGtk* tab) const {
+ if (tab->closing())
+ return false;
+
+ return model_->IsAppTab(GetIndexOfTab(tab));
+}
+
void TabStripGtk::SelectTab(TabGtk* tab) {
int index = GetIndexOfTab(tab);
if (model_->ContainsIndex(index))
diff --git a/chrome/browser/gtk/tabs/tab_strip_gtk.h b/chrome/browser/gtk/tabs/tab_strip_gtk.h
index 7fe8c60..b0c3f3c 100644
--- a/chrome/browser/gtk/tabs/tab_strip_gtk.h
+++ b/chrome/browser/gtk/tabs/tab_strip_gtk.h
@@ -121,7 +121,9 @@ class TabStripGtk : public TabStripModelObserver,
// TabGtk::TabDelegate implementation:
virtual bool IsTabSelected(const TabGtk* tab) const;
virtual bool IsTabPinned(const TabGtk* tab) const;
+ virtual bool IsAppTab(const TabGtk* tab) const;
virtual bool IsTabDetached(const TabGtk* tab) const;
+ virtual bool IsToolbarVisible(const TabGtk* tab) const;
virtual void SelectTab(TabGtk* tab);
virtual void CloseTab(TabGtk* tab);
virtual bool IsCommandEnabledForTab(