1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:27:34 +00:00

Ladybird: Implement SQLServer for Ladybird :^)

This adds a SQLServer binary for Ladybird to make use of Serenity's SQL
implementation. This has to use the same IPC socket handling that was
used to make WebContent and WebDriver work out-of-process.

Unlike Serenity, Ladybird creates a new SQLServer instance for each
Ladybird instance. In the future, we should try to make sure there is
only one SQLServer instance at a time, and allow multiple Ladybird
instances to communicate with it.
This commit is contained in:
Timothy Flynn 2022-12-05 13:09:42 -05:00 committed by Andrew Kaster
parent a0cd260410
commit 2cb3ae132a
6 changed files with 127 additions and 10 deletions

View file

@ -4,9 +4,10 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include "Tab.h"
#include <AK/NonnullOwnPtrVector.h>
#include <Browser/CookieJar.h>
#include <LibCore/Forward.h>
#include <QIcon>
#include <QLineEdit>
@ -15,14 +16,16 @@
#include <QTabWidget>
#include <QToolBar>
#pragma once
class WebContentView;
namespace Browser {
class CookieJar;
}
class BrowserWindow : public QMainWindow {
Q_OBJECT
public:
explicit BrowserWindow(int webdriver_fd_passing_socket);
explicit BrowserWindow(Browser::CookieJar&, int webdriver_fd_passing_socket);
WebContentView& view() const { return m_current_tab->view(); }
@ -47,7 +50,7 @@ private:
NonnullOwnPtrVector<Tab> m_tabs;
Tab* m_current_tab { nullptr };
Browser::CookieJar m_cookie_jar;
Browser::CookieJar& m_cookie_jar;
int m_webdriver_fd_passing_socket { -1 };
};