Commit 2105256a authored by Anatoliy Potapchuk's avatar Anatoliy Potapchuk Committed by Commit Bot

Refactor methods to use IsLoggedInAsAnyKioskApp() where needed

Also, bring back IsLoggedInAsWebKioskApp() for permissions handling.

Bug: 1015383,1006230
Change-Id: I66dfda221fd828443f580746c68faf47757d4137
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1911797
Commit-Queue: Anatoliy Potapchuk <apotapchuk@chromium.org>
Reviewed-by: default avatarSergey Poromov <poromov@chromium.org>
Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#714944}
parent 1e5ea7dc
......@@ -67,7 +67,8 @@ const user_manager::User* MockUserManager::GetPrimaryUser() const {
}
bool MockUserManager::IsLoggedInAsAnyKioskApp() const {
return IsLoggedInAsKioskApp() || IsLoggedInAsArcKioskApp();
return IsLoggedInAsKioskApp() || IsLoggedInAsArcKioskApp() ||
IsLoggedInAsWebKioskApp();
}
MultiProfileUserController* MockUserManager::GetMultiProfileUserController() {
......
......@@ -63,6 +63,7 @@ class MockUserManager : public ChromeUserManager {
MOCK_CONST_METHOD0(IsLoggedInAsSupervisedUser, bool(void));
MOCK_CONST_METHOD0(IsLoggedInAsKioskApp, bool(void));
MOCK_CONST_METHOD0(IsLoggedInAsArcKioskApp, bool(void));
MOCK_CONST_METHOD0(IsLoggedInAsWebKioskApp, bool(void));
MOCK_CONST_METHOD0(IsLoggedInAsStub, bool(void));
MOCK_CONST_METHOD0(IsSessionStarted, bool(void));
MOCK_CONST_METHOD1(IsUserNonCryptohomeDataEphemeral, bool(const AccountId&));
......
......@@ -12,6 +12,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h"
#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
#include "chrome/browser/chromeos/app_mode/web_app/web_kiosk_app_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/device_oauth2_token_service.h"
#include "chrome/browser/chromeos/settings/device_oauth2_token_service_factory.h"
......@@ -157,8 +158,7 @@ bool CRDHostDelegate::AreServicesReady() const {
bool CRDHostDelegate::IsRunningKiosk() const {
auto* user_manager = user_manager::UserManager::Get();
if (!user_manager->IsLoggedInAsKioskApp() &&
!user_manager->IsLoggedInAsArcKioskApp()) {
if (!user_manager->IsLoggedInAsAnyKioskApp()) {
return false;
}
if (!GetKioskProfile())
......@@ -171,10 +171,15 @@ bool CRDHostDelegate::IsRunningKiosk() const {
chromeos::KioskAppManager::App app;
CHECK(manager->GetApp(manager->GetAutoLaunchApp(), &app));
return app.was_auto_launched_with_zero_delay;
} else { // ARC Kiosk
} else if (user_manager->IsLoggedInAsArcKioskApp()) {
return chromeos::ArcKioskAppManager::Get()
->current_app_was_auto_launched_with_zero_delay();
} else if (user_manager->IsLoggedInAsWebKioskApp()) {
return chromeos::WebKioskAppManager::Get()
->current_app_was_auto_launched_with_zero_delay();
}
NOTREACHED();
return false;
}
base::TimeDelta CRDHostDelegate::GetIdlenessPeriod() const {
......
......@@ -260,6 +260,12 @@ bool FakeUserManager::IsLoggedInAsArcKioskApp() const {
: false;
}
bool FakeUserManager::IsLoggedInAsWebKioskApp() const {
const User* active_user = GetActiveUser();
return active_user ? active_user->GetType() == USER_TYPE_WEB_KIOSK_APP
: false;
}
bool FakeUserManager::IsLoggedInAsAnyKioskApp() const {
const User* active_user = GetActiveUser();
return active_user && active_user->IsKioskType();
......
......@@ -96,6 +96,7 @@ class USER_MANAGER_EXPORT FakeUserManager : public UserManagerBase {
bool IsLoggedInAsSupervisedUser() const override;
bool IsLoggedInAsKioskApp() const override;
bool IsLoggedInAsArcKioskApp() const override;
bool IsLoggedInAsWebKioskApp() const override;
bool IsLoggedInAsAnyKioskApp() const override;
bool IsLoggedInAsStub() const override;
bool IsUserNonCryptohomeDataEphemeral(
......
......@@ -287,7 +287,10 @@ class USER_MANAGER_EXPORT UserManager {
// Returns true if we're logged in as an ARC kiosk app.
virtual bool IsLoggedInAsArcKioskApp() const = 0;
// Returns true if we're logged in as chrome, ARC or web kiosk app.
// Returns true if we're logged in as a Web kiosk app.
virtual bool IsLoggedInAsWebKioskApp() const = 0;
// Returns true if we're logged in as chrome, ARC or Web kiosk app.
virtual bool IsLoggedInAsAnyKioskApp() const = 0;
// Returns true if we're logged in as the stub user used for testing on Linux.
......
......@@ -618,6 +618,11 @@ bool UserManagerBase::IsLoggedInAsArcKioskApp() const {
return IsUserLoggedIn() && active_user_->GetType() == USER_TYPE_ARC_KIOSK_APP;
}
bool UserManagerBase::IsLoggedInAsWebKioskApp() const {
DCHECK(!task_runner_ || task_runner_->RunsTasksInCurrentSequence());
return IsUserLoggedIn() && active_user_->GetType() == USER_TYPE_WEB_KIOSK_APP;
}
bool UserManagerBase::IsLoggedInAsAnyKioskApp() const {
DCHECK(!task_runner_ || task_runner_->RunsTasksInCurrentSequence());
return IsUserLoggedIn() && active_user_->IsKioskType();
......
......@@ -95,6 +95,7 @@ class USER_MANAGER_EXPORT UserManagerBase : public UserManager {
bool IsLoggedInAsSupervisedUser() const override;
bool IsLoggedInAsKioskApp() const override;
bool IsLoggedInAsArcKioskApp() const override;
bool IsLoggedInAsWebKioskApp() const override;
bool IsLoggedInAsAnyKioskApp() const override;
bool IsLoggedInAsStub() const override;
bool IsUserNonCryptohomeDataEphemeral(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment