Struct script::dom::window::Window

source ·
#[repr(C)]
pub struct Window {
Show 61 fields globalscope: GlobalScope, script_chan: MainThreadScriptChan, task_manager: TaskManager, navigator: MutNullableDom<Navigator>, image_cache: Arc<dyn ImageCache>, image_cache_chan: Sender<ImageCacheMsg>, window_proxy: MutNullableDom<WindowProxy>, document: MutNullableDom<Document>, location: MutNullableDom<Location>, history: MutNullableDom<History>, custom_element_registry: MutNullableDom<CustomElementRegistry>, performance: MutNullableDom<Performance>, navigation_start: Cell<u64>, navigation_start_precise: Cell<u64>, screen: MutNullableDom<Screen>, session_storage: MutNullableDom<Storage>, local_storage: MutNullableDom<Storage>, status: DomRefCell<DOMString>, devtools_markers: DomRefCell<HashSet<TimelineMarkerType>>, devtools_marker_sender: DomRefCell<Option<IpcSender<Option<TimelineMarker>>>>, resize_event: Cell<Option<(WindowSizeData, WindowSizeType)>>, parent_info: Option<PipelineId>, dom_static: GlobalStaticData, js_runtime: DomRefCell<Option<Rc<Runtime>>>, layout_chan: Sender<Msg>, layout_rpc: Box<dyn LayoutRPC + Send + 'static>, window_size: Cell<WindowSizeData>, bluetooth_thread: IpcSender<BluetoothRequest>, bluetooth_extra_permission_data: BluetoothExtraPermissionData, page_clip_rect: Cell<UntypedRect<Au>>, suppress_reflow: Cell<bool>, pending_reflow_count: Cell<u32>, webdriver_script_chan: DomRefCell<Option<IpcSender<WebDriverJSResult>>>, current_state: Cell<WindowState>, current_viewport: Cell<UntypedRect<Au>>, error_reporter: CSSErrorReporter, scroll_offsets: DomRefCell<HashMap<OpaqueNode, Vector2D<f32, LayoutPixel>>>, media_query_lists: DOMTracker<MediaQueryList>, test_runner: MutNullableDom<TestRunner>, webgl_chan: Option<WebGLChan>, webxr_registry: Registry, pending_layout_images: DomRefCell<HashMap<PendingImageId, Vec<Dom<Node>>>>, unminified_js_dir: DomRefCell<Option<String>>, local_script_source: Option<String>, test_worklet: MutNullableDom<Worklet>, paint_worklet: MutNullableDom<Worklet>, webrender_document: DocumentId, exists_mut_observer: Cell<bool>, webrender_api_sender: WebrenderIpcSender, has_sent_idle_message: Cell<bool>, layout_is_busy: Arc<AtomicBool>, relayout_event: bool, prepare_for_screenshot: bool, unminify_js: bool, userscripts_path: Option<String>, replace_surrogates: bool, player_context: WindowGLContext, event_loop_waker: Option<Box<dyn EventLoopWaker>>, visible: Cell<bool>, layout_marker: DomRefCell<Rc<Cell<bool>>>, current_event: DomRefCell<Option<Dom<Event>>>,
}

Fields§

§globalscope: GlobalScope§script_chan: MainThreadScriptChan§task_manager: TaskManager§navigator: MutNullableDom<Navigator>§image_cache: Arc<dyn ImageCache>§image_cache_chan: Sender<ImageCacheMsg>§window_proxy: MutNullableDom<WindowProxy>§document: MutNullableDom<Document>§location: MutNullableDom<Location>§history: MutNullableDom<History>§custom_element_registry: MutNullableDom<CustomElementRegistry>§performance: MutNullableDom<Performance>§navigation_start: Cell<u64>§navigation_start_precise: Cell<u64>§screen: MutNullableDom<Screen>§session_storage: MutNullableDom<Storage>§local_storage: MutNullableDom<Storage>§status: DomRefCell<DOMString>§devtools_markers: DomRefCell<HashSet<TimelineMarkerType>>

For sending timeline markers. Will be ignored if no devtools server

§devtools_marker_sender: DomRefCell<Option<IpcSender<Option<TimelineMarker>>>>§resize_event: Cell<Option<(WindowSizeData, WindowSizeType)>>

Pending resize event, if any.

§parent_info: Option<PipelineId>

