aboutsummaryrefslogtreecommitdiffstats
path: root/ports/servoshell/egl/android/simpleservo.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ports/servoshell/egl/android/simpleservo.rs')
-rw-r--r--ports/servoshell/egl/android/simpleservo.rs34
1 files changed, 13 insertions, 21 deletions
diff --git a/ports/servoshell/egl/android/simpleservo.rs b/ports/servoshell/egl/android/simpleservo.rs
index 5bd484a5c84..4f7e35d3923 100644
--- a/ports/servoshell/egl/android/simpleservo.rs
+++ b/ports/servoshell/egl/android/simpleservo.rs
@@ -8,18 +8,14 @@ use std::rc::Rc;
use dpi::PhysicalSize;
use raw_window_handle::{DisplayHandle, RawDisplayHandle, RawWindowHandle, WindowHandle};
-/// The EventLoopWaker::wake function will be called from any thread.
-/// It will be called to notify embedder that some events are available,
-/// and that perform_updates need to be called
-pub use servo::EventLoopWaker;
pub use servo::webrender_api::units::DeviceIntRect;
-use servo::{self, Servo, resources};
+use servo::{self, EventLoopWaker, ServoBuilder, resources};
pub use servo::{InputMethodType, MediaSessionPlaybackState, WindowRenderingContext};
use crate::egl::android::resources::ResourceReaderInstance;
-use crate::egl::app_state::{
- Coordinates, RunningAppState, ServoEmbedderCallbacks, ServoWindowCallbacks,
-};
+#[cfg(feature = "webxr")]
+use crate::egl::app_state::XrDiscoveryWebXrRegistry;
+use crate::egl::app_state::{Coordinates, RunningAppState, ServoWindowCallbacks};
use crate::egl::host_trait::HostTrait;
use crate::prefs::{ArgumentParsingResult, parse_command_line_arguments};
@@ -85,26 +81,22 @@ pub fn init(
RefCell::new(init_opts.coordinates),
));
- let embedder_callbacks = Box::new(ServoEmbedderCallbacks::new(
- waker,
- #[cfg(feature = "webxr")]
- init_opts.xr_discovery,
- ));
+ let servo_builder = ServoBuilder::new(rendering_context.clone())
+ .opts(opts)
+ .preferences(preferences)
+ .event_loop_waker(waker);
- let servo = Servo::new(
- opts,
- preferences,
- rendering_context.clone(),
- embedder_callbacks,
- Default::default(),
- );
+ #[cfg(feature = "webxr")]
+ let servo_builder = servo_builder.webxr_registry(Box::new(XrDiscoveryWebXrRegistry::new(
+ init_opts.xr_discovery,
+ )));
APP.with(|app| {
let app_state = RunningAppState::new(
init_opts.url,
init_opts.density,
rendering_context,
- servo,
+ servo_builder.build(),
window_callbacks,
servoshell_preferences,
);