#ifndef SERVICES_NETWORK_PUBLIC_CPP_CONTENT_SECURITY_POLICY_CSP_SOURCE_H_
#define SERVICES_NETWORK_PUBLIC_CPP_CONTENT_SECURITY_POLICY_CSP_SOURCE_H_
#include <string>
#include "base/component_export.h"
#include "services/network/public/mojom/content_security_policy.mojom-forward.h"
class GURL;
namespace network {
enum class CSPSourceContext { … };
bool CSPSourceIsSchemeOnly(const mojom::CSPSource& source);
COMPONENT_EXPORT(NETWORK_CPP)
bool CheckCSPSource(const mojom::CSPSource& source,
const GURL& url,
const mojom::CSPSource& self_source,
CSPSourceContext context,
bool has_followed_redirect = false,
bool is_opaque_fenced_frame = false);
COMPONENT_EXPORT(NETWORK_CPP)
mojom::CSPSourcePtr CSPSourcesIntersect(const mojom::CSPSource& source_a,
const mojom::CSPSource& source_b);
COMPONENT_EXPORT(NETWORK_CPP)
bool CSPSourceSubsumes(const mojom::CSPSource& source_a,
const mojom::CSPSource& source_b);
COMPONENT_EXPORT(NETWORK_CPP)
std::string ToString(const mojom::CSPSource& source);
}
#endif