mirror of
https://github.com/servo/servo
synced 2026-05-13 02:17:06 +02:00
For a while Servo has while had a somewhat unfinished multi-document interface API that was meant to implement a kind of window manager inside a single `RenderingContext`. This came with some focus handling and a paint order implementation. This code was never really finished and the `WebView` API is moving toward a design where compositing different `WebView`s together is up to the embedder. This is finally possible now that rendering to multiple `RenderingContext`s is supported. In addition, the MDI API interferes with focus handling when `WebView`s are distributed across windows. Given these two points, this change starts to remove the MDI API. - All `WebView`s can still be hidden / unhidden and start in an unhidden state. - All `WebView`s always have system focus. System focus never properly interfaced with Servo's internal focus system anyway. A followup change will add proper system focus integration. - There are still some leftovers from the MDI interface (such as `WebView`s having their own size). These will be cleaned up in a followup change. Only the changes necessary to get multi-window support working are included here. Testing: This should not change observable behavior and tests are updated for the new APIs. Signed-off-by: Martin Robinson <mrobinson@igalia.com>