1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/webapps/browser/install_result_code.h"
#include <ostream>
namespace webapps {
bool IsSuccess(InstallResultCode code) {
// TODO(crbug.com/1296447): enumerate all the constants instead of the default
// clause to prevent accidentally implicitly returning false on any newly
// added value.
switch (code) {
case InstallResultCode::kSuccessNewInstall:
case InstallResultCode::kSuccessAlreadyInstalled:
case InstallResultCode::kSuccessOfflineOnlyInstall:
case InstallResultCode::kSuccessOfflineFallbackInstall:
return true;
default:
return false;
}
}
bool IsNewInstall(InstallResultCode code) {
return IsSuccess(code) && code != InstallResultCode::kSuccessAlreadyInstalled;
}
std::ostream& operator<<(std::ostream& os, InstallResultCode code) {
switch (code) {
case InstallResultCode::kSuccessNewInstall:
return os << "kSuccessNewInstall";
case InstallResultCode::kSuccessAlreadyInstalled:
return os << "kSuccessAlreadyInstalled";
case InstallResultCode::kGetWebAppInstallInfoFailed:
return os << "kGetWebAppInstallInfoFailed";
case InstallResultCode::kPreviouslyUninstalled:
return os << "kPreviouslyUninstalled";
case InstallResultCode::kWebContentsDestroyed:
return os << "kWebContentsDestroyed";
case InstallResultCode::kInstallTaskDestroyed:
return os << "kInstallTaskDestroyed";
case InstallResultCode::kWriteDataFailed:
return os << "kWriteDataFailed";
case InstallResultCode::kUserInstallDeclined:
return os << "kUserInstallDeclined";
case InstallResultCode::kNotValidManifestForWebApp:
return os << "kNotValidManifestForWebApp";
case InstallResultCode::kIntentToPlayStore:
return os << "kIntentToPlayStore";
case InstallResultCode::kWebAppDisabled:
return os << "kWebAppDisabled";
case InstallResultCode::kInstallURLRedirected:
return os << "kInstallURLRedirected";
case InstallResultCode::kInstallURLLoadFailed:
return os << "kInstallURLLoadFailed";
case InstallResultCode::kExpectedAppIdCheckFailed:
return os << "kExpectedAppIdCheckFailed";
case InstallResultCode::kInstallURLLoadTimeOut:
return os << "kInstallURLLoadTimeOut";
case InstallResultCode::kFailedPlaceholderUninstall:
return os << "kFailedPlaceholderUninstall";
case InstallResultCode::kNotInstallable:
return os << "kNotInstallable";
case InstallResultCode::kApkWebAppInstallFailed:
return os << "kApkWebAppInstallFailed";
case InstallResultCode::kCancelledOnWebAppProviderShuttingDown:
return os << "kCancelledOnWebAppProviderShuttingDown";
case InstallResultCode::kWebAppProviderNotReady:
return os << "kWebAppProviderNotReady";
case InstallResultCode::kSuccessOfflineOnlyInstall:
return os << "kSuccessOfflineOnlyInstall";
case InstallResultCode::kSuccessOfflineFallbackInstall:
return os << "kSuccessOfflineFallbackInstall";
case InstallResultCode::kUpdateTaskFailed:
return os << "kUpdateTaskFailed";
case InstallResultCode::kAppNotInRegistrarAfterCommit:
return os << "kAppNotInRegistrarAfterCommit";
case InstallResultCode::kHaltedBySyncUninstall:
return os << "kHaltedBySyncUninstall";
case InstallResultCode::kInstallURLInvalid:
return os << "kInstallURLInvalid";
case InstallResultCode::kIconDownloadingFailed:
return os << "kIconDownloadingFailed";
case InstallResultCode::kCancelledDueToMainFrameNavigation:
return os << "kCancelledDueToMainFrameNavigation";
case InstallResultCode::kNoValidIconsInManifest:
return os << "kNoValidIconsInManifest";
}
}
} // namespace webapps
|