mirror of
https://github.com/servo/servo.git
synced 2025-08-26 23:58:20 +01:00
Fix ./mach build --no-default-features (#35922)
Fix build failures when building without default features. Testing: This was manually tested, but this PR does not add automated tests of `--no-default-features` to CI. Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
This commit is contained in:
parent
ec5872992b
commit
25fea1e086
6 changed files with 15 additions and 13 deletions
|
@ -42,7 +42,6 @@ use super::{headed_window, headless_window};
|
||||||
use crate::desktop::app_state::RunningAppState;
|
use crate::desktop::app_state::RunningAppState;
|
||||||
use crate::desktop::protocols;
|
use crate::desktop::protocols;
|
||||||
use crate::desktop::tracing::trace_winit_event;
|
use crate::desktop::tracing::trace_winit_event;
|
||||||
use crate::desktop::webxr::XrDiscoveryWebXrRegistry;
|
|
||||||
use crate::desktop::window_trait::WindowPortsMethods;
|
use crate::desktop::window_trait::WindowPortsMethods;
|
||||||
use crate::parser::{get_default_url, location_bar_input_to_url};
|
use crate::parser::{get_default_url, location_bar_input_to_url};
|
||||||
use crate::prefs::ServoShellPreferences;
|
use crate::prefs::ServoShellPreferences;
|
||||||
|
@ -159,11 +158,12 @@ impl App {
|
||||||
.event_loop_waker(self.waker.clone());
|
.event_loop_waker(self.waker.clone());
|
||||||
|
|
||||||
#[cfg(feature = "webxr")]
|
#[cfg(feature = "webxr")]
|
||||||
let servo_builder = servo_builder.webxr_registry(XrDiscoveryWebXrRegistry::new_boxed(
|
let servo_builder =
|
||||||
window.clone(),
|
servo_builder.webxr_registry(super::webxr::XrDiscoveryWebXrRegistry::new_boxed(
|
||||||
event_loop,
|
window.clone(),
|
||||||
&self.preferences,
|
event_loop,
|
||||||
));
|
&self.preferences,
|
||||||
|
));
|
||||||
|
|
||||||
let servo = servo_builder.build();
|
let servo = servo_builder.build();
|
||||||
servo.setup_logging();
|
servo.setup_logging();
|
||||||
|
|
|
@ -17,7 +17,6 @@ use euclid::{Angle, Length, Point2D, Rotation3D, Scale, Size2D, UnknownUnit, Vec
|
||||||
use keyboard_types::ShortcutMatcher;
|
use keyboard_types::ShortcutMatcher;
|
||||||
use log::{debug, info};
|
use log::{debug, info};
|
||||||
use raw_window_handle::{HasDisplayHandle, HasWindowHandle, RawWindowHandle};
|
use raw_window_handle::{HasDisplayHandle, HasWindowHandle, RawWindowHandle};
|
||||||
use servo::servo_config::pref;
|
|
||||||
use servo::servo_geometry::{
|
use servo::servo_geometry::{
|
||||||
DeviceIndependentIntRect, DeviceIndependentPixel, convert_rect_to_css_pixel,
|
DeviceIndependentIntRect, DeviceIndependentPixel, convert_rect_to_css_pixel,
|
||||||
};
|
};
|
||||||
|
@ -30,7 +29,6 @@ use servo::{
|
||||||
TouchEvent, TouchEventType, TouchId, WebRenderDebugOption, WebView, WheelDelta, WheelEvent,
|
TouchEvent, TouchEventType, TouchId, WebRenderDebugOption, WebView, WheelDelta, WheelEvent,
|
||||||
WheelMode, WindowRenderingContext,
|
WheelMode, WindowRenderingContext,
|
||||||
};
|
};
|
||||||
use surfman::{Context, Device};
|
|
||||||
use url::Url;
|
use url::Url;
|
||||||
use winit::dpi::{LogicalPosition, LogicalSize, PhysicalPosition, PhysicalSize};
|
use winit::dpi::{LogicalPosition, LogicalSize, PhysicalPosition, PhysicalSize};
|
||||||
use winit::event::{
|
use winit::event::{
|
||||||
|
@ -746,6 +744,7 @@ impl WindowPortsMethods for Window {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "webxr")]
|
||||||
fn new_glwindow(
|
fn new_glwindow(
|
||||||
&self,
|
&self,
|
||||||
event_loop: &ActiveEventLoop,
|
event_loop: &ActiveEventLoop,
|
||||||
|
@ -854,6 +853,7 @@ fn load_icon(icon_bytes: &[u8]) -> Icon {
|
||||||
Icon::from_rgba(icon_rgba, icon_width, icon_height).expect("Failed to load icon")
|
Icon::from_rgba(icon_rgba, icon_width, icon_height).expect("Failed to load icon")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "webxr")]
|
||||||
struct XRWindow {
|
struct XRWindow {
|
||||||
winit_window: winit::window::Window,
|
winit_window: winit::window::Window,
|
||||||
pose: Rc<XRWindowPose>,
|
pose: Rc<XRWindowPose>,
|
||||||
|
@ -864,11 +864,12 @@ struct XRWindowPose {
|
||||||
xr_translation: Cell<Vector3D<f32, UnknownUnit>>,
|
xr_translation: Cell<Vector3D<f32, UnknownUnit>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "webxr")]
|
||||||
impl servo::webxr::glwindow::GlWindow for XRWindow {
|
impl servo::webxr::glwindow::GlWindow for XRWindow {
|
||||||
fn get_render_target(
|
fn get_render_target(
|
||||||
&self,
|
&self,
|
||||||
device: &mut Device,
|
device: &mut surfman::Device,
|
||||||
_context: &mut Context,
|
_context: &mut surfman::Context,
|
||||||
) -> servo::webxr::glwindow::GlWindowRenderTarget {
|
) -> servo::webxr::glwindow::GlWindowRenderTarget {
|
||||||
self.winit_window.set_visible(true);
|
self.winit_window.set_visible(true);
|
||||||
let window_handle = self
|
let window_handle = self
|
||||||
|
@ -893,6 +894,7 @@ impl servo::webxr::glwindow::GlWindow for XRWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_mode(&self) -> servo::webxr::glwindow::GlWindowMode {
|
fn get_mode(&self) -> servo::webxr::glwindow::GlWindowMode {
|
||||||
|
use servo::servo_config::pref;
|
||||||
if pref!(dom_webxr_glwindow_red_cyan) {
|
if pref!(dom_webxr_glwindow_red_cyan) {
|
||||||
servo::webxr::glwindow::GlWindowMode::StereoRedCyan
|
servo::webxr::glwindow::GlWindowMode::StereoRedCyan
|
||||||
} else if pref!(dom_webxr_glwindow_left_right) {
|
} else if pref!(dom_webxr_glwindow_left_right) {
|
||||||
|
|
|
@ -141,6 +141,7 @@ impl WindowPortsMethods for Window {
|
||||||
// Not expecting any winit events.
|
// Not expecting any winit events.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "webxr")]
|
||||||
fn new_glwindow(
|
fn new_glwindow(
|
||||||
&self,
|
&self,
|
||||||
_events_loop: &winit::event_loop::ActiveEventLoop,
|
_events_loop: &winit::event_loop::ActiveEventLoop,
|
||||||
|
|
|
@ -19,5 +19,6 @@ mod keyutils;
|
||||||
mod minibrowser;
|
mod minibrowser;
|
||||||
mod protocols;
|
mod protocols;
|
||||||
mod tracing;
|
mod tracing;
|
||||||
|
#[cfg(feature = "webxr")]
|
||||||
mod webxr;
|
mod webxr;
|
||||||
mod window_trait;
|
mod window_trait;
|
||||||
|
|
|
@ -17,14 +17,12 @@ use winit::event_loop::ActiveEventLoop;
|
||||||
|
|
||||||
use super::window_trait::WindowPortsMethods;
|
use super::window_trait::WindowPortsMethods;
|
||||||
|
|
||||||
#[cfg(feature = "webxr")]
|
|
||||||
enum XrDiscovery {
|
enum XrDiscovery {
|
||||||
GlWindow(GlWindowDiscovery),
|
GlWindow(GlWindowDiscovery),
|
||||||
#[cfg(target_os = "windows")]
|
#[cfg(target_os = "windows")]
|
||||||
OpenXr(OpenXrDiscovery),
|
OpenXr(OpenXrDiscovery),
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "webxr")]
|
|
||||||
pub(crate) struct XrDiscoveryWebXrRegistry {
|
pub(crate) struct XrDiscoveryWebXrRegistry {
|
||||||
xr_discovery: RefCell<Option<XrDiscovery>>,
|
xr_discovery: RefCell<Option<XrDiscovery>>,
|
||||||
}
|
}
|
||||||
|
@ -75,7 +73,6 @@ impl prefs::Observer for XrPrefObserver {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "webxr")]
|
|
||||||
impl WebXrRegistry for XrDiscoveryWebXrRegistry {
|
impl WebXrRegistry for XrDiscoveryWebXrRegistry {
|
||||||
fn register(&self, xr: &mut servo::webxr::MainThreadRegistry) {
|
fn register(&self, xr: &mut servo::webxr::MainThreadRegistry) {
|
||||||
use servo::webxr::headless::HeadlessMockDiscovery;
|
use servo::webxr::headless::HeadlessMockDiscovery;
|
||||||
|
|
|
@ -43,6 +43,7 @@ pub trait WindowPortsMethods {
|
||||||
fn set_position(&self, _point: DeviceIntPoint) {}
|
fn set_position(&self, _point: DeviceIntPoint) {}
|
||||||
fn set_fullscreen(&self, _state: bool) {}
|
fn set_fullscreen(&self, _state: bool) {}
|
||||||
fn set_cursor(&self, _cursor: Cursor) {}
|
fn set_cursor(&self, _cursor: Cursor) {}
|
||||||
|
#[cfg(feature = "webxr")]
|
||||||
fn new_glwindow(
|
fn new_glwindow(
|
||||||
&self,
|
&self,
|
||||||
event_loop: &winit::event_loop::ActiveEventLoop,
|
event_loop: &winit::event_loop::ActiveEventLoop,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue