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 { ...@@ -67,7 +67,8 @@ const user_manager::User* MockUserManager::GetPrimaryUser() const {
} }
bool MockUserManager::IsLoggedInAsAnyKioskApp() const { bool MockUserManager::IsLoggedInAsAnyKioskApp() const {
return IsLoggedInAsKioskApp() || IsLoggedInAsArcKioskApp(); return IsLoggedInAsKioskApp() || IsLoggedInAsArcKioskApp() ||
IsLoggedInAsWebKioskApp();
} }
MultiProfileUserController* MockUserManager::GetMultiProfileUserController() { MultiProfileUserController* MockUserManager::GetMultiProfileUserController() {
......
...@@ -63,6 +63,7 @@ class MockUserManager : public ChromeUserManager { ...@@ -63,6 +63,7 @@ class MockUserManager : public ChromeUserManager {
MOCK_CONST_METHOD0(IsLoggedInAsSupervisedUser, bool(void)); MOCK_CONST_METHOD0(IsLoggedInAsSupervisedUser, bool(void));
MOCK_CONST_METHOD0(IsLoggedInAsKioskApp, bool(void)); MOCK_CONST_METHOD0(IsLoggedInAsKioskApp, bool(void));
MOCK_CONST_METHOD0(IsLoggedInAsArcKioskApp, bool(void)); MOCK_CONST_METHOD0(IsLoggedInAsArcKioskApp, bool(void));
MOCK_CONST_METHOD0(IsLoggedInAsWebKioskApp, bool(void));
MOCK_CONST_METHOD0(IsLoggedInAsStub, bool(void)); MOCK_CONST_METHOD0(IsLoggedInAsStub, bool(void));
MOCK_CONST_METHOD0(IsSessionStarted, bool(void)); MOCK_CONST_METHOD0(IsSessionStarted, bool(void));
MOCK_CONST_METHOD1(IsUserNonCryptohomeDataEphemeral, bool(const AccountId&)); MOCK_CONST_METHOD1(IsUserNonCryptohomeDataEphemeral, bool(const AccountId&));
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.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/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/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/device_oauth2_token_service.h" #include "chrome/browser/chromeos/settings/device_oauth2_token_service.h"
#include "chrome/browser/chromeos/settings/device_oauth2_token_service_factory.h" #include "chrome/browser/chromeos/settings/device_oauth2_token_service_factory.h"
...@@ -157,8 +158,7 @@ bool CRDHostDelegate::AreServicesReady() const { ...@@ -157,8 +158,7 @@ bool CRDHostDelegate::AreServicesReady() const {
bool CRDHostDelegate::IsRunningKiosk() const { bool CRDHostDelegate::IsRunningKiosk() const {
auto* user_manager = user_manager::UserManager::Get(); auto* user_manager = user_manager::UserManager::Get();
if (!user_manager->IsLoggedInAsKioskApp() && if (!user_manager->IsLoggedInAsAnyKioskApp()) {
!user_manager->IsLoggedInAsArcKioskApp()) {
return false; return false;
} }
if (!GetKioskProfile()) if (!GetKioskProfile())
...@@ -171,10 +171,15 @@ bool CRDHostDelegate::IsRunningKiosk() const { ...@@ -171,10 +171,15 @@ bool CRDHostDelegate::IsRunningKiosk() const {
chromeos::KioskAppManager::App app; chromeos::KioskAppManager::App app;
CHECK(manager->GetApp(manager->GetAutoLaunchApp(), &app)); CHECK(manager->GetApp(manager->GetAutoLaunchApp(), &app));
return app.was_auto_launched_with_zero_delay; return app.was_auto_launched_with_zero_delay;
} else { // ARC Kiosk } else if (user_manager->IsLoggedInAsArcKioskApp()) {
return chromeos::ArcKioskAppManager::Get() return chromeos::ArcKioskAppManager::Get()
->current_app_was_auto_launched_with_zero_delay(); ->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 { base::TimeDelta CRDHostDelegate::GetIdlenessPeriod() const {
......
...@@ -260,6 +260,12 @@ bool FakeUserManager::IsLoggedInAsArcKioskApp() const { ...@@ -260,6 +260,12 @@ bool FakeUserManager::IsLoggedInAsArcKioskApp() const {
: false; : 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 { bool FakeUserManager::IsLoggedInAsAnyKioskApp() const {
const User* active_user = GetActiveUser(); const User* active_user = GetActiveUser();
return active_user && active_user->IsKioskType(); return active_user && active_user->IsKioskType();
......
...@@ -96,6 +96,7 @@ class USER_MANAGER_EXPORT FakeUserManager : public UserManagerBase { ...@@ -96,6 +96,7 @@ class USER_MANAGER_EXPORT FakeUserManager : public UserManagerBase {
bool IsLoggedInAsSupervisedUser() const override; bool IsLoggedInAsSupervisedUser() const override;
bool IsLoggedInAsKioskApp() const override; bool IsLoggedInAsKioskApp() const override;
bool IsLoggedInAsArcKioskApp() const override; bool IsLoggedInAsArcKioskApp() const override;
bool IsLoggedInAsWebKioskApp() const override;
bool IsLoggedInAsAnyKioskApp() const override; bool IsLoggedInAsAnyKioskApp() const override;
bool IsLoggedInAsStub() const override; bool IsLoggedInAsStub() const override;
bool IsUserNonCryptohomeDataEphemeral( bool IsUserNonCryptohomeDataEphemeral(
......
...@@ -287,7 +287,10 @@ class USER_MANAGER_EXPORT UserManager { ...@@ -287,7 +287,10 @@ class USER_MANAGER_EXPORT UserManager {
// Returns true if we're logged in as an ARC kiosk app. // Returns true if we're logged in as an ARC kiosk app.
virtual bool IsLoggedInAsArcKioskApp() const = 0; 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; virtual bool IsLoggedInAsAnyKioskApp() const = 0;
// Returns true if we're logged in as the stub user used for testing on Linux. // Returns true if we're logged in as the stub user used for testing on Linux.
......
...@@ -618,6 +618,11 @@ bool UserManagerBase::IsLoggedInAsArcKioskApp() const { ...@@ -618,6 +618,11 @@ bool UserManagerBase::IsLoggedInAsArcKioskApp() const {
return IsUserLoggedIn() && active_user_->GetType() == USER_TYPE_ARC_KIOSK_APP; 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 { bool UserManagerBase::IsLoggedInAsAnyKioskApp() const {
DCHECK(!task_runner_ || task_runner_->RunsTasksInCurrentSequence()); DCHECK(!task_runner_ || task_runner_->RunsTasksInCurrentSequence());
return IsUserLoggedIn() && active_user_->IsKioskType(); return IsUserLoggedIn() && active_user_->IsKioskType();
......
...@@ -95,6 +95,7 @@ class USER_MANAGER_EXPORT UserManagerBase : public UserManager { ...@@ -95,6 +95,7 @@ class USER_MANAGER_EXPORT UserManagerBase : public UserManager {
bool IsLoggedInAsSupervisedUser() const override; bool IsLoggedInAsSupervisedUser() const override;
bool IsLoggedInAsKioskApp() const override; bool IsLoggedInAsKioskApp() const override;
bool IsLoggedInAsArcKioskApp() const override; bool IsLoggedInAsArcKioskApp() const override;
bool IsLoggedInAsWebKioskApp() const override;
bool IsLoggedInAsAnyKioskApp() const override; bool IsLoggedInAsAnyKioskApp() const override;
bool IsLoggedInAsStub() const override; bool IsLoggedInAsStub() const override;
bool IsUserNonCryptohomeDataEphemeral( 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