#include "chrome/browser/web_applications/commands/fetch_installability_for_chrome_management.h"
#include <memory>
#include <optional>
#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/values.h"
#include "chrome/browser/web_applications/commands/web_app_command.h"
#include "chrome/browser/web_applications/locks/app_lock.h"
#include "chrome/browser/web_applications/locks/noop_lock.h"
#include "chrome/browser/web_applications/locks/web_app_lock_manager.h"
#include "chrome/browser/web_applications/web_app_command_manager.h"
#include "chrome/browser/web_applications/web_app_helpers.h"
#include "chrome/browser/web_applications/web_app_registrar.h"
#include "chrome/browser/web_applications/web_contents/web_app_data_retriever.h"
#include "components/webapps/browser/installable/installable_logging.h"
#include "components/webapps/browser/web_contents/web_app_url_loader.h"
#include "components/webapps/common/web_app_id.h"
#include "content/public/browser/web_contents.h"
#include "url/gurl.h"
namespace web_app {
FetchInstallabilityForChromeManagement::FetchInstallabilityForChromeManagement(
const GURL& url,
base::WeakPtr<content::WebContents> web_contents,
std::unique_ptr<webapps::WebAppUrlLoader> url_loader,
std::unique_ptr<WebAppDataRetriever> data_retriever,
FetchInstallabilityForChromeManagementCallback callback)
: … { … }
FetchInstallabilityForChromeManagement::
~FetchInstallabilityForChromeManagement() = default;
void FetchInstallabilityForChromeManagement::StartWithLock(
std::unique_ptr<NoopLock> lock) { … }
void FetchInstallabilityForChromeManagement::OnUrlLoadedCheckInstallability(
webapps::WebAppUrlLoaderResult result) { … }
void FetchInstallabilityForChromeManagement::OnWebAppInstallabilityChecked(
blink::mojom::ManifestPtr opt_manifest,
bool valid_manifest_for_web_app,
webapps::InstallableStatusCode error_code) { … }
void FetchInstallabilityForChromeManagement::OnAppLockGranted(
std::unique_ptr<AppLock> app_lock) { … }
bool FetchInstallabilityForChromeManagement::IsWebContentsDestroyed() { … }
}