• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2010 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_CHROMEOS_LOGIN_WIZARD_IN_PROCESS_BROWSER_TEST_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_WIZARD_IN_PROCESS_BROWSER_TEST_H_
7 #pragma once
8 
9 #include <string>
10 
11 #include "chrome/browser/chromeos/cros/cros_in_process_browser_test.h"
12 
13 class Browser;
14 class Profile;
15 class WizardController;
16 
17 namespace chromeos {
18 
19 class LoginDisplayHost;
20 
21 // Base class for test related to login wizard and its screens.
22 // Instead of creating Chrome browser window it creates login wizard window
23 // with specified parameters and allows to customize environment at the
24 // right moment in time before wizard is created.
25 class WizardInProcessBrowserTest : public CrosInProcessBrowserTest {
26  public:
27   explicit WizardInProcessBrowserTest(const char* screen_name);
28 
29  protected:
30   // Can be overriden by derived test fixtures to set up environment after
31   // browser is created but wizard is not shown yet.
SetUpWizard()32   virtual void SetUpWizard() {}
33 
34   // Overriden from InProcessBrowserTest:
35   virtual Browser* CreateBrowser(Profile* profile);
36   virtual void CleanUpOnMainThread();
37 
controller()38   WizardController* controller() const { return controller_; }
set_controller(WizardController * controller)39   void set_controller(WizardController* controller) {
40     controller_ = controller;
41   }
42 
43  private:
44   std::string screen_name_;
45   WizardController* controller_;
46   LoginDisplayHost* host_;
47 
48   DISALLOW_COPY_AND_ASSIGN(WizardInProcessBrowserTest);
49 };
50 
51 }  // namespace chromeos
52 
53 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_WIZARD_IN_PROCESS_BROWSER_TEST_H_
54 
55