blob: eef946cd042059c3b218711065d5910ce6513804 [file] [log] [blame]
// 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 COMPONENTS_COMMERCE_CONTENT_BROWSER_COMMERCE_INTERNALS_UI_H_
#define COMPONENTS_COMMERCE_CONTENT_BROWSER_COMMERCE_INTERNALS_UI_H_
#include "base/functional/callback.h"
#include "components/commerce/core/internals/commerce_internals_handler.h"
#include "components/commerce/core/internals/commerce_internals_ui_base.h"
#include "components/commerce/core/internals/mojom/commerce_internals.mojom.h"
#include "ui/base/webui/resource_path.h"
#include "ui/webui/mojo_web_ui_controller.h"
namespace content {
class WebUI;
} // namespace content
namespace commerce {
class ShoppingService;
// The class supporting init of the "content" version of the internals page.
class CommerceInternalsUI : public CommerceInternalsUIBase,
public ui::MojoWebUIController {
public:
using SetupWebUIDataSourceCallback =
base::OnceCallback<void(base::span<const webui::ResourcePath> resources,
int default_resource)>;
CommerceInternalsUI(content::WebUI* web_ui,
ShoppingService* shopping_service);
CommerceInternalsUI(const CommerceInternalsUI&) = delete;
CommerceInternalsUI operator&(const CommerceInternalsUI&) = delete;
~CommerceInternalsUI() override;
private:
WEB_UI_CONTROLLER_TYPE_DECL();
};
} // namespace commerce
#endif // COMPONENTS_COMMERCE_CONTENT_BROWSER_COMMERCE_INTERNALS_UI_H_