Parent id associated with this page, if any.

§dom_static: GlobalStaticData

Global static data related to the DOM.

§js_runtime: DomRefCell<Option<Rc<Runtime>>>

The JavaScript runtime.

§layout_chan: Sender<Msg>

A handle for communicating messages to the layout thread.

This channel shouldn’t be accessed directly, but through Window::layout_chan(), which returns None if there’s no layout thread anymore.

§layout_rpc: Box<dyn LayoutRPC + Send + 'static>

A handle to perform RPC calls into the layout, quickly.

§window_size: Cell<WindowSizeData>

The current size of the window, in pixels.

§bluetooth_thread: IpcSender<BluetoothRequest>

A handle for communicating messages to the bluetooth thread.

§bluetooth_extra_permission_data: BluetoothExtraPermissionData§page_clip_rect: Cell<UntypedRect<Au>>

An enlarged rectangle around the page contents visible in the viewport, used to prevent creating display list items for content that is far away from the viewport.

§suppress_reflow: Cell<bool>

Flag to suppress reflows. The first reflow will come either with RefreshTick or with FirstLoad. Until those first reflows, we want to suppress others like MissingExplicitReflow.

§pending_reflow_count: Cell<u32>

A counter of the number of pending reflows for this window.

§webdriver_script_chan: DomRefCell<Option<IpcSender<WebDriverJSResult>>>

A channel for communicating results of async scripts back to the webdriver server

§current_state: Cell<WindowState>

The current state of the window object

§current_viewport: Cell<UntypedRect<Au>>§error_reporter: CSSErrorReporter§scroll_offsets: DomRefCell<HashMap<OpaqueNode, Vector2D<f32, LayoutPixel>>>

A list of scroll offsets for each scrollable element.

§media_query_lists: DOMTracker<MediaQueryList>

All the MediaQueryLists we need to update

§test_runner: MutNullableDom<TestRunner>§webgl_chan: Option<WebGLChan>

A handle for communicating messages to the WebGL thread, if available.

§webxr_registry: Registry§pending_layout_images: DomRefCell<HashMap<PendingImageId, Vec<Dom<Node>>>>

All of the elements that have an outstanding image request that was initiated by layout during a reflow. They are stored in the script thread to ensure that the element can be marked dirty when the image data becomes available at some point in the future.

§unminified_js_dir: DomRefCell<Option<String>>

Directory to store unminified scripts for this window if unminify-js opt is enabled.

§local_script_source: Option<String>

Directory with stored unminified scripts

§test_worklet: MutNullableDom<Worklet>

Worklets

§paint_worklet: MutNullableDom<Worklet>§webrender_document: DocumentId

The Webrender Document id associated with this window.

§exists_mut_observer: Cell<bool>

Flag to identify whether mutation observers are present(true)/absent(false)

§webrender_api_sender: WebrenderIpcSender

Webrender API Sender

§has_sent_idle_message: Cell<bool>

Indicate whether a SetDocumentStatus message has been sent after a reflow is complete. It is used to avoid sending idle message more than once, which is unneccessary.

§layout_is_busy: Arc<AtomicBool>

Flag that indicates if the layout thread is busy handling a request.

§relayout_event: bool

Emits notifications when there is a relayout.

§prepare_for_screenshot: bool

True if it is safe to write to the image.

§unminify_js: bool

Unminify Javascript.

§userscripts_path: Option<String>

Where to load userscripts from, if any. An empty string will load from the resources/user-agent-js directory, and if the option isn’t passed userscripts won’t be loaded.

§replace_surrogates: bool

Replace unpaired surrogates in DOM strings with U+FFFD. See https://github.com/servo/servo/issues/6564

§player_context: WindowGLContext

Window’s GL context from application

§event_loop_waker: Option<Box<dyn EventLoopWaker>>

A mechanism to force the compositor to process events.

§visible: Cell<bool>§layout_marker: DomRefCell<Rc<Cell<bool>>>

A shared marker for the validity of any cached layout values. A value of true indicates that any such values remain valid; any new layout that invalidates those values will cause the marker to be set to false.

§current_event: DomRefCell<Option<Dom<Event>>>

https://dom.spec.whatwg.org/#window-current-event

Implementations§

source§

impl Window

source§

impl Window

source

pub fn task_manager(&self) -> &TaskManager

source

