Skip to content

Commit

Permalink
Refactor methods to use IsLoggedInAsAnyKioskApp() where needed
Browse files Browse the repository at this point in the history
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: Sergey Poromov <poromov@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#714944}
  • Loading branch information
Anatoliy Potapchuk authored and Commit Bot committed Nov 13, 2019
1 parent 1e5ea7d commit 2105256
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 5 deletions.
3 changes: 2 additions & 1 deletion chrome/browser/chromeos/login/users/mock_user_manager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
1 change: 1 addition & 0 deletions chrome/browser/chromeos/login/users/mock_user_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -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&));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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())
Expand All @@ -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 {
Expand Down
6 changes: 6 additions & 0 deletions components/user_manager/fake_user_manager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
1 change: 1 addition & 0 deletions components/user_manager/fake_user_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
5 changes: 4 additions & 1 deletion components/user_manager/user_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
5 changes: 5 additions & 0 deletions components/user_manager/user_manager_base.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
1 change: 1 addition & 0 deletions components/user_manager/user_manager_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down

0 comments on commit 2105256

Please sign in to comment.