Index: chrome/browser/ui/views/frame/browser_view.h |
=================================================================== |
--- chrome/browser/ui/views/frame/browser_view.h (revision 74134) |
+++ chrome/browser/ui/views/frame/browser_view.h (working copy) |
@@ -16,6 +16,7 @@ |
#include "chrome/browser/browser_window.h" |
#include "chrome/browser/tabs/tab_strip_model_observer.h" |
#include "chrome/browser/ui/browser.h" |
+#include "chrome/browser/ui/views/sidebar/sidebar_tab_strip_controller.h" |
#include "chrome/browser/ui/views/frame/browser_bubble_host.h" |
#include "chrome/browser/ui/views/frame/browser_frame.h" |
#include "chrome/browser/ui/views/infobars/infobar_container.h" |
@@ -43,6 +44,7 @@ |
class BookmarkBarView; |
class Browser; |
class BrowserBubble; |
+class BrowserSidebarTabStripController; |
class BrowserViewLayout; |
class ContentsContainer; |
class DownloadShelfView; |
@@ -51,6 +53,7 @@ |
class HtmlDialogUIDelegate; |
class InfoBarContainer; |
class LocationBarView; |
+class SidebarTabStripHost; |
class SideTabStrip; |
class StatusBubbleViews; |
class TabContentsContainer; |
@@ -59,6 +62,8 @@ |
class ZoomMenuModel; |
class Extension; |
+struct SidebarChangedDetails; |
+ |
#if defined(OS_WIN) |
class AeroPeekManager; |
class JumpList; |
@@ -84,7 +89,8 @@ |
public views::WindowDelegate, |
public views::ClientView, |
public InfoBarContainer::Delegate, |
- public views::SingleSplitView::Observer { |
+ public views::SingleSplitView::Observer, |
+ public SidebarTabStripController::Delegate { |
public: |
// The browser view's class name. |
static const char kViewClassName[]; |
@@ -398,6 +404,9 @@ |
// views::SingleSplitView::Observer overrides: |
virtual bool SplitHandleMoved(views::SingleSplitView* view); |
+ // SidebarTabStripController::Delegate overrides |
+ virtual void OnSidebarTabStripBoundsChanged(bool is_animating); |
+ |
protected: |
// Appends to |toolbars| a pointer to each AccessiblePaneView that |
// can be traversed using F6, in the order they should be traversed. |
@@ -432,6 +441,8 @@ |
// mode for the tabstrip changes from horizontal to vertical. |
virtual void InitTabStrip(TabStripModel* tab_strip_model); |
+ virtual void InitSidebarTabStrip(); |
+ |
// Browser window related initializations. |
virtual void Init(); |
@@ -467,10 +478,10 @@ |
bool MaybeShowInfoBar(TabContentsWrapper* contents); |
// Updates sidebar UI according to the current tab and sidebar state. |
- void UpdateSidebar(); |
- // Displays active sidebar linked to the |tab_contents| or hides sidebar UI, |
- // if there's no such sidebar. |
- void UpdateSidebarForContents(TabContentsWrapper* tab_contents); |
+ void UpdateSidebar(SidebarChangedDetails* details); |
+ // Displays active sidebar linked to the |tab| or hides sidebar UI, |
+ // if there's none. |
+ void UpdateSidebarForContents(TabContentsWrapper* tab); |
// Updated devtools window for given contents. |
void UpdateDevToolsForContents(TabContentsWrapper* tab_contents); |
@@ -606,6 +617,10 @@ |
// Split view containing the contents container and sidebar container. |
views::SingleSplitView* sidebar_split_; |
+ // The SidebarTabStrip. |
+ BrowserSidebarTabStripController* sidebar_tabstrip_controller_; |
+ scoped_ptr<SidebarTabStripHost> sidebar_tabstrip_host_; |
+ |
// The view that contains the selected TabContents. |
TabContentsContainer* contents_container_; |