blob: ed24deed4508b797e2eb7f92f6f2a40da9e6b949 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ASH_LOGIN_LOGIN_SCREEN_TEST_API_H_
#define ASH_LOGIN_LOGIN_SCREEN_TEST_API_H_
#include "ash/public/interfaces/login_screen_test_api.test-mojom.h"
#include "base/macros.h"
#include "components/account_id/account_id.h"
namespace ash {
// Allows tests to access private state of the login/lock screens.
class LoginScreenTestApi : public mojom::LoginScreenTestApi {
public:
// Creates and binds an instance from a remote request (e.g. from chrome).
static void BindRequest(mojom::LoginScreenTestApiRequest request);
LoginScreenTestApi();
~LoginScreenTestApi() override;
// mojom::LoginScreen:
void IsLockShown(IsLockShownCallback callback) override;
void IsLoginShelfShown(IsLoginShelfShownCallback callback) override;
void SubmitPassword(const AccountId& account_id,
const std::string& password,
SubmitPasswordCallback callback) override;
private:
DISALLOW_COPY_AND_ASSIGN(LoginScreenTestApi);
};
} // namespace ash
#endif // ASH_LOGIN_LOGIN_SCREEN_TEST_API_H_