chromium/chrome/browser/ui/views/site_data/page_specific_site_data_dialog.h

// Copyright 2022 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_UI_VIEWS_SITE_DATA_PAGE_SPECIFIC_SITE_DATA_DIALOG_H_
#define CHROME_BROWSER_UI_VIEWS_SITE_DATA_PAGE_SPECIFIC_SITE_DATA_DIALOG_H_

#include "components/browsing_data/content/browsing_data_model.h"
#include "components/content_settings/core/common/content_settings.h"
#include "ui/base/interaction/element_identifier.h"
#include "url/origin.h"

namespace views {
class Widget;
}  // namespace views

namespace content {
class WebContents;
}  // namespace content

namespace {
class PageSpecificSiteDataDialogModelDelegate;
}  // namespace

// |PageSpecificSiteDataDialogSite| represents a site entry in page specific
// site data dialog. It contains information about origin, the effective content
// setting and the partitioned state.
struct PageSpecificSiteDataDialogSite {};

namespace test {

// API to expose dialog delegate for unit tests. It provides access to internal
// methods for testing. API creates and holds a reference to a dialog delegate.
class PageSpecificSiteDataDialogTestApi {};

}  // namespace test

DECLARE_ELEMENT_IDENTIFIER_VALUE();
DECLARE_ELEMENT_IDENTIFIER_VALUE();
DECLARE_ELEMENT_IDENTIFIER_VALUE();
DECLARE_ELEMENT_IDENTIFIER_VALUE();

views::Widget* ShowPageSpecificSiteDataDialog(
    content::WebContents* web_contents);

#endif  // CHROME_BROWSER_UI_VIEWS_SITE_DATA_PAGE_SPECIFIC_SITE_DATA_DIALOG_H_