#include <utility>
#include "base/check.h"
#include "base/sequence_checker.h"
#include "base/time/time.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/storage_access_api/storage_access_api_service_impl.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/content_settings/core/common/content_settings.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/storage_partition.h"
#include "third_party/blink/public/common/features.h"
#include "url/gurl.h"
#include "url/origin.h"
#include "url/url_constants.h"
namespace {
constexpr base::TimeDelta kTimerPeriod = …;
}
StorageAccessAPIServiceImpl::StorageAccessAPIServiceImpl(
content::BrowserContext* browser_context)
: … { … }
StorageAccessAPIServiceImpl::~StorageAccessAPIServiceImpl() = default;
std::optional<base::TimeDelta>
StorageAccessAPIServiceImpl::RenewPermissionGrant(
const url::Origin& embedded_origin,
const url::Origin& top_frame_origin) { … }
void StorageAccessAPIServiceImpl::Shutdown() { … }
void StorageAccessAPIServiceImpl::OnPeriodicTimerFired() { … }
bool StorageAccessAPIServiceImpl::IsTimerRunningForTesting() const { … }