Enum CrossOriginOpenerPolicyValue
pub enum CrossOriginOpenerPolicyValue {
UnsafeNone,
SameOriginAllowPopups,
SameOrigin,
NoopenerAllowPopups,
Unknown(String),
}http only.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(String)
Implementations§
§impl CrossOriginOpenerPolicyValue
impl CrossOriginOpenerPolicyValue
pub fn as_str(&self) -> &str
pub fn as_smol_str(&self) -> SmolStr
§impl CrossOriginOpenerPolicyValue
impl CrossOriginOpenerPolicyValue
pub 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§
§impl Clone for CrossOriginOpenerPolicyValue
impl Clone for CrossOriginOpenerPolicyValue
§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 more§impl Debug for CrossOriginOpenerPolicyValue
impl Debug for CrossOriginOpenerPolicyValue
§impl<'de> Deserialize<'de> for CrossOriginOpenerPolicyValue
impl<'de> Deserialize<'de> for CrossOriginOpenerPolicyValue
§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 Display for CrossOriginOpenerPolicyValue
impl Display for CrossOriginOpenerPolicyValue
impl Eq for CrossOriginOpenerPolicyValue
§impl<'a> From<&'a str> for CrossOriginOpenerPolicyValue
impl<'a> From<&'a str> for CrossOriginOpenerPolicyValue
§fn from(s: &'a str) -> CrossOriginOpenerPolicyValue
fn from(s: &'a str) -> CrossOriginOpenerPolicyValue
§impl From<String> for CrossOriginOpenerPolicyValue
impl From<String> for CrossOriginOpenerPolicyValue
§fn from(s: String) -> CrossOriginOpenerPolicyValue
fn from(s: String) -> CrossOriginOpenerPolicyValue
§impl FromStr for CrossOriginOpenerPolicyValue
impl FromStr for CrossOriginOpenerPolicyValue
§type Err = Infallible
type Err = Infallible
§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 more§impl Hash for CrossOriginOpenerPolicyValue
impl Hash for CrossOriginOpenerPolicyValue
§impl PartialEq for CrossOriginOpenerPolicyValue
impl PartialEq for CrossOriginOpenerPolicyValue
§fn eq(&self, other: &CrossOriginOpenerPolicyValue) -> bool
fn eq(&self, other: &CrossOriginOpenerPolicyValue) -> bool
self and other values to be equal, and is used by ==.§impl Serialize for CrossOriginOpenerPolicyValue
impl Serialize for CrossOriginOpenerPolicyValue
§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§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§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,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.
§impl<V, F> ValueFormatter<&V> for F
impl<V, F> ValueFormatter<&V> for F
§fn format_value(writer: impl ValueWriter, value: &&V)
fn format_value(writer: impl ValueWriter, value: &&V)
value to writer§impl<V, F> ValueFormatter<Arc<V>> for F
impl<V, F> ValueFormatter<Arc<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Arc<V>)
fn format_value(writer: impl ValueWriter, value: &Arc<V>)
value to writer§impl<V, F> ValueFormatter<Box<V>> for F
impl<V, F> ValueFormatter<Box<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Box<V>)
fn format_value(writer: impl ValueWriter, value: &Box<V>)
value to writer§impl<V, F> ValueFormatter<Cow<'_, V>> for F
impl<V, F> ValueFormatter<Cow<'_, V>> for F
§fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
value to writer§impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
§fn format_value(writer: impl ValueWriter, value: &Option<V>)
fn format_value(writer: impl ValueWriter, value: &Option<V>)
value to writer