Fix infinite recursion on hiding panel when created during fullscreen mode.
[chromium-blink-merge.git] / chrome / browser / chromeos / login / fake_login_utils.h
blob23a834e83877bb0e3368029513dfa1f28b1f7eb2
1 // Copyright 2013 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.
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_FAKE_LOGIN_UTILS_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_FAKE_LOGIN_UTILS_H_
8 #include "chrome/browser/chromeos/login/login_utils.h"
10 namespace chromeos {
12 // This class emulates behavior of LoginUtils for browser tests.
13 // It provides:
14 // * Fake authentication. You can configure expected usernames and password for
15 // next auth attempt.
16 // * Preparing of profiles for authenticated users.
17 // * Launching browser for user, if |should_launch_browser_| set.
18 // * Correct communication with LoginDisplayHost and UserManager.
19 class FakeLoginUtils : public LoginUtils {
20 public:
21 FakeLoginUtils();
22 virtual ~FakeLoginUtils();
23 virtual void DoBrowserLaunch(Profile* profile,
24 LoginDisplayHost* login_host) OVERRIDE;
25 virtual void PrepareProfile(const UserContext& user_context,
26 const std::string& display_email,
27 bool has_cookies,
28 bool has_active_session,
29 LoginUtils::Delegate* delegate) OVERRIDE;
30 virtual void DelegateDeleted(LoginUtils::Delegate* delegate) OVERRIDE;
31 virtual void CompleteOffTheRecordLogin(const GURL& start_url) OVERRIDE;
32 virtual void SetFirstLoginPrefs(PrefService* prefs) OVERRIDE;
33 virtual scoped_refptr<Authenticator> CreateAuthenticator(
34 LoginStatusConsumer* consumer) OVERRIDE;
35 virtual void RestoreAuthenticationSession(Profile* profile) OVERRIDE;
36 virtual void InitRlzDelayed(Profile* user_profile) OVERRIDE;
38 void SetExpectedCredentials(const std::string& username,
39 const std::string& password);
40 void set_should_launch_browser(bool should_launch_browser) {
41 should_launch_browser_ = should_launch_browser;
44 private:
45 Profile* CreateProfile(const std::string& username_hash);
47 scoped_refptr<Authenticator> authenticator_;
48 std::string expected_username_;
49 std::string expected_password_;
50 bool should_launch_browser_;
52 DISALLOW_COPY_AND_ASSIGN(FakeLoginUtils);
55 } // namespace chromeos
57 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_FAKE_LOGIN_UTILS_H_