#ifndef COMPONENTS_CONTENT_SETTINGS_CORE_BROWSER_CONTENT_SETTINGS_UTILS_H_
#define COMPONENTS_CONTENT_SETTINGS_CORE_BROWSER_CONTENT_SETTINGS_UTILS_H_
#include <string>
#include <utility>
#include "base/compiler_specific.h"
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_constraints.h"
#include "components/content_settings/core/common/content_settings_pattern.h"
#include "components/content_settings/core/common/content_settings_types.h"
class HostContentSettingsMap;
namespace content_settings {
PatternPair;
template <typename IteratorType, typename ReferenceType>
class MapValueIterator { … };
const char kChromeDevToolsScheme[] = …;
const char kChromeUIScheme[] = …;
const char kExtensionScheme[] = …;
const char kChromeUIUntrustedScheme[] = …;
std::string ContentSettingToString(ContentSetting setting);
bool ContentSettingFromString(const std::string& name, ContentSetting* setting);
PatternPair ParsePatternString(const std::string& pattern_str);
std::string CreatePatternString(
const ContentSettingsPattern& item_pattern,
const ContentSettingsPattern& top_level_frame_pattern);
void GetRendererContentSettingRules(const HostContentSettingsMap* map,
RendererContentSettingRules* rules);
bool IsMorePermissive(ContentSetting a, ContentSetting b);
bool IsConstraintPersistent(const ContentSettingConstraints& constraints);
bool CanTrackLastVisit(ContentSettingsType type);
base::Time GetCoarseVisitedTime(base::Time time);
base::TimeDelta GetCoarseVisitedTimePrecision();
bool CanBeAutoRevoked(ContentSettingsType type,
ContentSetting setting,
bool is_one_time = false);
bool CanBeAutoRevoked(ContentSettingsType type,
const base::Value& value,
bool is_one_time = false);
bool IsChooserPermissionEligibleForAutoRevocation(ContentSettingsType type);
bool IsGrantedByRelatedWebsiteSets(ContentSettingsType type,
const RuleMetaData& metadata);
const std::vector<ContentSettingsType>& GetTypesWithTemporaryGrants();
const std::vector<ContentSettingsType>& GetTypesWithTemporaryGrantsInHcsm();
}
#endif