Commit 558c3574 authored by Henrique Ferreiro's avatar Henrique Ferreiro Committed by Chromium LUCI CQ

Make Web/KioskAppData::Status an enum class

This CL is part of the Chrome OS source code directory migration:
https://docs.google.com/document/d/1g-98HpzA8XcoGBWUv1gQNr4rbnD5yfvbtYZyPDDbkaE.

Bug: 1101837, 1164001
Change-Id: Iad2ee2eee89b8b483543896abb9ed123c826281f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2640114Reviewed-by: default avatarJames Cook <jamescook@chromium.org>
Commit-Queue: Henrique Ferreiro <hferreiro@igalia.com>
Cr-Commit-Position: refs/heads/master@{#845454}
parent e2e48a58
......@@ -264,19 +264,19 @@ KioskAppData::KioskAppData(KioskAppDataDelegate* delegate,
app_id,
account_id),
delegate_(delegate),
status_(STATUS_INIT),
status_(Status::kInit),
update_url_(update_url),
crx_file_(cached_crx) {
if (ignore_kiosk_app_data_load_failures_for_testing) {
LOG(WARNING) << "Force KioskAppData loaded for testing.";
SetStatus(STATUS_LOADED);
SetStatus(Status::kLoaded);
}
}
KioskAppData::~KioskAppData() = default;
void KioskAppData::Load() {
SetStatus(STATUS_LOADING);
SetStatus(Status::kLoading);
if (LoadFromCache())
return;
......@@ -286,7 +286,7 @@ void KioskAppData::Load() {
void KioskAppData::LoadFromInstalledApp(Profile* profile,
const extensions::Extension* app) {
SetStatus(STATUS_LOADING);
SetStatus(Status::kLoading);
if (!app) {
app = extensions::ExtensionRegistry::Get(profile)->GetInstalledExtension(
......@@ -317,7 +317,7 @@ void KioskAppData::SetCachedCrx(const base::FilePath& crx_file) {
}
bool KioskAppData::IsLoading() const {
return status_ == STATUS_LOADING;
return status_ == Status::kLoading;
}
bool KioskAppData::IsFromWebStore() const {
......@@ -338,16 +338,16 @@ std::unique_ptr<KioskAppData> KioskAppData::CreateForTest(
const std::string& required_platform_version) {
std::unique_ptr<KioskAppData> data(new KioskAppData(
delegate, app_id, account_id, update_url, base::FilePath()));
data->status_ = STATUS_LOADED;
data->status_ = Status::kLoaded;
data->required_platform_version_ = required_platform_version;
return data;
}
void KioskAppData::SetStatus(Status status) {
if (status == STATUS_ERROR &&
if (status == Status::kError &&
ignore_kiosk_app_data_load_failures_for_testing) {
LOG(WARNING) << "Ignoring KioskAppData error for testing. Force OK.";
status = STATUS_LOADED;
status = Status::kLoaded;
}
if (status_ == status)
......@@ -359,12 +359,12 @@ void KioskAppData::SetStatus(Status status) {
return;
switch (status_) {
case STATUS_INIT:
case STATUS_LOADING:
case STATUS_LOADED:
case Status::kInit:
case Status::kLoading:
case Status::kLoaded:
delegate_->OnKioskAppDataChanged(app_id());
break;
case STATUS_ERROR:
case Status::kError:
delegate_->OnKioskAppDataLoadFailure(app_id());
break;
}
......@@ -427,14 +427,14 @@ void KioskAppData::OnExtensionIconLoaded(const gfx::Image& icon) {
SetCache(name_, icon.AsBitmap(), required_platform_version_);
}
SetStatus(STATUS_LOADED);
SetStatus(Status::kLoaded);
}
void KioskAppData::OnIconLoadSuccess(const gfx::ImageSkia& icon) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
kiosk_app_icon_loader_.reset();
icon_ = icon;
SetStatus(STATUS_LOADED);
SetStatus(Status::kLoaded);
}
void KioskAppData::OnIconLoadFailure() {
......@@ -452,12 +452,12 @@ void KioskAppData::OnWebstoreParseSuccess(
const SkBitmap& icon,
const std::string& required_platform_version) {
SetCache(name_, icon, required_platform_version);
SetStatus(STATUS_LOADED);
SetStatus(Status::kLoaded);
}
void KioskAppData::OnWebstoreParseFailure() {
LOG(WARNING) << "Webstore request parse failure for app_id=" << app_id();
SetStatus(STATUS_ERROR);
SetStatus(Status::kError);
}
void KioskAppData::StartFetch() {
......@@ -475,7 +475,7 @@ void KioskAppData::StartFetch() {
void KioskAppData::OnWebstoreRequestFailure(const std::string& extension_id) {
LOG(WARNING) << "Webstore request failure for app_id=" << extension_id;
SetStatus(STATUS_ERROR);
SetStatus(Status::kError);
}
void KioskAppData::OnWebstoreResponseParseSuccess(
......@@ -531,7 +531,7 @@ void KioskAppData::OnWebstoreResponseParseFailure(
const std::string& error) {
LOG(ERROR) << "Webstore failed for kiosk app " << app_id() << ", " << error;
webstore_fetcher_.reset();
SetStatus(STATUS_ERROR);
SetStatus(Status::kError);
}
bool KioskAppData::CheckResponseKeyValue(const std::string& extension_id,
......@@ -570,7 +570,7 @@ void KioskAppData::OnCrxLoadFinished(const CrxLoader* crx_loader) {
if (delegate_)
delegate_->OnExternalCacheDamaged(app_id());
SetStatus(STATUS_INIT);
SetStatus(Status::kInit);
return;
}
......@@ -579,7 +579,7 @@ void KioskAppData::OnCrxLoadFinished(const CrxLoader* crx_loader) {
icon = *extensions::util::GetDefaultAppIcon().bitmap();
SetCache(crx_loader->name(), icon, crx_loader->required_platform_version());
SetStatus(STATUS_LOADED);
SetStatus(Status::kLoaded);
}
} // namespace chromeos
......@@ -42,11 +42,11 @@ class KioskAppDataDelegate;
class KioskAppData : public KioskAppDataBase,
public extensions::WebstoreDataFetcherDelegate {
public:
enum Status {
STATUS_INIT, // Data initialized with app id.
STATUS_LOADING, // Loading data from cache or web store.
STATUS_LOADED, // Data loaded.
STATUS_ERROR, // Failed to load data.
enum class Status {
kInit, // Data initialized with app id.
kLoading, // Loading data from cache or web store.
kLoaded, // Data loaded.
kError, // Failed to load data.
};
KioskAppData(KioskAppDataDelegate* delegate,
......
......@@ -499,7 +499,7 @@ void KioskAppManager::GetApps(Apps* apps) const {
apps->clear();
for (size_t i = 0; i < apps_.size(); ++i) {
const KioskAppData& app_data = *apps_[i];
if (app_data.status() != KioskAppData::STATUS_ERROR) {
if (app_data.status() != KioskAppData::Status::kError) {
apps->push_back(ConstructApp(app_data));
}
}
......@@ -544,7 +544,7 @@ void KioskAppManager::UpdateAppDataFromProfile(
void KioskAppManager::RetryFailedAppDataFetch() {
for (size_t i = 0; i < apps_.size(); ++i) {
if (apps_[i]->status() == KioskAppData::STATUS_ERROR)
if (apps_[i]->status() == KioskAppData::Status::kError)
apps_[i]->Load();
}
}
......
......@@ -613,7 +613,7 @@ IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, UpdateAppDataFromCrx) {
// Fake app data load failure so that the manager will attempt to
// load it from crx.
KioskAppData* app_data = GetAppDataMutable(kAppId);
app_data->SetStatusForTest(KioskAppData::STATUS_ERROR);
app_data->SetStatusForTest(KioskAppData::Status::kError);
// Copy test crx file to temp dir because the cache moves the file.
base::FilePath test_dir;
......@@ -636,15 +636,15 @@ IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, UpdateAppDataFromCrx) {
// Wait for 3 data loaded events at the most. One for crx putting into cache,
// one for update check and one for app data is updated from crx.
const size_t kMaxDataChange = 3;
for (size_t i = 0;
i < kMaxDataChange && app_data->status() != KioskAppData::STATUS_LOADED;
for (size_t i = 0; i < kMaxDataChange &&
app_data->status() != KioskAppData::Status::kLoaded;
++i) {
waiter.Reset();
waiter.Wait();
EXPECT_EQ(waiter.data_change_count(), 1);
EXPECT_EQ(waiter.data_load_failure_count(), 0);
}
ASSERT_EQ(KioskAppData::STATUS_LOADED, app_data->status());
ASSERT_EQ(KioskAppData::Status::kLoaded, app_data->status());
CheckAppData(kAppId, kAppName, "1234");
}
......@@ -666,7 +666,7 @@ IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, FailedToLoadFromCrx) {
// Fake app data load failure so that the manager will attempt to
// load it from crx.
KioskAppData* app_data = GetAppDataMutable(kAppId);
app_data->SetStatusForTest(KioskAppData::STATUS_ERROR);
app_data->SetStatusForTest(KioskAppData::Status::kError);
// Copy test crx file to temp dir because the cache moves the file.
base::FilePath test_dir;
......@@ -691,14 +691,14 @@ IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, FailedToLoadFromCrx) {
// data status into INIT stage.
const size_t kMaxDataChange = 3;
for (size_t i = 0;
i < kMaxDataChange && app_data->status() != KioskAppData::STATUS_INIT;
i < kMaxDataChange && app_data->status() != KioskAppData::Status::kInit;
++i) {
waiter.Reset();
waiter.Wait();
EXPECT_EQ(waiter.data_change_count(), 1);
EXPECT_EQ(waiter.data_load_failure_count(), 0);
}
ASSERT_EQ(KioskAppData::STATUS_INIT, app_data->status());
ASSERT_EQ(KioskAppData::Status::kInit, app_data->status());
CheckAppData(kAppId, kAppName, "");
}
......
......@@ -154,7 +154,7 @@ WebKioskAppData::WebKioskAppData(KioskAppDataDelegate* delegate,
app_id,
account_id),
delegate_(delegate),
status_(STATUS_INIT),
status_(Status::kInit),
install_url_(url),
icon_url_(icon_url) {
name_ = title.empty() ? install_url_.spec() : title;
......@@ -176,13 +176,13 @@ bool WebKioskAppData::LoadFromCache() {
return false;
if (LoadLaunchUrlFromDictionary(*dict)) {
SetStatus(STATUS_INSTALLED);
SetStatus(Status::kInstalled);
return true;
}
// Wait while icon is loaded.
if (status_ == STATUS_INIT)
SetStatus(STATUS_LOADING);
if (status_ == Status::kInit)
SetStatus(Status::kLoading);
return true;
}
......@@ -191,7 +191,7 @@ void WebKioskAppData::LoadIcon() {
return;
// Decode the icon if one is already cached.
if (status_ != STATUS_INIT) {
if (status_ != Status::kInit) {
DecodeIcon();
return;
}
......@@ -201,7 +201,7 @@ void WebKioskAppData::LoadIcon() {
DCHECK(!icon_fetcher_);
status_ = STATUS_LOADING;
status_ = Status::kLoading;
icon_fetcher_ = std::make_unique<WebKioskAppData::IconFetcher>(
weak_ptr_factory_.GetWeakPtr(), icon_url_);
......@@ -233,7 +233,7 @@ void WebKioskAppData::UpdateFromWebAppInfo(
->FindDictKey(app_id())
->SetStringKey(kKeyLaunchUrl, launch_url_.spec());
SetStatus(STATUS_INSTALLED);
SetStatus(Status::kInstalled);
}
void WebKioskAppData::SetStatus(Status status) {
......@@ -274,7 +274,7 @@ void WebKioskAppData::OnDidDownloadIcon(const SkBitmap& icon) {
std::unique_ptr<IconFetcher> fetcher = std::move(icon_fetcher_);
if (status_ == STATUS_INSTALLED)
if (status_ == Status::kInstalled)
return;
base::FilePath cache_dir;
......@@ -291,23 +291,23 @@ void WebKioskAppData::OnDidDownloadIcon(const SkBitmap& icon) {
->FindDictKey(app_id())
->SetStringKey(kKeyLastIconUrl, launch_url_.spec());
SetStatus(STATUS_LOADED);
SetStatus(Status::kLoaded);
}
void WebKioskAppData::OnIconLoadSuccess(const gfx::ImageSkia& icon) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
kiosk_app_icon_loader_.reset();
icon_ = icon;
if (status_ != STATUS_INSTALLED)
SetStatus(STATUS_LOADED);
if (status_ != Status::kInstalled)
SetStatus(Status::kLoaded);
else
SetStatus(STATUS_INSTALLED); // To notify menu controller.
SetStatus(Status::kInstalled); // To notify menu controller.
}
void WebKioskAppData::OnIconLoadFailure() {
kiosk_app_icon_loader_.reset();
LOG(ERROR) << "Icon Load Failure";
SetStatus(STATUS_LOADED);
SetStatus(Status::kLoaded);
// Do nothing
}
......
......@@ -22,13 +22,14 @@ class KioskAppDataDelegate;
class WebKioskAppData : public KioskAppDataBase {
public:
enum Status {
STATUS_INIT, // Data initialized with app id.
STATUS_LOADING, // Loading data from cache or web store.
STATUS_LOADED, // Data load finished.
STATUS_INSTALLED, // Icon and launch url are fetched and app can be run
// without them.
enum class Status {
kInit, // Data initialized with app id.
kLoading, // Loading data from cache or web store.
kLoaded, // Data load finished.
kInstalled, // Icon and launch url are fetched and app can be run
// without them.
};
WebKioskAppData(KioskAppDataDelegate* delegate,
const std::string& app_id,
const AccountId& account_id,
......
......@@ -101,7 +101,7 @@ IN_PROC_BROWSER_TEST_F(WebKioskAppDataTest, NoIconCached) {
app_data.LoadFromCache();
// The app will stay in the INIT state if there is nothing to be loaded from
// cache.
EXPECT_EQ(app_data.status(), WebKioskAppData::STATUS_INIT);
EXPECT_EQ(app_data.status(), WebKioskAppData::Status::kInit);
EXPECT_EQ(app_data.name(), kAppUrl);
EXPECT_TRUE(app_data.icon().isNull());
}
......@@ -114,7 +114,7 @@ IN_PROC_BROWSER_TEST_F(WebKioskAppDataTest, LoadCachedIcon) {
app_data.LoadIcon();
WaitForAppDataChange(2);
EXPECT_EQ(app_data.status(), WebKioskAppData::STATUS_LOADED);
EXPECT_EQ(app_data.status(), WebKioskAppData::Status::kLoaded);
EXPECT_EQ(app_data.name(), kAppTitle);
EXPECT_FALSE(app_data.icon().isNull());
}
......@@ -132,7 +132,7 @@ IN_PROC_BROWSER_TEST_F(WebKioskAppDataTest, PRE_DownloadedIconPersists) {
app_data.LoadIcon();
WaitForAppDataChange(1);
EXPECT_EQ(app_data.status(), WebKioskAppData::STATUS_LOADED);
EXPECT_EQ(app_data.status(), WebKioskAppData::Status::kLoaded);
EXPECT_EQ(app_data.name(), kAppTitle);
}
......@@ -154,12 +154,12 @@ IN_PROC_BROWSER_TEST_F(WebKioskAppDataTest, DownloadedIconPersists) {
kAppTitle2, /*icon_url=*/icon_url);
app_data.LoadFromCache();
// Icon is stored in cache.
EXPECT_EQ(app_data.status(), WebKioskAppData::STATUS_LOADING);
EXPECT_EQ(app_data.status(), WebKioskAppData::Status::kLoading);
app_data.LoadIcon();
WaitForAppDataChange(2);
EXPECT_EQ(app_data.status(), WebKioskAppData::STATUS_LOADED);
EXPECT_EQ(app_data.status(), WebKioskAppData::Status::kLoaded);
// The title should not persist.
EXPECT_EQ(app_data.name(), kAppTitle2);
}
......@@ -178,7 +178,7 @@ IN_PROC_BROWSER_TEST_F(WebKioskAppDataTest,
app_data.LoadIcon();
WaitForAppDataChange(1);
EXPECT_EQ(app_data.status(), WebKioskAppData::STATUS_LOADED);
EXPECT_EQ(app_data.status(), WebKioskAppData::Status::kLoaded);
EXPECT_EQ(app_data.name(), kAppTitle);
}
......@@ -194,12 +194,12 @@ IN_PROC_BROWSER_TEST_F(WebKioskAppDataTest, RedownloadIconWhenDifferentUrl) {
app_data.LoadFromCache();
// No icon was loaded from cache because urls are different.
EXPECT_EQ(app_data.status(), WebKioskAppData::STATUS_INIT);
EXPECT_EQ(app_data.status(), WebKioskAppData::Status::kInit);
app_data.LoadIcon();
WaitForAppDataChange(1);
EXPECT_EQ(app_data.status(), WebKioskAppData::STATUS_LOADED);
EXPECT_EQ(app_data.status(), WebKioskAppData::Status::kLoaded);
EXPECT_EQ(app_data.name(), kAppTitle2);
}
......@@ -211,7 +211,7 @@ IN_PROC_BROWSER_TEST_F(WebKioskAppDataTest, AlreadyInstalled) {
app_data.LoadIcon();
WaitForAppDataChange(2);
EXPECT_EQ(app_data.status(), WebKioskAppData::STATUS_INSTALLED);
EXPECT_EQ(app_data.status(), WebKioskAppData::Status::kInstalled);
EXPECT_EQ(app_data.name(), kAppTitle);
}
......
......@@ -42,7 +42,7 @@ void WebKioskAppLauncher::Initialize() {
const WebKioskAppData* app =
WebKioskAppManager::Get()->GetAppByAccountId(account_id_);
DCHECK(app);
if (app->status() == WebKioskAppData::STATUS_INSTALLED ||
if (app->status() == WebKioskAppData::Status::kInstalled ||
delegate_->ShouldSkipAppInstallation()) {
delegate_->OnAppPrepared();
return;
......@@ -98,7 +98,7 @@ void WebKioskAppLauncher::LaunchApp() {
DCHECK(!browser_);
const WebKioskAppData* app = GetCurrentApp();
GURL url = app->status() == WebKioskAppData::STATUS_INSTALLED
GURL url = app->status() == WebKioskAppData::Status::kInstalled
? app->launch_url()
: app->install_url();
......
......@@ -202,7 +202,7 @@ TEST_F(WebKioskAppLauncherTest, NormalFlowNotInstalled) {
launcher()->ContinueWithNetworkReady();
loop2.Run();
EXPECT_EQ(app_data()->status(), WebKioskAppData::STATUS_INSTALLED);
EXPECT_EQ(app_data()->status(), WebKioskAppData::Status::kInstalled);
EXPECT_EQ(app_data()->launch_url(), kAppLaunchUrl);
base::RunLoop loop3;
......@@ -254,7 +254,7 @@ TEST_F(WebKioskAppLauncherTest, NormalFlowBadLaunchUrl) {
launcher()->ContinueWithNetworkReady();
loop2.Run();
EXPECT_NE(app_data()->status(), WebKioskAppData::STATUS_INSTALLED);
EXPECT_NE(app_data()->status(), WebKioskAppData::Status::kInstalled);
}
TEST_F(WebKioskAppLauncherTest, InstallationRestarted) {
......@@ -279,7 +279,7 @@ TEST_F(WebKioskAppLauncherTest, InstallationRestarted) {
launcher()->RestartLauncher();
// App should not be installed yet.
EXPECT_NE(app_data()->status(), WebKioskAppData::STATUS_INSTALLED);
EXPECT_NE(app_data()->status(), WebKioskAppData::Status::kInstalled);
// We should not receive any status updates now.
url_loader_->ProcessLoadUrlRequests();
......@@ -295,7 +295,7 @@ TEST_F(WebKioskAppLauncherTest, InstallationRestarted) {
url_loader_->ProcessLoadUrlRequests();
loop2.Run();
EXPECT_EQ(app_data()->status(), WebKioskAppData::STATUS_INSTALLED);
EXPECT_EQ(app_data()->status(), WebKioskAppData::Status::kInstalled);
base::RunLoop loop3;
EXPECT_CALL(*delegate(), OnAppLaunched())
......@@ -327,7 +327,7 @@ TEST_F(WebKioskAppLauncherTest, UrlNotLoaded) {
launcher()->ContinueWithNetworkReady();
loop2.Run();
EXPECT_NE(app_data()->status(), WebKioskAppData::STATUS_INSTALLED);
EXPECT_NE(app_data()->status(), WebKioskAppData::Status::kInstalled);
}
TEST_F(WebKioskAppLauncherTest, SkipInstallation) {
......@@ -340,7 +340,7 @@ TEST_F(WebKioskAppLauncherTest, SkipInstallation) {
launcher()->Initialize();
loop1.Run();
EXPECT_EQ(app_data()->status(), WebKioskAppData::STATUS_INIT);
EXPECT_EQ(app_data()->status(), WebKioskAppData::Status::kInit);
EXPECT_EQ(app_data()->launch_url(), GURL());
base::RunLoop loop2;
......
......@@ -483,8 +483,8 @@ class KioskTest : public OobeBaseTest {
// This test does not operate any real App, so App data does not exist.
// Depending on timing, the asynchronous check for app data may or may not
// complete before test checks pass. And if the check does complete, it will
// mark app status KioskAppData::STATUS_ERROR, and exclude it from the list
// of populated apps.
// mark app status KioskAppData::Status::kError, and exclude it from the
// list of populated apps.
//
// Then, any Update UI event (asynchronous) (like
// LoginDisplayHostCommon::OnStartSignInScreenCommon() will invoke
......
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