ladybird/Ladybird
Timothy Flynn c4e2c725ec Ladybird/Qt: Ensure the Inspector widget is deleted before the WebView
According to Qt documentation, destruction of a QObject's children may
happen in any order. In our case, the Tab's WebContentView is deleted
before its InspectorWidget. The InspectorWidget performs cleanup on that
WebContentView in its destructor; this causes use-after-free since it
has already been destroyed.

From reading Qt threads, if a particular destruction order is required,
it is okay to enforce that order with manual `delete`s. This patch does
so with the InspectorWidget to ensure it is deleted before the
WebContentView. Qt's object ownership is okay with this - it will remove
the InspectorWidget from the Tab's children, preventing any double
deletion.
2023-12-29 15:48:06 +01:00
..
Android LibWeb: Use resources to find internal HTML template paths 2023-12-27 10:54:07 -05:00
AppKit Ladybird+BrowserSettings: Load the NTP/home resource files with LibWeb 2023-12-24 14:09:23 +01:00
cmake Ladybird: Install required html and inspector files in the CMake build 2023-12-08 19:50:02 -05:00
Icons Ladybird: Add app icon for macOS 2023-08-04 15:36:37 -06:00
ImageDecoder Ladybird: Enable rich debug messages on all processes 2023-12-12 10:11:24 -07:00
Qt Ladybird/Qt: Ensure the Inspector widget is deleted before the WebView 2023-12-29 15:48:06 +01:00
RequestServer Ladybird: Enable rich debug messages on all processes 2023-12-12 10:11:24 -07:00
SQLServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebContent LibWeb: Use resources to find internal HTML template paths 2023-12-27 10:54:07 -05:00
WebDriver Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebSocket Ladybird: Enable rich debug messages on all processes 2023-12-12 10:11:24 -07:00
WebWorker LibWeb: Use resources to find internal HTML template paths 2023-12-27 10:54:07 -05:00
.gitignore Ladybird: Add new template Kotlin Android application without Qt 2023-09-03 11:38:51 +02:00
CMakeLists.txt Meta: Disable -fsanitize=function on macOS with clang 17 or higher 2023-12-20 12:25:40 -07:00
FontPlugin.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
FontPlugin.h LibWeb: Make FontPlugin::generic_font_name() return FlyString 2023-09-06 11:29:03 -04:00
HelperProcess.cpp Ladybird: Add command line flag to wait for debugger in WebContent 2023-12-21 19:03:40 +01:00
HelperProcess.h Ladybird+LibWebView: Move options used to launch WebContent to a struct 2023-12-01 20:07:27 -05:00
ImageCodecPlugin.cpp Ladybird/Android: Create a service for ImageDecoder 2023-11-01 14:30:30 -06:00
ImageCodecPlugin.h Ladybird: Decode images out of process 2023-10-27 07:26:32 +02:00
Info.plist Ladybird: Register Ladybird as a browser-type application on macOS 2023-11-14 09:36:36 -05:00
ladybird.nix Ladybird: Use gcc13 in ladybird.nix 2023-10-31 18:09:14 +01:00
README.md Documentation: Homogenize Ladybird build instructions 2023-05-08 20:53:25 -06:00
Types.h Ladybird: Add command line flag to wait for debugger in WebContent 2023-12-21 19:03:40 +01:00
Utilities.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Utilities.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30

Ladybird

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

For more information about Ladybird, see this blog post.

See build instructions.