pub enum CrossOriginOpenerPolicyValue {
UnsafeNone,
SameOriginAllowPopups,
SameOrigin,
NoopenerAllowPopups,
Unknown(Box<str>),
}Expand description
Opener-policy token values per the HTML Standard.
Per HTML § the-coop-headers,
these are the four token values a Cross-Origin-Opener-Policy
header may carry. The spec explicitly excludes
same-origin-plus-COEP from the valid wire values — that token
is the computed opener policy assigned when a same-origin
COOP is combined with a cross-origin-isolating COEP, and the
COOP header parser rejects it. It’s intentionally not modelled
here.
The auto-generated Unknown variant is
reachable only via direct construction; the COOP decoder uses
strict parsing and rejects any token outside the spec set.
Variants§
UnsafeNone
unsafe-none — the spec default when the header is absent.
SameOriginAllowPopups
same-origin-allow-popups — same-origin opener
relationships are preserved, popups remain attached.
SameOrigin
same-origin — strict isolation; cross-origin openers are
severed from this window.
NoopenerAllowPopups
noopener-allow-popups — added 2024, severs the opener
while still letting popups open.
Unknown(Box<str>)
Implementations§
Source§impl CrossOriginOpenerPolicyValue
impl CrossOriginOpenerPolicyValue
pub fn as_str(&self) -> &str
pub fn as_static_str(&self) -> Cow<'static, str>
pub fn as_smol_str(&self) -> SmolStr
Source§impl CrossOriginOpenerPolicyValue
impl CrossOriginOpenerPolicyValue
Sourcepub fn strict_parse(s: &str) -> Option<CrossOriginOpenerPolicyValue>
pub fn strict_parse(s: &str) -> Option<CrossOriginOpenerPolicyValue>
Same as FromStr or From<&str> but returning
None for unknown values
Trait Implementations§
Source§impl Clone for CrossOriginOpenerPolicyValue
impl Clone for CrossOriginOpenerPolicyValue
Source§fn clone(&self) -> CrossOriginOpenerPolicyValue
fn clone(&self) -> CrossOriginOpenerPolicyValue
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CrossOriginOpenerPolicyValue
impl Debug for CrossOriginOpenerPolicyValue
Source§impl<'de> Deserialize<'de> for CrossOriginOpenerPolicyValue
impl<'de> Deserialize<'de> for CrossOriginOpenerPolicyValue
Source§fn deserialize<D>(
deserializer: D,
) -> Result<CrossOriginOpenerPolicyValue, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<CrossOriginOpenerPolicyValue, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
impl Eq for CrossOriginOpenerPolicyValue
Source§impl<'a> From<&'a str> for CrossOriginOpenerPolicyValue
impl<'a> From<&'a str> for CrossOriginOpenerPolicyValue
Source§fn from(s: &'a str) -> CrossOriginOpenerPolicyValue
fn from(s: &'a str) -> CrossOriginOpenerPolicyValue
Source§impl From<String> for CrossOriginOpenerPolicyValue
impl From<String> for CrossOriginOpenerPolicyValue
Source§fn from(s: String) -> CrossOriginOpenerPolicyValue
fn from(s: String) -> CrossOriginOpenerPolicyValue
Source§impl FromStr for CrossOriginOpenerPolicyValue
impl FromStr for CrossOriginOpenerPolicyValue
Source§type Err = Infallible
type Err = Infallible
Source§fn from_str(
s: &str,
) -> Result<CrossOriginOpenerPolicyValue, <CrossOriginOpenerPolicyValue as FromStr>::Err>
fn from_str( s: &str, ) -> Result<CrossOriginOpenerPolicyValue, <CrossOriginOpenerPolicyValue as FromStr>::Err>
s to return a value of this type. Read moreSource§impl Hash for CrossOriginOpenerPolicyValue
impl Hash for CrossOriginOpenerPolicyValue
Source§impl PartialEq for CrossOriginOpenerPolicyValue
impl PartialEq for CrossOriginOpenerPolicyValue
Source§fn eq(&self, other: &CrossOriginOpenerPolicyValue) -> bool
fn eq(&self, other: &CrossOriginOpenerPolicyValue) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for CrossOriginOpenerPolicyValue
impl Serialize for CrossOriginOpenerPolicyValue
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl StructuralPartialEq for CrossOriginOpenerPolicyValue
Auto Trait Implementations§
impl Freeze for CrossOriginOpenerPolicyValue
impl RefUnwindSafe for CrossOriginOpenerPolicyValue
impl Send for CrossOriginOpenerPolicyValue
impl Sync for CrossOriginOpenerPolicyValue
impl Unpin for CrossOriginOpenerPolicyValue
impl UnsafeUnpin for CrossOriginOpenerPolicyValue
impl UnwindSafe for CrossOriginOpenerPolicyValue
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
Source§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.