diff --git a/Userland/Libraries/LibWeb/HTML/CrossOrigin/CrossOriginOpenerPolicy.h b/Userland/Libraries/LibWeb/HTML/CrossOrigin/CrossOriginOpenerPolicy.h new file mode 100644 index 0000000000..d17f40f2a7 --- /dev/null +++ b/Userland/Libraries/LibWeb/HTML/CrossOrigin/CrossOriginOpenerPolicy.h @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2022, Andreas Kling + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +namespace Web::HTML { + +// https://html.spec.whatwg.org/multipage/origin.html#cross-origin-opener-policy-value +enum class CrossOriginOpenerPolicyValue { + UnsafeNone, + SameOriginAllowPopups, + SameOrigin, + SameOriginPlusCOEP, +}; + +// https://html.spec.whatwg.org/multipage/origin.html#cross-origin-opener-policy +struct CrossOriginOpenerPolicy { + // A value, which is a cross-origin opener policy value, initially "unsafe-none". + CrossOriginOpenerPolicyValue value { CrossOriginOpenerPolicyValue::UnsafeNone }; + + // A reporting endpoint, which is string or null, initially null. + Optional reporting_endpoint; + + // A report-only value, which is a cross-origin opener policy value, initially "unsafe-none". + CrossOriginOpenerPolicyValue report_only_value { CrossOriginOpenerPolicyValue::UnsafeNone }; + + // A report-only reporting endpoint, which is a string or null, initially null. + Optional report_only_reporting_endpoint; +}; + +}