From 61273a432179c20e69dbd1854886eff14193517d Mon Sep 17 00:00:00 2001 From: Euclid Ye Date: Tue, 29 Jul 2025 16:44:42 +0800 Subject: [PATCH] servoshell: Remove redundant `WindowEvent::Resized` handler (#38307) They are redundant as marked in #38174 as rendering related rect already updated in `minibrowser::update`. As a result, we are able to remove `window_rendering_context` and `inner_size` fields from `struct Window`. Testing: No regression/behaviour change in all tests running with headed window. Fixes: https://github.com/servo/servo/issues/38255#issuecomment-3117642340 Signed-off-by: Euclid Ye --- ports/servoshell/desktop/headed_window.rs | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/ports/servoshell/desktop/headed_window.rs b/ports/servoshell/desktop/headed_window.rs index 14b8e4bd0cb..ee08b7c3ddb 100644 --- a/ports/servoshell/desktop/headed_window.rs +++ b/ports/servoshell/desktop/headed_window.rs @@ -58,9 +58,6 @@ use crate::prefs::ServoShellPreferences; pub struct Window { screen_size: Size2D, - /// The inner size of the window in physical pixels which excludes OS decorations. - /// It equals viewport size + (0, toolbar height). - inner_size: Cell>, toolbar_height: Cell>, monitor: winit::monitor::MonitorHandle, webview_relative_mouse_point: Cell>, @@ -73,11 +70,6 @@ pub struct Window { xr_window_poses: RefCell>>, modifiers_state: Cell, - /// The RenderingContext that renders directly onto the Window. This is used as - /// the target of egui rendering and also where Servo rendering results are finally - /// blitted. - window_rendering_context: Rc, - /// The `RenderingContext` of Servo itself. This is used to render Servo results /// temporarily until they can be blitted into the egui scene. rendering_context: Rc, @@ -166,14 +158,12 @@ impl Window { last_pressed: Cell::new(None), keys_down: RefCell::new(HashMap::new()), fullscreen: Cell::new(false), - inner_size: Cell::new(inner_size), monitor, screen_size, device_pixel_ratio_override: servoshell_preferences.device_pixel_ratio_override, xr_window_poses: RefCell::new(vec![]), modifiers_state: Cell::new(ModifiersState::empty()), toolbar_height: Cell::new(Default::default()), - window_rendering_context, rendering_context, } } @@ -681,13 +671,6 @@ impl WindowPortsMethods for Window { WindowEvent::CloseRequested => { state.servo().start_shutting_down(); }, - WindowEvent::Resized(new_inner_size) => { - if self.inner_size.get() != new_inner_size { - self.inner_size.set(new_inner_size); - // `WebView::move_resize` was already called in `Minibrowser::update`. - self.window_rendering_context.resize(new_inner_size); - } - }, WindowEvent::ThemeChanged(theme) => { webview.notify_theme_change(match theme { winit::window::Theme::Light => Theme::Light,