blob: 3b8052f7adaaf92e087174fa12ab9d6dd525d22a [file] [log] [blame]
// Copyright 2019 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.
#include "chrome/browser/chromeos/login/test/login_screen_tester.h"
#include "ash/public/interfaces/constants.mojom.h"
#include "ash/public/interfaces/login_screen_test_api.test-mojom-test-utils.h"
#include "content/public/common/service_manager_connection.h"
#include "services/service_manager/public/cpp/connector.h"
namespace chromeos {
namespace test {
LoginScreenTester::LoginScreenTester() {
content::ServiceManagerConnection::GetForProcess()
->GetConnector()
->BindInterface(ash::mojom::kServiceName, &test_api_);
}
LoginScreenTester::~LoginScreenTester() = default;
int64_t LoginScreenTester::GetUiUpdateCount() {
ash::mojom::LoginScreenTestApiAsyncWaiter login_screen(test_api_.get());
int64_t ui_update_count = 0;
login_screen.GetUiUpdateCount(&ui_update_count);
return ui_update_count;
}
bool LoginScreenTester::IsRestartButtonShown() {
ash::mojom::LoginScreenTestApiAsyncWaiter login_screen(test_api_.get());
bool is_restart_button_shown;
login_screen.IsRestartButtonShown(&is_restart_button_shown);
return is_restart_button_shown;
}
bool LoginScreenTester::IsShutdownButtonShown() {
ash::mojom::LoginScreenTestApiAsyncWaiter login_screen(test_api_.get());
bool is_shutdown_button_shown;
login_screen.IsShutdownButtonShown(&is_shutdown_button_shown);
return is_shutdown_button_shown;
}
bool LoginScreenTester::ClickAddUserButton() {
ash::mojom::LoginScreenTestApiAsyncWaiter login_screen(test_api_.get());
bool success;
login_screen.ClickAddUserButton(&success);
return success;
}
bool LoginScreenTester::WaitForUiUpdate(int64_t previous_update_count) {
ash::mojom::LoginScreenTestApiAsyncWaiter login_screen(test_api_.get());
bool success;
login_screen.WaitForUiUpdate(previous_update_count, &success);
return success;
}
} // namespace test
} // namespace chromeos