pub enum ExternalPayload {
Url(String),
Html(String),
Text(String),
}Expand description
Content the browser handed us from an external drag, best-effort decoded in order of specificity.
Untrusted input. These payloads come from outside your app and are fully attacker-controlled. Treat them like any other external data:
ExternalPayload::Htmlis arbitrary markup - sanitize it before rendering viadangerous_inner_html(raw insertion is stored/reflected XSS).ExternalPayload::Urlmay carry ajavascript:ordata:scheme - scheme-check before navigating to it or building an anchor from it.
Variants§
Url(String)
text/uri-list - links dragged from the URL bar, bookmarks, other tabs.
May use any scheme; validate before use.
Html(String)
text/html - rich content (e.g. a selection dragged from a page).
Arbitrary untrusted markup; sanitize before rendering.
Text(String)
text/plain.
Trait Implementations§
Source§impl Clone for ExternalPayload
impl Clone for ExternalPayload
Source§fn clone(&self) -> ExternalPayload
fn clone(&self) -> ExternalPayload
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExternalPayload
impl Debug for ExternalPayload
Source§impl PartialEq for ExternalPayload
impl PartialEq for ExternalPayload
impl StructuralPartialEq for ExternalPayload
Auto Trait Implementations§
impl Freeze for ExternalPayload
impl RefUnwindSafe for ExternalPayload
impl Send for ExternalPayload
impl Sync for ExternalPayload
impl Unpin for ExternalPayload
impl UnsafeUnpin for ExternalPayload
impl UnwindSafe for ExternalPayload
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
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> DependencyElement for T
Source§impl<T> InitializeFromFunction<T> for T
impl<T> InitializeFromFunction<T> for T
Source§fn initialize_from_function(f: fn() -> T) -> T
fn initialize_from_function(f: fn() -> T) -> T
Create an instance of this type from an initialization function
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>
Converts
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>
Converts
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> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<Ret> SpawnIfAsync<(), Ret> for Ret
impl<Ret> SpawnIfAsync<(), Ret> for Ret
Source§impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
Source§fn super_from(input: T) -> O
fn super_from(input: T) -> O
Convert from a type to another type.
Source§impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
Source§fn super_into(self) -> O
fn super_into(self) -> O
Convert from a type to another type.