pub fn get_exists_mut_observer(&self) -> bool

source

pub fn set_exists_mut_observer(&self)

source

pub fn clear_js_runtime_for_script_deallocation(&self)

source

pub fn discard_browsing_context(&self)

A convenience method for https://html.spec.whatwg.org/multipage/#a-browsing-context-is-discarded

source

pub fn ignore_all_tasks(&self)

Cancel all current, and ignore all subsequently queued, tasks.

source

pub fn time_profiler_chan(&self) -> &TimeProfilerChan

Get a sender to the time profiler thread.

source

pub fn origin(&self) -> &MutableOrigin

source

pub fn get_cx(&self) -> JSContext

source

pub fn get_js_runtime(&self) -> Ref<'_, Option<Rc<Runtime>>>

source

pub fn main_thread_script_chan(&self) -> &Sender<MainThreadScriptMsg>

source

pub fn parent_info(&self) -> Option<PipelineId>

source

pub fn new_script_pair(
    &self
) -> (Box<dyn ScriptChan + Send>, Box<dyn ScriptPort + Send>)

source

pub fn image_cache(&self) -> Arc<dyn ImageCache>

source

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

This can panic if it is called after the browsing context has been discarded

source

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

Returns the window proxy if it has not been discarded. https://html.spec.whatwg.org/multipage/#a-browsing-context-is-discarded

source

pub fn bluetooth_thread(&self) -> IpcSender<BluetoothRequest>

source

pub fn bluetooth_extra_permission_data(&self) -> &BluetoothExtraPermissionData

source

pub fn css_error_reporter(&self) -> Option<&dyn ParseErrorReporter>

source

pub fn set_scroll_offsets(
    &self,
    offsets: HashMap<OpaqueNode, Vector2D<f32, LayoutPixel>>
)

Sets a new list of scroll offsets.

This is called when layout gives us new ones and WebRender is in use.

source

pub fn current_viewport(&self) -> UntypedRect<Au>

source

pub(crate) fn webgl_chan(&self) -> Option<WebGLCommandSender>

source

pub fn webxr_registry(&self) -> Registry

source

fn new_paint_worklet(&self) -> Root<Dom<Worklet>>

source

pub fn pending_image_notification(&self, response: PendingImageResponse)

source

pub fn get_webrender_api_sender(&self) -> WebrenderIpcSender

source

pub fn get_userscripts_path(&self) -> Option<String>

source

pub fn replace_surrogates(&self) -> bool

source

pub fn unminify_js(&self) -> bool

source

pub fn get_player_context(&self) -> WindowGLContext

source

pub fn get_event_loop_waker(&self) -> Option<Box<dyn EventLoopWaker>>

source

pub fn dispatch_event_with_target_override(&self, event: &Event) -> EventStatus

source§

impl Window

source

pub(crate) fn set_current_event(
    &self,
    event: Option<&Event>
) -> Option<Root<Dom<Event>>>

source

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

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

source

pub fn paint_worklet(&self) -> Root<Dom<Worklet>>

source

pub fn get_navigation_start(&self) -> u64

source

pub fn has_document(&self) -> bool

source

pub fn cancel_all_tasks(&self)

Cancels all the tasks associated with that window.

This sets the current task_manager.task_cancellers sentinel value to true and replaces it with a brand new one for future tasks.

source

pub fn cancel_all_tasks_from_source(&self, task_source_name: TaskSourceName)

Cancels all the tasks from a given task source. This sets the current sentinel value to true and replaces it with a brand new one for future tasks.

source

pub fn clear_js_runtime(&self)

source

pub fn scroll(&self, x_: f64, y_: f64, behavior: ScrollBehavior)

source

pub fn perform_a_scroll(
    &self,
    x: f32,
    y: f32,
    scroll_id: ExternalScrollId,
    _behavior: ScrollBehavior,
    _element: Option<&Element>
)

source

pub fn update_viewport_for_scroll(&self, x: f32, y: f32)

source

pub fn device_pixel_ratio(&self) -> Scale<f32, CSSPixel, DevicePixel>

source

fn client_window(&self) -> (Size2D<u32, CSSPixel>, Point2D<i32, CSSPixel>)

source

pub fn advance_animation_clock(&self, delta_ms: i32)

Prepares to tick animations and then does a reflow which also advances the layout animation clock.

source

