Enum WebViewEvent
pub enum WebViewEvent {
Show 63 variants
DevToolsResult {
request_id: u32,
ok: bool,
body: String,
},
CredentialResult(CredentialReply),
ServiceSessionResult(ServiceSessionReply),
ExtensionAction {
id: String,
global: bool,
change: ExtensionActionChange,
},
ExtensionActionReset,
ExtensionOpenPopup {
id: String,
url: String,
},
ExtensionExecuteAction {
id: String,
},
ExtensionShortcuts(Vec<ExtensionShortcut>),
ExtensionMenu {
id: String,
items: Vec<ExtensionMenuItem>,
},
ExtensionNotification {
id: String,
notification: String,
notice: Option<ExtensionNotice>,
},
ExtensionPermissionRequest {
request: u32,
id: String,
asked: ExtensionPermissionSet,
},
ExtensionPermissions {
id: String,
granted: ExtensionPermissionSet,
},
ExtensionPermissionClosed {
request: u32,
},
ExtensionDownloadOpen {
id: u32,
reveal: bool,
},
ExtensionSignIn {
id: String,
url: String,
interactive: bool,
flow: u32,
},
ExtensionOmniboxSuggestions {
id: String,
request: u32,
suggestions: Vec<OmniboxSuggestion>,
},
ExtensionOmniboxDefault {
id: String,
description: Option<String>,
},
ExtensionSidePanel {
id: String,
change: ExtensionSidePanelChange,
},
SiteStatus(SiteStatus),
SiteResult {
request_id: u32,
origin: String,
generation: u64,
action: String,
success: bool,
message: String,
},
TabClosed,
TabDetached,
TabCloseBlocked,
ContextMenu {
id: u32,
x: f64,
y: f64,
link: String,
items: Vec<ContextMenuItem>,
},
ContextMenuClosed {
id: u32,
},
PageDialog(PageDialog),
PageDialogClosed {
id: u32,
},
FindResult {
id: u32,
count: i32,
active: i32,
final_update: bool,
},
ZoomChanged(f64),
NavigationHistory {
request_id: u32,
direction: NavigationDirection,
entries: Vec<NavigationEntry>,
},
PermissionRequested {
id: u32,
origin: String,
permissions: String,
},
PermissionClosed {
id: u32,
},
NativeDownloadRequested {
id: u32,
url: String,
name: String,
},
DownloadUpdated {
id: u32,
state: String,
path: String,
name: String,
url: String,
retryable: bool,
received: u64,
total: u64,
error: String,
},
DownloadRuntime {
admitted: u32,
detached: u32,
accepting: bool,
error: String,
},
UriChanged(String),
TitleChanged(String),
FaviconChanged {
page_url: String,
width: u32,
height: u32,
png: Arc<Vec<u8>>,
},
AudioMutedChanged(bool),
MediaPlayingChanged {
page_url: String,
document_generation: u64,
playing: bool,
},
FullscreenChanged(bool),
RendererTerminated,
LoadProgress(f64),
LoadFinished,
NavigationOutcome {
request_id: u32,
uri: String,
error: Option<String>,
},
LoadFinishedAt {
uri: String,
},
LoadFailed {
uri: String,
error: String,
},
HistoryChanged {
can_go_back: bool,
can_go_forward: bool,
},
MediaElement {
request_id: u64,
element: MediaElementInfo,
},
MediaElementUnavailable {
request_id: u64,
},
PageResult {
request_id: u32,
result: Result<PageReply, PageFailure>,
},
DocumentSize {
width: f64,
height: f64,
scroll_y: f64,
},
SelectionText {
request_id: u32,
text: String,
},
ClipboardWrite {
text: String,
html: Option<String>,
secret: bool,
},
ClipboardRead {
request_id: u32,
},
LinkHovered(String),
FindSelection {
id: u32,
x: f64,
y: f64,
width: f64,
height: f64,
},
PaintSnapshot {
request_id: u32,
snapshot: Option<String>,
},
PaintResource {
request_id: u32,
bytes: Option<Vec<u8>>,
},
DownloadRequested {
id: String,
uri: String,
suggested_filename: String,
},
DownloadProgress {
id: String,
received_bytes: u64,
total_bytes: Option<u64>,
progress: f64,
},
DownloadFinished {
id: String,
path: String,
},
DownloadFailed {
id: String,
error: String,
cancelled: bool,
},
}Expand description
Navigation / UI state changes from the engine to the host app, folded
into its own state (address bar text, title, progress) during sync.
Variants§
DevToolsResult
The reply to a WebViewCommand::DevTools: the JSON result when
ok, otherwise the JSON error (or a message).
CredentialResult(CredentialReply)
ServiceSessionResult(ServiceSessionReply)
ExtensionAction
An extension changed its toolbar button, for this tab alone or for
every tab (global).
ExtensionActionReset
A new document in this tab: what extensions set for their buttons on this tab alone is gone.
ExtensionOpenPopup
An extension asked to open its popup (action.openPopup) over this
tab’s page: url is among its own pages.
ExtensionExecuteAction
The person pressed the keyboard shortcut of an extension’s toolbar
button (_execute_action) over this tab’s page: act as a click on
the button does.
ExtensionShortcuts(Vec<ExtensionShortcut>)
The keys extensions’ commands hold now, as Chrome names them: the
Browser runs them (ExtensionCommandKey) while its own field has the
keyboard, before the field sees them.
ExtensionMenu
What extension id’s toolbar button menu holds now; empty when it
holds nothing.
ExtensionNotification
An extension showed or changed its notification notification
(notice), or took it away (None). A notification is no tab’s:
it comes through the page the person used last.
ExtensionPermissionRequest
An extension asks for more access (chrome.permissions.request),
all of it among what its manifest offers for later: ask the person,
and answer with WebViewCommand::ExtensionPermissionDecision.
ExtensionPermissions
What an extension holds of what it may ask for changed: it was
granted more, or gave some up. granted is all it holds now, which
the Browser keeps with the extension.
ExtensionPermissionClosed
The page an extension asked for more access on closed before the
person answered: the extension was told no, and the question
(WebViewEvent::ExtensionPermissionRequest) goes unanswered.
ExtensionDownloadOpen
An extension asked to open one of the engine’s complete downloads
(chrome.downloads.open), or show it in its folder (reveal,
chrome.downloads.show), from this tab’s window.
ExtensionSignIn
An extension asks the person to sign in on the web page url
(identity.launchWebAuthFlow), over this tab’s page: show it where
its popup shows, or when it may not ask the person (interactive
false) load it out of sight, in a tab marked with
WebViewCommand::ExtensionSignInPanel for sign-in flow. The
engine ends the sign-in, and closes that tab, once the page goes to
the extension’s own address.
ExtensionOmniboxSuggestions
What an extension suggests for what follows its keyword in this
page’s address, answering request (OmniboxInput::Changed).
ExtensionOmniboxDefault
The suggestion an extension shows first while its keyword is typed
(omnibox.setDefaultSuggestion), in Chrome’s markup with %s for
what is typed; None for none.
ExtensionSidePanel
What an extension asks of its side panel beside this tab’s page
(chrome.sidePanel).
SiteStatus(SiteStatus)
SiteResult
TabClosed
TabDetached
The visible route is retired while CEF remains alive solely as a
bounded transfer owner. Physical destruction still emits TabClosed.
TabCloseBlocked
ContextMenu
ContextMenuClosed
PageDialog(PageDialog)
The page asks a question of its own and waits for its answer.
PageDialogClosed
The page no longer waits on its question id: it was answered, or
the page navigated or asked another.
FindResult
ZoomChanged(f64)
PermissionRequested
PermissionClosed
NativeDownloadRequested
DownloadUpdated
Fields
DownloadRuntime
Runtime-wide native ownership evidence used by explicit window exit.
UriChanged(String)
TitleChanged(String)
FaviconChanged
AudioMutedChanged(bool)
MediaPlayingChanged
FullscreenChanged(bool)
The page’s CEF content-fullscreen intent changed.
RendererTerminated
The renderer owning this tab exited without a reliable fullscreen edge.
LoadProgress(f64)
Load progress in 0.0..=1.0.
LoadFinished
A terminal outcome for an admitted request, independent of visual load events.
LoadFinishedAt
Completion tagged with its document URL, so stale startup loads can be ignored.
LoadFailed
HistoryChanged
MediaElement
PageResult
DocumentSize
The page’s document in CSS pixels: its laid-out size, never less than
the view’s, and how far it is scrolled down. Sent while
WebViewCommand::ReportDocumentSize asks for it, when any changes.
SelectionText
The page’s selection as text, answering
WebViewCommand::CopySelection; empty when nothing is selected.
ClipboardWrite
What the page copied, where the engine cannot reach the system
clipboard itself (Linux): a script’s copy, a site’s copy button, the
person’s Ctrl+C, an extension’s. The embedder puts it on the system
clipboard, html as its formatting, and as a secret when secret (it
came from a password field).
ClipboardRead
The page pastes or reads the clipboard (the person’s Ctrl+V, a read
the person allowed), where the engine cannot reach the system
clipboard itself: answer with WebViewCommand::AnswerClipboardRead
and the same id, soon, as the page waits for it.
LinkHovered(String)
The address of the link under the pointer, or empty when it left the link. Sent by an engine showing sealed documents.
FindSelection
Where the active match of find id is in the view, in logical
pixels from its top left, so a host that scrolls the page itself (a
mail sized to its whole document) can bring it into sight.
PaintSnapshot
The raw layout snapshot (JSON), or None when the engine could not
take one.
PaintResource
DownloadRequested
WebKit received response metadata and is waiting for the host’s file
portal to grant an explicit destination.
DownloadProgress
DownloadFinished
DownloadFailed
Trait Implementations§
§impl Clone for WebViewEvent
impl Clone for WebViewEvent
§fn clone(&self) -> WebViewEvent
fn clone(&self) -> WebViewEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for WebViewEvent
impl Debug for WebViewEvent
§impl PartialEq for WebViewEvent
impl PartialEq for WebViewEvent
impl StructuralPartialEq for WebViewEvent
Auto Trait Implementations§
impl Freeze for WebViewEvent
impl RefUnwindSafe for WebViewEvent
impl Send for WebViewEvent
impl Sync for WebViewEvent
impl Unpin for WebViewEvent
impl UnsafeUnpin for WebViewEvent
impl UnwindSafe for WebViewEvent
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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