#include "chrome/browser/web_applications/commands/navigate_and_trigger_install_dialog_command.h"
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "base/values.h"
#include "chrome/browser/profiles/profile.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_app_ui_manager.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 "content/public/browser/web_contents.h"
#include "ui/base/page_transition_types.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace web_app {
NavigateAndTriggerInstallDialogCommand::NavigateAndTriggerInstallDialogCommand(
const GURL& install_url,
const GURL& origin_url,
bool is_renderer_initiated,
NavigateAndTriggerInstallDialogCommandCallback callback,
base::WeakPtr<WebAppUiManager> ui_manager,
std::unique_ptr<webapps::WebAppUrlLoader> url_loader,
std::unique_ptr<WebAppDataRetriever> data_retriever,
Profile* profile)
: … { … }
NavigateAndTriggerInstallDialogCommand::
~NavigateAndTriggerInstallDialogCommand() = default;
bool NavigateAndTriggerInstallDialogCommand::IsWebContentsDestroyed() { … }
void NavigateAndTriggerInstallDialogCommand::StartWithLock(
std::unique_ptr<NoopLock> lock) { … }
void NavigateAndTriggerInstallDialogCommand::OnUrlLoaded(
webapps::WebAppUrlLoaderResult result) { … }
void NavigateAndTriggerInstallDialogCommand::OnInstallabilityChecked(
blink::mojom::ManifestPtr opt_manifest,
bool valid_manifest_for_web_app,
webapps::InstallableStatusCode error_code) { … }
void NavigateAndTriggerInstallDialogCommand::OnAppLockGranted(
std::unique_ptr<AppLock> app_lock) { … }
}