#ifndef CHROME_BROWSER_UI_BROWSER_TABSTRIP_H_
#define CHROME_BROWSER_UI_BROWSER_TABSTRIP_H_
#include "content/public/common/page_transition_types.h"
#include "content/public/browser/navigation_controller.h"
#include "webkit/glue/window_open_disposition.h"
class Browser;
class GURL;
class Profile;
class TabContents;
namespace content {
class SiteInstance;
class WebContents;
}
namespace gfx {
class Rect;
}
namespace chrome {
int GetIndexOfTab(const Browser* browser, const content::WebContents* contents);
TabContents* GetActiveTabContents(const Browser* browser);
content::WebContents* GetActiveWebContents(const Browser* browser);
TabContents* GetTabContentsAt(const Browser* browser, int index);
content::WebContents* GetWebContentsAt(const Browser* browser, int index);
void ActivateTabAt(Browser* browser, int index, bool user_gesture);
TabContents* AddBlankTab(Browser* browser, bool foreground);
TabContents* AddBlankTabAt(Browser* browser, int index, bool foreground);
bool IsTabStripEditable(Browser* browser);
TabContents* AddSelectedTabWithURL(Browser* browser,
const GURL& url,
content::PageTransition transition);
void AddTab(Browser* browser,
TabContents* tab_contents,
content::PageTransition type);
void AddWebContents(Browser* browser,
content::WebContents* source_contents,
content::WebContents* new_contents,
WindowOpenDisposition disposition,
const gfx::Rect& initial_pos,
bool user_gesture,
bool* was__blocked);
void CloseWebContents(Browser* browser, content::WebContents* contents);
void CloseAllTabs(Browser* browser);
TabContents* TabContentsFactory(
Profile* profile,
content::SiteInstance* site_instance,
int routing_id,
const content::WebContents* base_web_contents);
TabContents* TabContentsWithSessionStorageFactory(
Profile* profile,
content::SiteInstance* site_instance,
int routing_id,
const content::WebContents* base_web_contents,
const content::SessionStorageNamespaceMap& session_storage_namespace_map);
}
#endif