diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index ae505c935d5..bc27ff37748 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -1213,7 +1213,7 @@ impl IOCompositor { ) -> Result, UnableToComposite> { let width = self.embedder_coordinates.framebuffer.width_typed(); let height = self.embedder_coordinates.framebuffer.height_typed(); - if !self.window.prepare_for_composite(width, height) { + if !self.window.prepare_for_composite() { return Err(UnableToComposite::WindowUnprepared); } diff --git a/components/compositing/windowing.rs b/components/compositing/windowing.rs index 47a8a4e6b5f..45351780133 100644 --- a/components/compositing/windowing.rs +++ b/components/compositing/windowing.rs @@ -11,7 +11,7 @@ use gleam::gl; use keyboard_types::KeyboardEvent; use msg::constellation_msg::{TopLevelBrowsingContextId, TraversalDirection}; use script_traits::{MouseButton, TouchEventType, TouchId}; -use servo_geometry::{DeviceIndependentPixel, DeviceUintLength}; +use servo_geometry::DeviceIndependentPixel; use servo_url::ServoUrl; use std::fmt::{Debug, Error, Formatter}; #[cfg(feature = "gleam")] @@ -129,7 +129,7 @@ pub trait WindowMethods { /// Requests that the window system prepare a composite. Typically this will involve making /// some type of platform-specific graphics context current. Returns true if the composite may /// proceed and false if it should not. - fn prepare_for_composite(&self, width: DeviceUintLength, height: DeviceUintLength) -> bool; + fn prepare_for_composite(&self) -> bool; /// Return the GL function pointer trait. #[cfg(feature = "gleam")] fn gl(&self) -> Rc; diff --git a/components/servo/lib.rs b/components/servo/lib.rs index 2e27094784b..796050573a7 100644 --- a/components/servo/lib.rs +++ b/components/servo/lib.rs @@ -82,7 +82,6 @@ use constellation::{FromCompositorLogger, FromScriptLogger}; use constellation::content_process_sandbox_profile; use embedder_traits::{EmbedderMsg, EmbedderProxy, EmbedderReceiver, EventLoopWaker}; use env_logger::Builder as EnvLoggerBuilder; -use euclid::Length; #[cfg(all(not(target_os = "windows"), not(target_os = "ios")))] use gaol::sandbox::{ChildSandbox, ChildSandboxMethods}; use gfx::font_cache_thread::FontCacheThread; @@ -138,7 +137,7 @@ where let opts = opts::get(); // Make sure the gl context is made current. - window.prepare_for_composite(Length::new(0), Length::new(0)); + window.prepare_for_composite(); // Reserving a namespace to create TopLevelBrowserContextId. PipelineNamespace::install(PipelineNamespaceId(0)); diff --git a/ports/libsimpleservo/src/api.rs b/ports/libsimpleservo/src/api.rs index 8b63aca4169..beac00cb81d 100644 --- a/ports/libsimpleservo/src/api.rs +++ b/ports/libsimpleservo/src/api.rs @@ -7,13 +7,12 @@ use servo::{self, gl, webrender_api, BrowserId, Servo}; use servo::compositing::windowing::{AnimationState, EmbedderCoordinates, MouseWindowEvent, WindowEvent, WindowMethods}; use servo::embedder_traits::EmbedderMsg; use servo::embedder_traits::resources::{self, Resource}; -use servo::euclid::{Length, TypedPoint2D, TypedScale, TypedSize2D, TypedVector2D}; +use servo::euclid::{TypedPoint2D, TypedScale, TypedSize2D, TypedVector2D}; use servo::msg::constellation_msg::TraversalDirection; use servo::script_traits::{MouseButton, TouchEventType}; use servo::servo_config::opts; use servo::servo_config::prefs::{PrefValue, PREFS}; use servo::servo_url::ServoUrl; -use servo::style_traits::DevicePixel; use std::cell::{Cell, RefCell}; use std::mem; use std::path::PathBuf; @@ -454,11 +453,7 @@ struct ServoCallbacks { } impl WindowMethods for ServoCallbacks { - fn prepare_for_composite( - &self, - _width: Length, - _height: Length, - ) -> bool { + fn prepare_for_composite(&self) -> bool { debug!("WindowMethods::prepare_for_composite"); self.host_callbacks.make_current(); true diff --git a/ports/servo/glutin_app/window.rs b/ports/servo/glutin_app/window.rs index 3c1680645cb..7f962ca9ce3 100644 --- a/ports/servo/glutin_app/window.rs +++ b/ports/servo/glutin_app/window.rs @@ -4,7 +4,7 @@ //! A windowing implementation using winit. -use euclid::{Length, TypedPoint2D, TypedVector2D, TypedScale, TypedSize2D}; +use euclid::{TypedPoint2D, TypedVector2D, TypedScale, TypedSize2D}; #[cfg(target_os = "windows")] use gdi32; use gleam::gl; @@ -776,11 +776,12 @@ impl WindowMethods for Window { self.animation_state.set(state); } - fn prepare_for_composite( - &self, - _width: Length, - _height: Length, - ) -> bool { + fn prepare_for_composite(&self) -> bool { + if let WindowKind::Window(ref window, ..) = self.kind { + if let Err(err) = unsafe { window.context().make_current() } { + warn!("Couldn't make window current: {}", err); + } + }; true } }