blob: 95347aaf8ea1751e57696c2a2b2fd7e55d216f2f [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/web_applications/externally_managed_app_install_task.h"
#include <utility>
#include "chrome/browser/web_applications/commands/external_app_resolution_command.h"
#include "chrome/browser/web_applications/web_app_command_manager.h"
#include "chrome/browser/web_applications/web_app_command_scheduler.h"
#include "chrome/browser/web_applications/web_app_install_finalizer.h"
#include "chrome/browser/web_applications/web_app_provider.h"
namespace web_app {
ExternallyManagedAppInstallTask::ExternallyManagedAppInstallTask(
WebAppProvider& provider,
ExternalInstallOptions install_options)
: provider_(provider), install_options_(std::move(install_options)) {}
ExternallyManagedAppInstallTask::~ExternallyManagedAppInstallTask() = default;
void ExternallyManagedAppInstallTask::Install(
std::optional<webapps::AppId> installed_placeholder_app_id,
ResultCallback result_callback) {
provider_->scheduler().InstallExternallyManagedApp(
std::move(install_options_), std::move(installed_placeholder_app_id),
std::move(result_callback));
}
} // namespace web_app