#[repr(C)]
pub struct DissimilarOriginWindow { globalscope: GlobalScope, window_proxy: Dom<WindowProxy>, location: MutNullableDom<DissimilarOriginLocation>, }
Expand description

Represents a dissimilar-origin Window that exists in another script thread.

Since the Window is in a different script thread, we cannot access it directly, but some of its accessors (for example window.parent) still need to function.

In windowproxy.rs, we create a custom window proxy for these windows, that throws security exceptions for most accessors. This is not a replacement for XOWs, but provides belt-and-braces security.

Fields§

§globalscope: GlobalScope

The global for this window.

§window_proxy: Dom<WindowProxy>

The window proxy for this window.

§location: MutNullableDom<DissimilarOriginLocation>

The location of this window, initialized lazily.

Implementations§

source§

impl DissimilarOriginWindow

source§

impl DissimilarOriginWindow

source

pub fn new(
    global_to_clone_from: &GlobalScope,
    window_proxy: &WindowProxy
) -> Root<Dom<Self>>

source

pub fn window_proxy(&self) -> Root<Dom<WindowProxy>>

source§

impl DissimilarOriginWindow

source

fn post_message_impl(
    &self,
    target_origin: &USVString,
    cx: JSContext,
    message: HandleValue<'_>,
    transfer: CustomAutoRooterGuard<'_, Vec<*mut JSObject>>
) -> Result<(), Error>

https://html.spec.whatwg.org/multipage/#window-post-message-steps

source

pub fn post_message(
    &self,
    target_origin: &USVString,
    data: StructuredSerializedData
) -> Result<(), Error>

https://html.spec.whatwg.org/multipage/#window-post-message-steps

Trait Implementations§

source§

impl Castable for DissimilarOriginWindow

source§

fn is<T>(&self) -> boolwhere
    T: DerivedFrom<Self>,

Check whether a DOM object implements one of its deriving interfaces.
source§

fn upcast<T>(&self) -> &Twhere
    T: Castable,
    Self: DerivedFrom<T>,

Cast a DOM object upwards to one of the interfaces it derives from.
source§

fn downcast<T>(&self) -> Option<&T>where
    T: DerivedFrom<Self>,

Cast a DOM object downwards to one of the interfaces it might implement.
source§

impl DissimilarOriginWindowMethods for DissimilarOriginWindow

source§

fn PostMessage(
    &self,
    cx: JSContext,
    message: HandleValue<'_>,
    target_origin: USVString,
    transfer: CustomAutoRooterGuard<'_, Vec<*mut JSObject>>
) -> Result<(), Error>

https://html.spec.whatwg.org/multipage/#dom-window-postmessage

source§

fn PostMessage_(
    &self,
    cx: JSContext,
    message: HandleValue<'_>,
    options: RootedTraceableBox<WindowPostMessageOptions>
) -> Result<(), Error>

https://html.spec.whatwg.org/multipage/#dom-window-postmessage-options

source§

fn Window(&self) -> Root<Dom<WindowProxy>>

source§

fn Self_(&self) -> Root<Dom<WindowProxy>>

source§

fn Frames(&self) -> Root<Dom<WindowProxy>>

source§

fn GetParent(&self) -> Option<Root<Dom<WindowProxy>>>

source§

fn GetTop(&self) -> Option<Root<Dom<WindowProxy>>>

source§

fn Length(&self) -> u32

source§

fn Close(&self)

source§

fn Closed(&self) -> bool

source§

fn Opener(&self, _: JSContext) -> JSVal

source§

fn SetOpener(&self, _: JSContext, _: HandleValue<'_>)

source§

fn Blur(&self)

source§

fn Focus(&self)

source§

fn Location(&self) -> Root<Dom<DissimilarOriginLocation>>

source§

impl DomObject for DissimilarOriginWindow

source§

fn reflector(&self) -> &Reflector

Returns the receiver’s reflector.
source§

fn global(&self) -> Root<Dom<GlobalScope>>where
    Self: Sized,

Returns the global scope of the realm that the DomObject was created in.
source§

impl HasParent for DissimilarOriginWindow

source§

fn as_parent(&self) -> &GlobalScope

This is used in a type assertion to ensure that the source and webidls agree as to what the parent type is

§

type Parent = GlobalScope

source§

impl IDLInterface for DissimilarOriginWindow

source§

fn derives(class: &'static DOMClass) -> bool

Returns whether the given DOM class derives that interface.
source§

impl JSTraceable for DissimilarOriginWindow

source§

unsafe fn trace(&self, tracer: *mut JSTracer)

Trace self.
source§

impl MallocSizeOf for DissimilarOriginWindow

source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Measure the heap usage of all descendant heap-allocated structures, but not the space taken up by the value itself.
source§

impl MutDomObject for DissimilarOriginWindow

source§

unsafe fn init_reflector(&self, obj: *mut JSObject)

Initializes the Reflector
source§

impl PartialEq<DissimilarOriginWindow> for DissimilarOriginWindow

source§

fn eq(&self, other: &DissimilarOriginWindow) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl ToJSValConvertible for DissimilarOriginWindow

source§

unsafe fn to_jsval(&self, cx: *mut JSContext, rval: MutableHandleValue<'_>)

Convert self to a JSVal. JSAPI failure causes a panic.
source§

impl DerivedFrom<EventTarget> for DissimilarOriginWindow

source§

impl DerivedFrom<GlobalScope> for DissimilarOriginWindow

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere
    U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> MaybeBoxed<Box<T, Global>> for T

source§

fn maybe_boxed(self) -> Box<T, Global>

Convert
source§

impl<T> MaybeBoxed<T> for T

source§

fn maybe_boxed(self) -> T

Convert
source§

impl<T> Pointable for T

source§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
    U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for Twhere
    V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
    S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> Erased for T