1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 11:04:59 +00:00

Ladybird: Add ability to create a tab without creating a new WebContent

This commit is contained in:
Andrew Kaster 2024-01-30 09:12:14 -07:00 committed by Tim Flynn
parent 506707cc2b
commit 48ce8fb4e9
11 changed files with 36 additions and 21 deletions

View file

@ -28,7 +28,7 @@ OutOfProcessWebView::OutOfProcessWebView()
set_should_hide_unnecessary_scrollbars(true);
set_focus_policy(GUI::FocusPolicy::StrongFocus);
create_client();
initialize_client(CreateNewClient::Yes);
on_did_layout = [this](auto content_size) {
set_content_size(content_size);
@ -81,8 +81,10 @@ OutOfProcessWebView::OutOfProcessWebView()
OutOfProcessWebView::~OutOfProcessWebView() = default;
void OutOfProcessWebView::create_client()
void OutOfProcessWebView::initialize_client(WebView::ViewImplementation::CreateNewClient)
{
// FIXME: Don't create a new process when CreateNewClient is false
// We should create a new tab/window in the UI instead, and re-use the existing WebContentClient object.
m_client_state = {};
m_client_state.client = WebContentClient::try_create(*this).release_value_but_fixme_should_propagate_errors();