pub fn force_reflow(
    &self,
    reflow_goal: ReflowGoal,
    reason: ReflowReason,
    condition: Option<ReflowTriggerCondition>
) -> bool

Reflows the page unconditionally if possible and not suppressed. This method will wait for the layout thread to complete (but see the TODO below). If there is no window size yet, the page is presumed invisible and no reflow is performed. If reflow is suppressed, no reflow will be performed for ForDisplay goals.

TODO(pcwalton): Only wait for style recalc, since we have off-main-thread layout.

Returns true if layout actually happened, false otherwise.

source

pub fn reflow(&self, reflow_goal: ReflowGoal, reason: ReflowReason) -> bool

Reflows the page if it’s possible to do so and the page is dirty. This method will wait for the layout thread to complete (but see the TODO below). If there is no window size yet, the page is presumed invisible and no reflow is performed.

TODO(pcwalton): Only wait for style recalc, since we have off-main-thread layout.

Returns true if layout actually happened, false otherwise. This return value is useful for script queries, that wait for a lock that layout might hold if the first layout hasn’t happened yet (which may happen in the only case a query reflow may bail out, that is, if the viewport size is not present). See #11223 for an example of that.

source

pub fn layout_reflow(&self, query_msg: QueryMsg) -> bool

source

pub fn resolved_font_style_query(
    &self,
    node: &Node,
    value: String
) -> Option<ServoArc<Font>>

source

pub fn layout(&self) -> &dyn LayoutRPC

source

pub fn content_box_query(&self, node: &Node) -> Option<UntypedRect<Au>>

source

pub fn content_boxes_query(&self, node: &Node) -> Vec<UntypedRect<Au>>

source

pub fn client_rect_query(&self, node: &Node) -> UntypedRect<i32>

source

pub fn scroll_area_query(&self, node: &Node) -> UntypedRect<i32>

source

pub fn scroll_offset_query(&self, node: &Node) -> Vector2D<f32, LayoutPixel>

source

pub fn scroll_node(&self, node: &Node, x_: f64, y_: f64, behavior: ScrollBehavior)

source

pub fn resolved_style_query(
    &self,
    element: TrustedNodeAddress,
    pseudo: Option<PseudoElement>,
    property: PropertyId
) -> DOMString

source

pub fn inner_window_dimensions_query(
    &self,
    browsing_context: BrowsingContextId
) -> Option<Size2D<f32, CSSPixel>>

source

pub fn offset_parent_query(
    &self,
    node: &Node
) -> (Option<Root<Dom<Element>>>, UntypedRect<Au>)

source

pub fn text_index_query(
    &self,
    node: &Node,
    point_in_node: UntypedPoint2D<f32>
) -> TextIndexResponse

source

pub fn init_window_proxy(&self, window_proxy: &WindowProxy)

source

pub fn init_document(&self, document: &Document)

source

pub fn load_url(
    &self,
    replace: HistoryEntryReplacement,
    force_reload: bool,
    load_data: LoadData
)

Commence a new URL load which will either replace this window or scroll to a fragment.

https://html.spec.whatwg.org/multipage/#navigating-across-documents

source

pub fn handle_fire_timer(&self, timer_id: TimerEventId)

source

pub fn set_window_size(&self, size: WindowSizeData)

source

pub fn window_size(&self) -> WindowSizeData

source

pub fn get_url(&self) -> ServoUrl

source

pub fn layout_chan(&self) -> Option<&Sender<Msg>>

source

pub fn windowproxy_handler(&self) -> WindowProxyHandler

source

pub fn get_pending_reflow_count(&self) -> u32

source

pub fn add_pending_reflow(&self)

source

pub fn set_resize_event(&self, event: WindowSizeData, event_type: WindowSizeType)

source

pub fn steal_resize_event(&self) -> Option<(WindowSizeData, WindowSizeType)>

source

pub fn set_page_clip_rect_with_new_viewport(
    &self,
    viewport: UntypedRect<f32>
) -> bool

source

pub fn suspend(&self)

source

pub fn resume(&self)

source

pub fn need_emit_timeline_marker(
    &self,
    timeline_type: TimelineMarkerType
) -> bool

source

pub fn emit_timeline_marker(&self, marker: TimelineMarker)

source

pub fn set_devtools_timeline_markers(
    &self,
    markers: Vec<TimelineMarkerType>,
    reply: IpcSender<Option<TimelineMarker>>
)

