pub struct SettingsBuilder { /* private fields */ }
Expand description

A builder-pattern type to construct Settings objects.

Implementations

Create a new SettingsBuilder.

Build the Settings.

Available on crate feature v2_10 only.

Whether file access is allowed from file URLs. By default, when something is loaded in a WebView using a file URI, cross origin requests to other file resources are not allowed. This setting allows you to change that behaviour, so that it would be possible to do a XMLHttpRequest of a local file, for example.

Determine whether it’s allowed to create and run modal dialogs from a WebView through JavaScript with <function>window.showModalDialog</function>. If it’s set to false, the associated WebView won’t be able to create new modal dialogs, so not even the signal::WebView::create signal will be emitted.

Available on crate feature v2_28 only.

Whether or not the top frame is allowed to navigate to data URLs. It is disabled by default due to the risk it poses when loading untrusted URLs, with data URLs being used in scamming and phishing attacks. In contrast, a scenario where it could be enabled could be an app that embeds a WebView and you have control of the pages being show instead of a generic browser.

Available on crate feature v2_14 only.

Whether or not JavaScript running in the context of a file scheme URL should be allowed to access content from any origin. By default, when something is loaded in a WebView using a file scheme URL, access to the local file system and arbitrary local storage is not allowed. This setting allows you to change that behaviour, so that it would be possible to use local storage, for example.

Determines whether images should be automatically loaded or not. On devices where network bandwidth is of concern, it might be useful to turn this property off.

The font family used as the default for content using a cursive font.

The default text charset used when interpreting content with an unspecified charset.

The font family to use as the default for content that does not specify a font.

The default font size in pixels to use for content displayed if no font size is specified.

The default font size in pixels to use for content displayed in monospace font if no font size is specified.

Whether to draw compositing borders and repaint counters on layers drawn with accelerated compositing. This is useful for debugging issues related to web content that is composited with the GPU.

👎Deprecated: Since 2.32
Available on crate feature v2_2 only.

Enable or disable accelerated 2D canvas. Accelerated 2D canvas is only available if WebKit was compiled with a version of Cairo including the unstable CairoGL API. When accelerated 2D canvas is enabled, WebKit may render some 2D canvas content using hardware accelerated drawing operations.

Available on crate feature v2_24 only.

Enable or disable horizontal swipe gesture for back-forward navigation.

Whether to enable accessibility enhanced keyboard navigation.

Determines whether or not developer tools, such as the Web Inspector, are enabled.

Determines whether or not to prefetch domain names. DNS prefetching attempts to resolve domain names before a user tries to follow a link.

Available on crate feature v2_20 only.

Enable or disable support for Encrypted Media API on pages. EncryptedMedia is an experimental JavaScript API for playing encrypted media in HTML. This property will only work as intended if the EncryptedMedia feature is enabled at build time with the ENABLE_ENCRYPTED_MEDIA flag.

See https://www.w3.org/TR/encrypted-media/

Whether to enable the frame flattening. With this setting each subframe is expanded to its contents, which will flatten all the frames to become one scrollable page. On touch devices scrollable subframes on a page can result in a confusing user experience.

Whether to enable the Javascript Fullscreen API. The API allows any HTML element to request fullscreen display. See also the current draft of the spec: http://www.w3.org/TR/fullscreen/

Whether to enable HTML5 client-side SQL database support (IndexedDB).

Whether to enable HTML5 local storage support. Local storage provides simple synchronous storage access.

HTML5 local storage specification is available at http://dev.w3.org/html5/webstorage/.

Determines whether or not hyperlink auditing is enabled.

The hyperlink auditing specification is available at http://www.whatwg.org/specs/web-apps/current-work/multipage/links.htmlhyperlink-auditing.

Determines whether or not Java is enabled on the page.

Determines whether or not JavaScript executes within a page.

Available on crate feature v2_24 only.

Determines whether or not JavaScript markup is allowed in document. When this setting is disabled, all JavaScript-related elements and attributes are removed from the document during parsing. Note that executing JavaScript is still allowed if property::Settings::enable-javascript is true.

Available on crate feature v2_26 only.

Enable or disable support for media playback on pages. This setting is enabled by default. Disabling it means <audio>, <track> and <video> elements will have playback support disabled.

Available on crate feature v2_22 only.

Enable or disable support for MediaCapabilities on pages. This specification intends to provide APIs to allow websites to make an optimal decision when picking media content for the user. The APIs will expose information about the decoding and encoding capabilities for a given format but also output capabilities to find the best match based on the device’s display.

See also https://wicg.github.io/media-capabilities/

Available on crate feature v2_4 only.

Enable or disable support for MediaStream on pages. MediaStream is an experimental proposal for allowing web pages to access audio and video devices for capture.

See also http://dev.w3.org/2011/webrtc/editor/getusermedia.html

Available on crate feature v2_4 only.

Enable or disable support for MediaSource on pages. MediaSource extends HTMLMediaElement to allow JavaScript to generate media streams for playback.

See also http://www.w3.org/TR/media-source/

Available on crate feature v2_24 only.

