1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_UI_BROWSER_TABSTRIP_H_ 6#define CHROME_BROWSER_UI_BROWSER_TABSTRIP_H_ 7 8#include "content/public/browser/navigation_controller.h" 9#include "content/public/browser/web_contents.h" 10#include "ui/base/page_transition_types.h" 11#include "ui/base/window_open_disposition.h" 12 13class Browser; 14class GURL; 15class Profile; 16 17namespace content { 18class SiteInstance; 19} 20 21namespace gfx { 22class Rect; 23} 24 25namespace chrome { 26 27// Adds a tab to the tab strip of the specified browser and loads |url| into it. 28// If |url| is an empty URL, then the new tab-page is laoded. An |index| of -1 29// means to append it to the end of the tab strip. 30void AddTabAt(Browser* browser, const GURL& url, int index, bool foreground); 31 32// Adds a selected tab with the specified URL and transition, returns the 33// created WebContents. 34content::WebContents* AddSelectedTabWithURL(Browser* browser, 35 const GURL& url, 36 ui::PageTransition transition); 37 38// Creates a new tab with the already-created WebContents 'new_contents'. 39// The window for the added contents will be reparented correctly when this 40// method returns. If |disposition| is NEW_POPUP, |pos| should hold the 41// initial position. If |was_blocked| is non-NULL, then |*was_blocked| will be 42// set to true if the popup gets blocked, and left unchanged otherwise. 43void AddWebContents(Browser* browser, 44 content::WebContents* source_contents, 45 content::WebContents* new_contents, 46 WindowOpenDisposition disposition, 47 const gfx::Rect& initial_pos, 48 bool user_gesture, 49 bool* was__blocked); 50 51// Closes the specified WebContents in the specified Browser. If 52// |add_to_history| is true, an entry in the historical tab database is created. 53void CloseWebContents(Browser* browser, 54 content::WebContents* contents, 55 bool add_to_history); 56 57} // namespace chrome 58 59#endif // CHROME_BROWSER_UI_BROWSER_TABSTRIP_H_ 60