12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- // Copyright 2022 The Chromium Authors. All rights reserved.
- // 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";
- }
- }
- } // namespace webapps
|