LibWebView: Generate window handle during client creation

Generate handle UUID for top-level context that is going to
run in created WebContent process and sent it over IPC.

Co-authored-by: Timothy Flynn <trflynn89@pm.me>
This commit is contained in:
Aliaksandr Kalenik 2023-03-16 18:31:08 +03:00 committed by Tim Flynn
parent 6c052c45db
commit 7c90c67a71
Notes: sideshowbarker 2024-07-17 00:53:02 +09:00

View File

@ -19,6 +19,7 @@
#include <LibGfx/Font/FontDatabase.h>
#include <LibGfx/Palette.h>
#include <LibGfx/SystemTheme.h>
#include <LibWeb/Crypto/Crypto.h>
REGISTER_WIDGET(WebView, OutOfProcessWebView)
@ -69,6 +70,9 @@ void OutOfProcessWebView::create_client()
});
};
m_client_state.client_handle = Web::Crypto::generate_random_uuid().release_value_but_fixme_should_propagate_errors();
client().async_set_window_handle(m_client_state.client_handle);
client().async_update_system_theme(Gfx::current_system_theme_buffer());
client().async_update_system_fonts(Gfx::FontDatabase::default_font_query(), Gfx::FontDatabase::fixed_width_font_query(), Gfx::FontDatabase::window_title_font_query());
client().async_update_screen_rects(GUI::Desktop::the().rects(), GUI::Desktop::the().main_screen_index());