blob: 5339ae2455537e70af35067f422f8bd2a597e4cb [file] [log] [blame]
// Copyright 2020 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_PAGE_INFO_PAGE_INFO_UI_DELEGATE_H_
#define COMPONENTS_PAGE_INFO_PAGE_INFO_UI_DELEGATE_H_
#include <optional>
#include "build/build_config.h"
#include "components/content_settings/core/common/content_settings_types.h"
#include "components/page_info/core/page_info_types.h"
#include "content/public/browser/permission_result.h"
namespace blink {
enum class PermissionType;
}
class PageInfoUiDelegate {
public:
virtual ~PageInfoUiDelegate() = default;
#if !BUILDFLAG(IS_ANDROID)
virtual bool IsBlockAutoPlayEnabled() = 0;
virtual bool IsMultipleTabsOpen() = 0;
virtual void OpenSiteSettingsFileSystem() = 0;
#endif
virtual content::PermissionResult GetPermissionResult(
blink::PermissionType permission) = 0;
virtual std::optional<content::PermissionResult> GetEmbargoResult(
ContentSettingsType type) = 0;
virtual void GetMerchantTrustInfo(
page_info::MerchantDataCallback callback) = 0;
};
#endif // COMPONENTS_PAGE_INFO_PAGE_INFO_UI_DELEGATE_H_