source

pub fn drop_devtools_timeline_markers(&self, markers: Vec<TimelineMarkerType>)

source

pub fn set_webdriver_script_chan(
    &self,
    chan: Option<IpcSender<WebDriverJSResult>>
)

source

pub fn is_alive(&self) -> bool

source

pub fn is_top_level(&self) -> bool

source

pub fn evaluate_media_queries_and_report_changes(&self)

source

pub fn alter_resource_utilization(&self, visible: bool)

Slow down/speed up timers based on visibility.

source

pub fn visible(&self) -> bool

source

pub fn unminified_js_dir(&self) -> Option<String>

source

pub fn local_script_source(&self) -> &Option<String>

source

pub fn set_navigation_start(&self)

source

pub fn send_to_embedder(&self, msg: EmbedderMsg)

source

pub fn send_to_constellation(&self, msg: ScriptMsg)

source

pub fn webrender_document(&self) -> DocumentId

source

pub fn in_immersive_xr_session(&self) -> bool

source§

impl Window

source

pub fn new(
    runtime: Rc<Runtime>,
    script_chan: MainThreadScriptChan,
    task_manager: TaskManager,
    image_cache_chan: Sender<ImageCacheMsg>,
    image_cache: Arc<dyn ImageCache>,
    resource_threads: ResourceThreads,
    bluetooth_thread: IpcSender<BluetoothRequest>,
    mem_profiler_chan: MemProfilerChan,
    time_profiler_chan: TimeProfilerChan,
    devtools_chan: Option<IpcSender<ScriptToDevtoolsControlMsg>>,
    constellation_chan: ScriptToConstellationChan,
    control_chan: IpcSender<ConstellationControlMsg>,
    scheduler_chan: IpcSender<TimerSchedulerMsg>,
    layout_chan: Sender<Msg>,
    pipelineid: PipelineId,
    parent_info: Option<PipelineId>,
    window_size: WindowSizeData,
    origin: MutableOrigin,
    creator_url: ServoUrl,
    navigation_start: u64,
    navigation_start_precise: u64,
    webgl_chan: Option<WebGLChan>,
    webxr_registry: Registry,
    microtask_queue: Rc<MicrotaskQueue>,
    webrender_document: DocumentId,
    webrender_api_sender: WebrenderIpcSender,
    layout_is_busy: Arc<AtomicBool>,
    relayout_event: bool,
    prepare_for_screenshot: bool,
    unminify_js: bool,
    local_script_source: Option<String>,
    userscripts_path: Option<String>,
    is_headless: bool,
    replace_surrogates: bool,
    user_agent: Cow<'static, str>,
    player_context: WindowGLContext,
    event_loop_waker: Option<Box<dyn EventLoopWaker>>,
    gpu_id_hub: Arc<ParkMutex<Identities>>,
    inherited_secure_context: Option<bool>
) -> Root<Dom<Self>>

source

pub fn pipeline_id(&self) -> PipelineId

source

pub fn cache_layout_value<T>(&self, value: T) -> LayoutValue<T>where
    T: Copy + JSTraceable + MallocSizeOf,

Create a new cached instance of the given value.

source§

impl Window

source

pub fn post_message(
    &self,
    target_origin: Option<ImmutableOrigin>,
    source_origin: ImmutableOrigin,
    source: &WindowProxy,
    data: StructuredSerializedData
)

Trait Implementations§

source§

impl Castable for Window

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 DomObject for Window

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 Window

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 Window

source§

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

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

impl JSTraceable for Window

source§

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

Trace self.
source§

impl MallocSizeOf for Window

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 Window

source§

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

Initializes the Reflector
source§

impl PartialEq<Window> for Window

source§

fn eq(&self, other: &Window) -> 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 Window

source§

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

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

impl WindowMethods for Window

source§

fn RequestAnimationFrame(&self, callback: Rc<FrameRequestCallback>) -> u32

source§

fn CancelAnimationFrame(&self, ident: u32)

source§

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

source§

fn Alert_(&self)

source§

fn Alert(&self, s: DOMString)

source§

fn Confirm(&self, s: DOMString) -> bool

source§

fn Prompt(&self, message: DOMString, default: DOMString) -> Option<DOMString>

source§

fn Stop(&self)

source§

