ladybird/Ladybird
Andreas Kling 26a7ea0e0f Ladybird: Render web content in a separate process :^)
This patch brings over the WebContent process over from SerenityOS
to Ladybird, along with a new WebContentView widget that renders
web content in a separate process.

There's a lot of jank and FIXME material here, notably I had to re-add
manually pumped Core::EventLoop instances on both sides, in order to get
the IPC protocol running. This introduces a lot of latency and we should
work towards replacing those loops with improved abstractions.

The WebContent process is built separately here (not part of Lagom) and
we provide our own main.cpp for it. Like everything, this can be better
architected, it's just a starting point. :^)
2022-12-25 07:58:58 -07:00
..
android Ladybird/Meta: Add Android build 2022-12-25 07:58:58 -07:00
cmake Ladybird/SimpleWebView: Install and check for content filters in res/ 2022-12-25 07:58:58 -07:00
Documentation Ladybird/Meta: Split out build instructions to a separate document 2022-12-25 07:58:58 -07:00
WebContent Ladybird: Render web content in a separate process :^) 2022-12-25 07:58:58 -07:00
.gitignore Ladybird/Meta: Add Android build 2022-12-25 07:58:58 -07:00
AndroidPlatform.cpp Ladybird/Meta: Add Android build 2022-12-25 07:58:58 -07:00
BrowserWindow.cpp Ladybird: Render web content in a separate process :^) 2022-12-25 07:58:58 -07:00
BrowserWindow.h Ladybird: Render web content in a separate process :^) 2022-12-25 07:58:58 -07:00
CMakeLists.txt Ladybird: Render web content in a separate process :^) 2022-12-25 07:58:58 -07:00
ConsoleClient.cpp Ladybird/ConsoleClient: Implement console message styling with %c 2022-12-25 07:58:58 -07:00
ConsoleClient.h Ladybird/ConsoleClient: Implement console message styling with %c 2022-12-25 07:58:58 -07:00
ConsoleGlobalObject.cpp Ladybird: Remove redundant use of impl() 2022-12-25 07:58:58 -07:00
ConsoleGlobalObject.h Ladybird: Fix build after LibWeb+LibJS GC changes 2022-12-25 07:58:58 -07:00
CookieJar.cpp Ladybird/Everywhere: Replace "protocol" with "scheme" url helpers 2022-12-25 07:58:58 -07:00
CookieJar.h Ladybird: Implement basic cookie support 2022-12-25 07:58:58 -07:00
EventLoopPluginQt.cpp Ladybird: Use only the Qt event loop to speed everything up :^) 2022-12-25 07:58:58 -07:00
EventLoopPluginQt.h Ladybird: Use only the Qt event loop to speed everything up :^) 2022-12-25 07:58:58 -07:00
FontPluginQt.cpp Ladybird/FontPluginQt: Initialize the default fixed-width font 2022-12-25 07:58:58 -07:00
FontPluginQt.h Ladybird/FontPluginQt: Implement default font virtuals 2022-12-25 07:58:58 -07:00
History.cpp Ladybird/History: Ignore title updates when history has no current item 2022-12-25 07:58:58 -07:00
History.h Ladybird: Expanded toolbar with browser history and home button 2022-12-25 07:58:58 -07:00
ImageCodecPluginLadybird.cpp Ladybird: Implement the Web::Platform::ImageCodecPlugin interface 2022-12-25 07:58:58 -07:00
ImageCodecPluginLadybird.h Ladybird: Implement the Web::Platform::ImageCodecPlugin interface 2022-12-25 07:58:58 -07:00
Info.plist Ladybird/Meta: Use reverse domain name notation in property list files 2022-12-25 07:58:58 -07:00
LICENSE.md Ladybird: Add a separate license file 2022-12-25 07:58:58 -07:00
main.cpp Ladybird: Render web content in a separate process :^) 2022-12-25 07:58:58 -07:00
ModelTranslator.cpp Ladybird: Add a very simple DOM inspector 2022-12-25 07:58:58 -07:00
ModelTranslator.h Ladybird: Add a ModelTranslator to translate a GUI::Model to a Qt model 2022-12-25 07:58:58 -07:00
PageClientLadybird.cpp Ladybird: Rename WebView to SimpleWebView 2022-12-25 07:58:58 -07:00
PageClientLadybird.h Ladybird: Rename WebView to SimpleWebView 2022-12-25 07:58:58 -07:00
README.md Ladybird/Meta: Split out build instructions to a separate document 2022-12-25 07:58:58 -07:00
RequestManagerQt.cpp Ladybird/Everywhere: Replace "protocol" with "scheme" url helpers 2022-12-25 07:58:58 -07:00
RequestManagerQt.h Ladybird: Use QtNetwork for HTTP and HTTPS requests 2022-12-25 07:58:58 -07:00
Settings.cpp Ladybird/Everywhere: Ensure that Qt objects are created with parents 2022-12-25 07:58:58 -07:00
Settings.h Ladybird/Everywhere: Ensure that Qt objects are created with parents 2022-12-25 07:58:58 -07:00
SettingsDialog.cpp Ladybird/Everywhere: Ensure that Qt objects are created with parents 2022-12-25 07:58:58 -07:00
SettingsDialog.h Ladybird: Allow for setting the hompage through SettingsDialog 2022-12-25 07:58:58 -07:00
Tab.cpp Ladybird: Render web content in a separate process :^) 2022-12-25 07:58:58 -07:00
Tab.h Ladybird: Render web content in a separate process :^) 2022-12-25 07:58:58 -07:00
TimerQt.cpp Ladybird: Use only the Qt event loop to speed everything up :^) 2022-12-25 07:58:58 -07:00
TimerQt.h Ladybird: Use only the Qt event loop to speed everything up :^) 2022-12-25 07:58:58 -07:00
Utilities.cpp Ladybird: Render web content in a separate process :^) 2022-12-25 07:58:58 -07:00
Utilities.h Ladybird: Render web content in a separate process :^) 2022-12-25 07:58:58 -07:00
WebContentView.cpp Ladybird: Render web content in a separate process :^) 2022-12-25 07:58:58 -07:00
WebContentView.h Ladybird: Render web content in a separate process :^) 2022-12-25 07:58:58 -07:00
WebSocketClientManagerLadybird.cpp Ladybird/WebView: Move WebSocket stuff to its own files 2022-12-25 07:58:58 -07:00
WebSocketClientManagerLadybird.h Ladybird/WebView: Move WebSocket stuff to its own files 2022-12-25 07:58:58 -07:00
WebSocketLadybird.cpp Ladybird/WebView: Move WebSocket stuff to its own files 2022-12-25 07:58:58 -07:00
WebSocketLadybird.h Ladybird/WebView: Move WebSocket stuff to its own files 2022-12-25 07:58:58 -07:00

Ladybird

Ladybird is a web browser built on the LibWeb and LibJS engines from SerenityOS with a cross-platform GUI in Qt.

This is part of the greater SerenityOS project, and the separate repository may eventually be integrated in the serenity monorepo.

For more information about Ladybird, see this blog post.

See build instructions.