tauri_runtime::webview

Struct WebviewAttributes

Source
pub struct WebviewAttributes {
Show 20 fields pub url: WebviewUrl, pub user_agent: Option<String>, pub initialization_scripts: Vec<String>, pub data_directory: Option<PathBuf>, pub drag_drop_handler_enabled: bool, pub clipboard: bool, pub accept_first_mouse: bool, pub additional_browser_args: Option<String>, pub window_effects: Option<WindowEffectsConfig>, pub incognito: bool, pub transparent: bool, pub focus: bool, pub bounds: Option<Rect>, pub auto_resize: bool, pub proxy_url: Option<Url>, pub zoom_hotkeys_enabled: bool, pub browser_extensions_enabled: bool, pub use_https_scheme: bool, pub devtools: Option<bool>, pub background_color: Option<Color>,
}
Expand description

The attributes used to create an webview.

Fields§

§url: WebviewUrl§user_agent: Option<String>§initialization_scripts: Vec<String>§data_directory: Option<PathBuf>§drag_drop_handler_enabled: bool§clipboard: bool§accept_first_mouse: bool§additional_browser_args: Option<String>§window_effects: Option<WindowEffectsConfig>§incognito: bool§transparent: bool§focus: bool§bounds: Option<Rect>§auto_resize: bool§proxy_url: Option<Url>§zoom_hotkeys_enabled: bool§browser_extensions_enabled: bool§use_https_scheme: bool§devtools: Option<bool>§background_color: Option<Color>

Implementations§

Source§

impl WebviewAttributes

Source

pub fn new(url: WebviewUrl) -> Self

Initializes the default attributes for a webview.

Source

pub fn user_agent(self, user_agent: &str) -> Self

Sets the user agent

Source

pub fn initialization_script(self, script: &str) -> Self

Sets the init script.

Source

pub fn data_directory(self, data_directory: PathBuf) -> Self

Data directory for the webview.

Source

pub fn disable_drag_drop_handler(self) -> Self

Disables the drag and drop handler. This is required to use HTML5 drag and drop APIs on the frontend on Windows.

Source

pub fn enable_clipboard_access(self) -> Self

Enables clipboard access for the page rendered on Linux and Windows.

macOS doesn’t provide such method and is always enabled by default, but you still need to add menu item accelerators to use shortcuts.

Source

pub fn accept_first_mouse(self, accept: bool) -> Self

Sets whether clicking an inactive window also clicks through to the webview.

Source

pub fn additional_browser_args(self, additional_args: &str) -> Self

Sets additional browser arguments. Windows Only

Source

pub fn window_effects(self, effects: WindowEffectsConfig) -> Self

Sets window effects

Source

pub fn incognito(self, incognito: bool) -> Self

Enable or disable incognito mode for the WebView.

Source

pub fn transparent(self, transparent: bool) -> Self

Enable or disable transparency for the WebView.

Source

pub fn focused(self, focus: bool) -> Self

Whether the webview should be focused or not.

Source

pub fn auto_resize(self) -> Self

Sets the webview to automatically grow and shrink its size and position when the parent window resizes.

Source

pub fn proxy_url(self, url: Url) -> Self

Enable proxy for the WebView

Source

pub fn zoom_hotkeys_enabled(self, enabled: bool) -> Self

Whether page zooming by hotkeys is enabled

§Platform-specific:
  • Windows: Controls WebView2’s IsZoomControlEnabled setting.

  • MacOS / Linux: Injects a polyfill that zooms in and out with ctrl/command + -/=, 20% in each step, ranging from 20% to 1000%. Requires webview:allow-set-webview-zoom permission

  • Android / iOS: Unsupported.

Source

pub fn browser_extensions_enabled(self, enabled: bool) -> Self

Whether browser extensions can be installed for the webview process

§Platform-specific:
Source

pub fn use_https_scheme(self, enabled: bool) -> Self

Sets whether the custom protocols should use https://<scheme>.localhost instead of the default http://<scheme>.localhost on Windows and Android. Defaults to false.

§Note

Using a https scheme will NOT allow mixed content when trying to fetch http endpoints and therefore will not match the behavior of the <scheme>://localhost protocols used on macOS and Linux.

§Warning

Changing this value between releases will change the IndexedDB, cookies and localstorage location and your app will not be able to access the old data.

Source

pub fn devtools(self, enabled: Option<bool>) -> Self

Whether web inspector, which is usually called browser devtools, is enabled or not. Enabled by default.

This API works in debug builds, but requires devtools feature flag to enable it in release builds.

§Platform-specific
  • macOS: This will call private functions on macOS.
  • Android: Open chrome://inspect/#devices in Chrome to get the devtools window. Wry’s WebView devtools API isn’t supported on Android.
  • iOS: Open Safari > Develop > [Your Device Name] > [Your WebView] to get the devtools window.
Source

pub fn background_color(self, color: Color) -> Self

Set the window and webview background color.

§Platform-specific:
  • Windows: On Windows 7, alpha channel is ignored for the webview layer.
  • Windows: On Windows 8 and newer, if alpha channel is not 0, it will be ignored.

Trait Implementations§

Source§

impl Clone for WebviewAttributes

Source§

fn clone(&self) -> WebviewAttributes

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for WebviewAttributes

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<&WindowConfig> for WebviewAttributes

Source§

fn from(config: &WindowConfig) -> Self

Converts to this type from the input type.

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

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

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<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T

Source§

impl<T> UserEvent for T
where T: Debug + Clone + Send + 'static,