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(Browser::Type type, 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_ 56