chromium/chrome/browser/ash/shimless_rma/diagnostics_app_profile_helper.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_ASH_SHIMLESS_RMA_DIAGNOSTICS_APP_PROFILE_HELPER_H_
#define CHROME_BROWSER_ASH_SHIMLESS_RMA_DIAGNOSTICS_APP_PROFILE_HELPER_H_

#include "ash/webui/shimless_rma/backend/shimless_rma_delegate.h"
#include "base/files/file_path.h"
#include "components/webapps/common/web_app_id.h"
#include "extensions/common/extension_id.h"
#include "url/origin.h"

namespace content {
class BrowserContext;
class ServiceWorkerContext;
}  // namespace content

namespace web_app {
class WebApp;
class WebAppCommandScheduler;
}  // namespace web_app

namespace ash::shimless_rma {

// Delegate to replace operations which are hard to mocked in unit tests.
class DiagnosticsAppProfileHelperDelegate {};

// Implements ShimlessRmaDelegate::PrepareDiagnosticsAppBrowserContext.
void PrepareDiagnosticsAppProfile(
    DiagnosticsAppProfileHelperDelegate* delegate,
    const base::FilePath& crx_path,
    const base::FilePath& swbn_path,
    ShimlessRmaDelegate::PrepareDiagnosticsAppBrowserContextCallback callback);

}  // namespace ash::shimless_rma

#endif  // CHROME_BROWSER_ASH_SHIMLESS_RMA_DIAGNOSTICS_APP_PROFILE_HELPER_H_