fn Open(
    &self,
    url: USVString,
    target: DOMString,
    features: DOMString
) -> Result<Option<Root<Dom<WindowProxy>>>, Error>

source§

fn Opener(&self, cx: JSContext, in_realm_proof: InRealm<'_>) -> JSVal

source§

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

source§

fn Closed(&self) -> bool

source§

fn Close(&self)

source§

fn Document(&self) -> Root<Dom<Document>>

source§

fn History(&self) -> Root<Dom<History>>

source§

fn CustomElements(&self) -> Root<Dom<CustomElementRegistry>>

source§

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

source§

fn SessionStorage(&self) -> Root<Dom<Storage>>

source§

fn LocalStorage(&self) -> Root<Dom<Storage>>

source§

fn Crypto(&self) -> Root<Dom<Crypto>>

source§

fn GetFrameElement(&self) -> Option<Root<Dom<Element>>>

source§

fn Navigator(&self) -> Root<Dom<Navigator>>

source§

fn SetTimeout(
    &self,
    _cx: JSContext,
    callback: StringOrFunction,
    timeout: i32,
    args: Vec<HandleValue<'_>>
) -> i32

source§

fn ClearTimeout(&self, handle: i32)

source§

fn SetInterval(
    &self,
    _cx: JSContext,
    callback: StringOrFunction,
    timeout: i32,
    args: Vec<HandleValue<'_>>
) -> i32

source§

fn ClearInterval(&self, handle: i32)

source§

fn QueueMicrotask(&self, callback: Rc<VoidFunction>)

source§

fn CreateImageBitmap(
    &self,
    image: ImageBitmapSource,
    options: &ImageBitmapOptions
) -> Rc<Promise>

source§

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

source§

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

source§

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

source§

fn Length(&self) -> u32

source§

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

source§

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

source§

fn Performance(&self) -> Root<Dom<Performance>>

source§

fn GetOnblur(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnblur(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnerror(&self) -> Option<Rc<OnErrorEventHandlerNonNull>>

source§

fn SetOnerror(&self, listener: Option<Rc<OnErrorEventHandlerNonNull>>)

source§

fn GetOnfocus(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnfocus(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnload(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnload(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnresize(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnresize(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnscroll(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnscroll(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnabort(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnabort(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnanimationend(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnanimationend(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnanimationiteration(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnanimationiteration(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOncancel(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOncancel(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOncanplay(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOncanplay(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOncanplaythrough(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOncanplaythrough(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnchange(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnchange(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnclick(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnclick(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnclose(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnclose(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOncontextmenu(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOncontextmenu(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOncuechange(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOncuechange(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOndblclick(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOndblclick(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOndrag(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOndrag(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOndragend(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOndragend(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOndragenter(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOndragenter(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOndragexit(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOndragexit(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOndragleave(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOndragleave(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOndragover(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOndragover(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOndragstart(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOndragstart(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOndrop(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOndrop(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOndurationchange(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOndurationchange(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnemptied(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnemptied(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnended(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnended(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnformdata(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnformdata(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOninput(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOninput(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOninvalid(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOninvalid(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnkeydown(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnkeydown(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnkeypress(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnkeypress(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnkeyup(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnkeyup(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnloadeddata(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnloadeddata(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnloadedmetadata(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnloadedmetadata(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnloadstart(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnloadstart(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnmousedown(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnmousedown(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnmouseenter(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnmouseenter(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnmouseleave(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnmouseleave(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnmousemove(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnmousemove(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnmouseout(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnmouseout(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnmouseover(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnmouseover(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnmouseup(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnmouseup(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnwheel(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnwheel(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnpause(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnpause(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnplay(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnplay(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnplaying(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnplaying(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnprogress(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnprogress(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnratechange(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnratechange(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnreset(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnreset(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnseeked(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnseeked(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnseeking(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnseeking(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnselect(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnselect(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnselectionchange(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnselectionchange(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnselectstart(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnselectstart(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnshow(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnshow(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnstalled(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnstalled(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnsubmit(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnsubmit(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnsuspend(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnsuspend(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOntimeupdate(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOntimeupdate(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOntoggle(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOntoggle(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOntransitioncancel(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOntransitioncancel(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOntransitionend(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOntransitionend(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOntransitionrun(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOntransitionrun(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnvolumechange(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnvolumechange(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnwaiting(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnwaiting(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnafterprint(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnafterprint(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnbeforeprint(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnbeforeprint(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnbeforeunload(&self) -> Option<Rc<OnBeforeUnloadEventHandlerNonNull>>

source§

fn SetOnbeforeunload(
    &self,
    listener: Option<Rc<OnBeforeUnloadEventHandlerNonNull>>
)

source§

fn GetOnhashchange(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnhashchange(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnlanguagechange(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnlanguagechange(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnmessage(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnmessage(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnmessageerror(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnmessageerror(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnoffline(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnoffline(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnonline(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnonline(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnpagehide(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnpagehide(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnpageshow(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnpageshow(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnpopstate(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnpopstate(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnrejectionhandled(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnrejectionhandled(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnstorage(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnstorage(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnunhandledrejection(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnunhandledrejection(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn GetOnunload(&self) -> Option<Rc<EventHandlerNonNull>>

source§

fn SetOnunload(&self, listener: Option<Rc<EventHandlerNonNull>>)

source§

fn Screen(&self) -> Root<Dom<Screen>>

source§

fn Btoa(&self, btoa: DOMString) -> Result<DOMString, Error>

source§

fn Atob(&self, atob: DOMString) -> Result<DOMString, Error>

source§

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

source§

fn CaptureEvents(&self)

source§

fn ReleaseEvents(&self)

source§

fn Debug(&self, message: DOMString)

source§

fn Gc(&self)

source§

fn Trap(&self)

source§

fn Js_backtrace(&self)

source§

fn WebdriverCallback(&self, cx: JSContext, val: HandleValue<'_>)

source§

fn WebdriverTimeout(&self)

source§

fn GetComputedStyle(
    &self,
    element: &Element,
    pseudo: Option<DOMString>
) -> Root<Dom<CSSStyleDeclaration>>

source§

fn InnerHeight(&self) -> i32

source§

fn InnerWidth(&self) -> i32

source§

fn ScrollX(&self) -> i32

source§

fn PageXOffset(&self) -> i32

source§

fn ScrollY(&self) -> i32

source§

fn PageYOffset(&self) -> i32

source§

fn Scroll(&self, options: &ScrollToOptions)

source§

fn Scroll_(&self, x: f64, y: f64)

source§

fn ScrollTo(&self, options: &ScrollToOptions)

source§

fn ScrollTo_(&self, x: f64, y: f64)

source§

fn ScrollBy(&self, options: &ScrollToOptions)

source§

fn ScrollBy_(&self, x: f64, y: f64)

source§

fn ResizeTo(&self, width: i32, height: i32)

source§

fn ResizeBy(&self, x: i32, y: i32)

source§

fn MoveTo(&self, x: i32, y: i32)

source§

fn MoveBy(&self, x: i32, y: i32)

source§

fn ScreenX(&self) -> i32

source§

fn ScreenY(&self) -> i32

source§

fn OuterHeight(&self) -> i32

source§

fn OuterWidth(&self) -> i32

source§

fn DevicePixelRatio(&self) -> Finite<f64>

source§

fn Status(&self) -> DOMString

source§

fn SetStatus(&self, status: DOMString)

source§

fn MatchMedia(&self, query: DOMString) -> Root<Dom<MediaQueryList>>

source§

fn Fetch(
    &self,
    input: RequestOrUSVString,
    init: RootedTraceableBox<RequestInit>,
    comp: InRealm<'_>
) -> Rc<Promise>

source§

fn TestRunner(&self) -> Root<Dom<TestRunner>>

source§

fn RunningAnimationCount(&self) -> u32

source§

fn SetName(&self, name: DOMString)

source§

fn Name(&self) -> DOMString

source§

fn Origin(&self) -> USVString

source§

fn GetSelection(&self) -> Option<Root<Dom<Selection>>>

source§

fn Event(&self, cx: JSContext) -> JSVal

source§

fn IsSecureContext(&self) -> bool

source§

impl DerivedFrom<EventTarget> for Window

source§

impl DerivedFrom<GlobalScope> for Window

Auto Trait Implementations§

§

impl !RefUnwindSafe for Window

§

impl !Send for Window

§

impl !Sync for Window

§

impl Unpin for Window

§

impl !UnwindSafe for Window

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