diff options
Diffstat (limited to 'chrome/browser/gtk/tabs/tab_strip_gtk.cc')
-rw-r--r-- | chrome/browser/gtk/tabs/tab_strip_gtk.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/chrome/browser/gtk/tabs/tab_strip_gtk.cc b/chrome/browser/gtk/tabs/tab_strip_gtk.cc index f6ed7d8..803c026 100644 --- a/chrome/browser/gtk/tabs/tab_strip_gtk.cc +++ b/chrome/browser/gtk/tabs/tab_strip_gtk.cc @@ -722,6 +722,8 @@ void TabStripGtk::Init() { drop_indicator_width = gdk_pixbuf_get_width(drop_image); drop_indicator_height = gdk_pixbuf_get_height(drop_image); } + + ViewIDUtil::SetDelegateForWidget(widget(), this); } void TabStripGtk::Show() { @@ -849,6 +851,26 @@ gfx::Point TabStripGtk::GetTabStripOriginForWidget(GtkWidget* target) { } //////////////////////////////////////////////////////////////////////////////// +// ViewIDUtil::Delegate implementation + +GtkWidget* TabStripGtk::GetWidgetForViewID(ViewID view_id) { + if (GetTabCount() > 0) { + if (view_id == VIEW_ID_TAB_LAST) { + return GetTabAt(GetTabCount() - 1)->widget(); + } else if ((view_id >= VIEW_ID_TAB_0) && (view_id < VIEW_ID_TAB_LAST)) { + int index = view_id - VIEW_ID_TAB_0; + if (index >= 0 && index < GetTabCount()) { + return GetTabAt(index)->widget(); + } else { + return NULL; + } + } + } + + return NULL; +} + +//////////////////////////////////////////////////////////////////////////////// // TabStripGtk, TabStripModelObserver implementation: void TabStripGtk::TabInsertedAt(TabContents* contents, |