Enable or disable the Mock Capture Devices. Those are fake Microphone and Camera devices to be used as MediaStream sources.

Whether to enable HTML5 offline web application cache support. Offline web application cache allows web applications to run even when the user is not connected to the network.

HTML5 offline web application specification is available at http://dev.w3.org/html5/spec/offline.html.

Enable or disable the page cache. Disabling the page cache is generally only useful for special circumstances like low-memory scenarios or special purpose applications like static HTML viewers. This setting only controls the Page Cache, this cache is different than the disk-based or memory-based traditional resource caches, its point is to make going back and forth between pages much faster. For details about the different types of caches and their purposes see: http://webkit.org/blog/427/webkit-page-cache-i-the-basics/

👎Deprecated: Since 2.32

Determines whether or not plugins on the page are enabled.

👎Deprecated: Since 2.16

Determines whether or not private browsing is enabled. Private browsing will disable history, cache and form auto-fill for any pages visited. Use property::WebView::is-ephemeral or property::WebsiteDataManager::is-ephemeral instead.

Determines whether or not text areas can be resized.

Whether to turn on site-specific quirks. Turning this on will tell WebKit to use some site-specific workarounds for better web compatibility. For example, older versions of MediaWiki will incorrectly send to WebKit a CSS file with KHTML workarounds. By turning on site-specific quirks, WebKit will special-case this and other cases to make some specific sites work.

Enable or disable smooth scrolling.

Available on crate feature v2_4 only.

Whether to enable Spatial Navigation. This feature consists in the ability to navigate between focusable elements in a Web page, such as hyperlinks and form controls, by using Left, Right, Up and Down arrow keys. For example, if an user presses the Right key, heuristics determine whether there is an element they might be trying to reach towards the right, and if there are multiple elements, which element they probably wants.

Determines whether the tab key cycles through the elements on the page. When this setting is enabled, users will be able to focus the next element in the page by pressing the tab key. If the selected element is editable, then pressing tab key will insert the tab character.

Enable or disable support for WebAudio on pages. WebAudio is an API for processing and synthesizing audio in web applications

See also https://webaudio.github.io/web-audio-api

Enable or disable support for WebGL on pages. WebGL enables web content to use an API based on OpenGL ES 2.0.

Available on crate feature v2_38 only.

Enable WebRTC support for loaded pages.

Enabling this setting implies that [propertySettings] will be enabled as well.

See also https://www.w3.org/TR/webrtc/

Available on crate feature v2_2 only.

Enable or disable writing console messages to stdout. These are messages sent to the console with console.log and related methods.

Whether to enable the XSS auditor. This feature filters some kinds of reflective XSS attacks on vulnerable web sites.

The font family used as the default for content using a fantasy font.

Available on crate feature v2_16 only.

The HardwareAccelerationPolicy to decide how to enable and disable hardware acceleration. The default value HardwareAccelerationPolicy::OnDemand enables the hardware acceleration when the web contents request it. It’s possible to enforce hardware acceleration to be always enabled by using HardwareAccelerationPolicy::Always. And it’s also possible to disable it completely using HardwareAccelerationPolicy::Never. Note that disabling hardware acceleration might cause some websites to not render correctly or consume more CPU.

Note that changing this setting might not be possible if hardware acceleration is not supported by the hardware or the system. In that case you can get the value to know the actual policy being used, but changing the setting will not have any effect.

Whether JavaScript can access the clipboard. The default value is false. If set to true, document.execCommand() allows cut, copy and paste commands.

Whether JavaScript can open popup windows automatically without user intervention.

Determines whether a site can load favicons irrespective of the value of property::Settings::auto-load-images.

Available on crate feature v2_30 only.

List of media content types requiring hardware support, split by semicolons (:). For example: ‘video/webm; codecs=“vp*”:video/mp4; codecs=“avc*”:video/* codecs=“av1*”’.

Whether media playback is full-screen only or inline playback is allowed. This is true by default, so media playback can be inline. Setting it to false allows specifying that media playback should be always fullscreen.

Whether a user gesture (such as clicking the play button) would be required to start media playback or load media. This is off by default, so media playback could start automatically. Setting it on requires a gesture by the user to start playback, or to load the media.

The minimum font size in pixels used to display text. This setting controls the absolute smallest size. Values other than 0 can potentially break page layouts.

The font family used as the default for content using a monospace font.

The font family used as the default for content using a pictograph font.

Whether background images should be drawn during printing.

The font family used as the default for content using a sans-serif font.

The font family used as the default for content using a serif font.

The user-agent string used by WebKit. Unusual user-agent strings may cause web content to render incorrectly or fail to run, as many web pages are written to parse the user-agent strings of only the most popular browsers. Therefore, it’s typically better to not completely override the standard user-agent, but to use WebkitSettingsExt::set_user_agent_with_application_details() instead.

If this property is set to the empty string or None, it will revert to the standard user-agent.

Whether property::WebView::zoom-level affects only the text of the page or all the contents. Other contents containing text like form controls will be also affected by zoom factor when this property is enabled.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.