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 base { 17 class CommandLine; 18 } 19 20 namespace chrome { 21 struct NavigateParams; 22 } 23 24 namespace content { 25 class WebContents; 26 } 27 28 // Browsertest class for testing the browser navigation. It is also a base class 29 // for the |BrowserGuestModeNavigation| which tests navigation while in guest 30 // mode. 31 class BrowserNavigatorTest : public InProcessBrowserTest, 32 public content::NotificationObserver { 33 protected: 34 chrome::NavigateParams MakeNavigateParams() const; 35 chrome::NavigateParams MakeNavigateParams(Browser* browser) const; 36 37 Browser* CreateEmptyBrowserForType(Browser::Type type, Profile* profile); 38 Browser* CreateEmptyBrowserForApp(Profile* profile); 39 40 content::WebContents* CreateWebContents(); 41 42 void RunSuppressTest(WindowOpenDisposition disposition); 43 void RunUseNonIncognitoWindowTest(const GURL& url); 44 void RunDoNothingIfIncognitoIsForcedTest(const GURL& url); 45 46 // InProcessBrowserTest: 47 virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE; 48 49 // content::NotificationObserver: 50 virtual void Observe(int type, 51 const content::NotificationSource& source, 52 const content::NotificationDetails& details) OVERRIDE; 53 54 bool OpenPOSTURLInNewForegroundTabAndGetTitle(const GURL& url, 55 const std::string& post_data, 56 bool is_browser_initiated, 57 base::string16* title); 58 59 size_t created_tab_contents_count_; 60 }; 61 62 #endif // CHROME_BROWSER_UI_BROWSER_NAVIGATOR_BROWSERTEST_H_ 63