blob: 4e6c57ee7c08911b17e1a0405688a53d97a3519f [file] [log] [blame]
// Copyright 2021 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_WEB_APP_INSTALL_MANAGER_OBSERVER_H_
#define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_INSTALL_MANAGER_OBSERVER_H_
#include "base/observer_list_types.h"
#include "chrome/browser/web_applications/web_app_constants.h"
#include "components/webapps/common/web_app_id.h"
namespace web_app {
class WebAppInstallManagerObserver : public base::CheckedObserver {
public:
// Called after a web app is installed.
virtual void OnWebAppInstalled(const webapps::AppId& app_id) {}
// Called when OS hooks installation is finished during web app installation.
virtual void OnWebAppInstalledWithOsHooks(const webapps::AppId& app_id) {}
// Called before a web app is uninstalled, before the uninstallation process
// begins. |app_id| is still registered in the WebAppRegistrar, and OS hooks
// have not yet been uninstalled.
virtual void OnWebAppWillBeUninstalled(const webapps::AppId& app_id) {}
// Called after a web app is uninstalled. |app_id| is no longer registered in
// the WebAppRegistrar, all OS hooks are uninstalled, and icons have been
// deleted.
virtual void OnWebAppUninstalled(
const webapps::AppId& app_id,
webapps::WebappUninstallSource uninstall_source) {}
// Called when any field of a web app's local manifest is updated.
virtual void OnWebAppManifestUpdated(const webapps::AppId& app_id) {}
// Called when the WebAppInstallManager is about to be destroyed.
virtual void OnWebAppInstallManagerDestroyed() {}
// Called after web app's install source is removed, currently only used by
// tests.
virtual void OnWebAppSourceRemoved(const webapps::AppId& app_id) {}
};
} // namespace web_app
#endif // CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_INSTALL_MANAGER_OBSERVER_H_