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 14class Profile; 15 16namespace base { 17class CommandLine; 18} 19 20namespace chrome { 21struct NavigateParams; 22} 23 24namespace content { 25class 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. 31class 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