Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / browser_tabstrip.h
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
13 class Browser;
14 class GURL;
15 class Profile;
16
17 namespace content {
18 class SiteInstance;
19 }
20
21 namespace gfx {
22 class Rect;
23 }
24
25 namespace 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.
30 void 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.
34 content::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.
43 void 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.
53 void 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_