chromium/chrome/browser/web_applications/isolated_web_apps/error/unusable_swbn_file_error.h

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_WEB_APPLICATIONS_ISOLATED_WEB_APPS_ERROR_UNUSABLE_SWBN_FILE_ERROR_H_
#define CHROME_BROWSER_WEB_APPLICATIONS_ISOLATED_WEB_APPS_ERROR_UNUSABLE_SWBN_FILE_ERROR_H_

#include <string>

#include "components/web_package/mojom/web_bundle_parser.mojom.h"
#include "components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.h"

namespace web_app {

// The status provides information about if the Signed Web Bundle (.swbn) file
// can be used at all. If this error occurs then we should not read any
// response that this .swbn file contains. This error means that the file
// has critical errors (bad signature, wrong format, etc). If such an error
// occurs we can't do much with it and most probably we should delete
// the file.
class UnusableSwbnFileError {};

bool operator==(const UnusableSwbnFileError& lhs,
                const UnusableSwbnFileError& rhs);
UnusableSwbnFileError::Error ToErrorEnum(const UnusableSwbnFileError& err);
}  // namespace web_app

#endif  // CHROME_BROWSER_WEB_APPLICATIONS_ISOLATED_WEB_APPS_ERROR_UNUSABLE_SWBN_FILE_ERROR_H_