Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / browser_navigator_browsertest.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_NAVIGATOR_BROWSERTEST_H_
6 #define CHROME_BROWSER_UI_BROWSER_NAVIGATOR_BROWSERTEST_H_
7
8 #include <string>
9
10 #include "chrome/browser/ui/browser.h"
11 #include "chrome/test/base/in_process_browser_test.h"
12 #include "content/public/browser/notification_types.h"
13
14 class Profile;
15
16 namespace chrome {
17 struct NavigateParams;
18 }
19
20 namespace content {
21 class WebContents;
22 }
23
24 // Browsertest class for testing the browser navigation. It is also a base class
25 // for the |BrowserGuestModeNavigation| which tests navigation while in guest
26 // mode.
27 class BrowserNavigatorTest : public InProcessBrowserTest,
28                              public content::NotificationObserver {
29  protected:
30   chrome::NavigateParams MakeNavigateParams() const;
31   chrome::NavigateParams MakeNavigateParams(Browser* browser) const;
32
33   Browser* CreateEmptyBrowserForType(Browser::Type type, Profile* profile);
34   Browser* CreateEmptyBrowserForApp(Profile* profile);
35
36   content::WebContents* CreateWebContents();
37
38   void RunSuppressTest(WindowOpenDisposition disposition);
39   void RunUseNonIncognitoWindowTest(const GURL& url);
40   void RunDoNothingIfIncognitoIsForcedTest(const GURL& url);
41
42   // content::NotificationObserver:
43   virtual void Observe(int type,
44                        const content::NotificationSource& source,
45                        const content::NotificationDetails& details) OVERRIDE;
46
47   bool OpenPOSTURLInNewForegroundTabAndGetTitle(const GURL& url,
48                                                 const std::string& post_data,
49                                                 bool is_browser_initiated,
50                                                 base::string16* title);
51
52   size_t created_tab_contents_count_;
53 };
54
55 #endif  // CHROME_BROWSER_UI_BROWSER_NAVIGATOR_BROWSERTEST_H_