46 lines
1.5 KiB
Rust
46 lines
1.5 KiB
Rust
use ely_domain::{ProfileId, SiteOrigin, SitePermissionFeature, WebViewId};
|
|
use thiserror::Error;
|
|
|
|
#[derive(Clone, Debug, Error, Eq, PartialEq)]
|
|
pub enum ServoHostError {
|
|
#[error("webview not found: {id}")]
|
|
WebViewNotFound { id: WebViewId },
|
|
|
|
#[error("invalid navigation url: {value}")]
|
|
InvalidNavigationUrl { value: String },
|
|
|
|
#[error("permission request missing profile context")]
|
|
MissingProfileContext,
|
|
|
|
#[error("permission profile mismatch for {webview_id}: expected {expected}, got {actual}")]
|
|
PermissionProfileMismatch { webview_id: WebViewId, expected: ProfileId, actual: ProfileId },
|
|
|
|
#[error("duplicate permission snapshot entry for {profile_id} {origin:?} {feature:?}")]
|
|
DuplicatePermissionSnapshotEntry {
|
|
profile_id: ProfileId,
|
|
origin: SiteOrigin,
|
|
feature: SitePermissionFeature,
|
|
},
|
|
|
|
#[error("servo runtime is already started in this process")]
|
|
RuntimeAlreadyStarted,
|
|
|
|
#[error("servo rendering context is unavailable")]
|
|
RenderingContextUnavailable,
|
|
|
|
#[error("servo rendering context could not be made current")]
|
|
RenderingContextNotCurrent,
|
|
|
|
#[error(
|
|
"hardware rendering requires the `hardware-render` feature; rebuild with \
|
|
--features servo-engine,hardware-render"
|
|
)]
|
|
HardwareRenderUnavailable,
|
|
|
|
#[error("servo rendered frame is unavailable")]
|
|
RenderedFrameUnavailable,
|
|
|
|
#[error("servo hardware surface is unavailable for {id}")]
|
|
HardwareSurfaceUnavailable { id: WebViewId },
|
|
}
|