diff options
author | Ngo Iok Ui (Wu Yu Wei) <yuweiwu@pm.me> | 2025-01-01 17:26:23 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-01 08:26:23 +0000 |
commit | d581acab3bd244e233105edde972a0605224358a (patch) | |
tree | 74573f0f2f97f27d42cda65fb22288ae1c5b6a0f /components/compositing/compositor.rs | |
parent | 59c7ac680ee7cd4eba2c9adb119dbcaf69f029cd (diff) | |
download | servo-d581acab3bd244e233105edde972a0605224358a.tar.gz servo-d581acab3bd244e233105edde972a0605224358a.zip |
chore: remove `WindowMethods::rendering_context` (#34780)
* Create Servo without initial webview ID
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
* Add rendering context in App struct
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
* Make webview manager optional
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
* Move window creation to init
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
* Create window from external rendering context
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
* Resize surface in compositor
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
* Obey clippy
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
* Update Android and OHOS
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
* Add missing arguent on OHOS
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
* Show webview after focused on Android and OH
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
* Remove rendering_context in ServoWindowCallbacks
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
* Create surface before swapchain in headless mode
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
---------
Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
Diffstat (limited to 'components/compositing/compositor.rs')
-rw-r--r-- | components/compositing/compositor.rs | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index 6be338b266b..8da18bf5151 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -363,33 +363,13 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> { composite_target: CompositeTarget, exit_after_load: bool, convert_mouse_to_touch: bool, - top_level_browsing_context_id: TopLevelBrowsingContextId, version_string: String, ) -> Self { - let embedder_coordinates = window.get_coordinates(); - let mut webviews = WebViewManager::default(); - webviews - .add( - top_level_browsing_context_id, - WebView { - pipeline_id: None, - rect: embedder_coordinates.get_viewport().to_f32(), - }, - ) - .expect("Infallible with a new WebViewManager"); - let msg = ConstellationMsg::WebViewOpened(top_level_browsing_context_id); - if let Err(e) = state.constellation_chan.send(msg) { - warn!("Sending event to constellation failed ({:?}).", e); - } - webviews - .show(top_level_browsing_context_id) - .expect("Infallible due to add"); - let compositor = IOCompositor { embedder_coordinates: window.get_coordinates(), window, port: state.receiver, - webviews, + webviews: WebViewManager::default(), pipeline_details: HashMap::new(), composition_request: CompositionRequest::NoCompositingNecessary, touch_handler: TouchHandler::new(), @@ -1360,7 +1340,11 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> { if self.embedder_coordinates.viewport != old_coords.viewport { let mut transaction = Transaction::new(); - transaction.set_document_view(self.embedder_coordinates.get_viewport()); + let size = self.embedder_coordinates.get_viewport(); + transaction.set_document_view(size); + if let Err(e) = self.rendering_context.resize(size.size().to_untyped()) { + warn!("Failed to resize surface: {e:?}"); + } self.webrender_api .send_transaction(self.webrender_document, transaction); } |