Skip to main content

WebView

Struct WebView 

Source
pub struct WebView { /* private fields */ }
Expand description

A webview showing one page.

The page is built the first time the view is painted, in the window it is painted in, and stays in that window. It sits at the element’s bounds in every frame the element is painted and is parked in every frame it is not. A parked page stays loaded.

The page takes keys while the view’s focus handle is focused, and a press in the page focuses the handle. On macOS, key equivalents (cmd or ctrl held) reach gpui’s key dispatch before the page sees them. On Windows, a key with ctrl or alt held, or a function key, goes to gpui’s key dispatch in place of the page when the keymap binds it in the view’s key context.

gpui elements behind the page are not hovered, and gpui’s cursor over the page is the arrow. On macOS the page sets the cursor over itself.

In a frame where a ui::cover recorded after the view overlaps it, the page is parked. On macOS a still of the page, taken while it is still up, is painted in its place; until the still arrives the page stays over the cover. Elsewhere the place is left empty.

Linux needs gpui on X11 and paints nothing under Wayland. Paints nothing off macOS, Windows and Linux.

Implementations§

Source§

impl WebView

Source

pub fn new( url: impl Into<String>, window: &mut Window, cx: &mut Context<'_, Self>, ) -> Self

Source

pub fn location(&self) -> Option<&str>

The URL the page last reported; None before its first report.

Source

pub fn title(&self) -> &str

Source

pub fn is_loading(&self) -> bool

Source

pub fn with_user_agent(self, user_agent: impl Into<String>) -> Self

The user agent the page is built with, in place of the platform’s. Read at the first paint. On macOS the default is Safari’s, with the installed Safari’s version.

Source

pub fn load(&mut self, url: impl Into<String>)

Before the first paint, replaces the URL the page is built with. After it, navigates the page.

Source

pub fn back(&mut self)

Source

pub fn forward(&mut self)

Source

pub fn reload(&mut self)

Source

pub fn eval<T: DeserializeOwned + 'static>( &self, script: &str, timeout: Duration, cx: &App, ) -> Task<Result<T, EvalError>> ⓘ

Evaluates script, a JavaScript expression, in the page’s main frame and decodes its value from JSON. undefined decodes as null; a promise is not awaited.

Trait Implementations§

Source§

impl EventEmitter<WebViewEvent> for WebView

Source§

impl Focusable for WebView

Source§

fn focus_handle(&self, _cx: &App) -> FocusHandle

Returns the focus handle associated with this view.
Source§

impl Render for WebView

Source§

fn render( &mut self, window: &mut Window, cx: &mut Context<'_, Self>, ) -> impl IntoElement

Render this view into an element tree.

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

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, U> Into<U> for T
where U: From<T>,

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where 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