ladybird/Userland/Libraries
Andreas Kling cfe663435e LibWeb+LibJS: Don't lazily construct web prototypes in cell constructors
It's not safe to allocate from the GC heap while in the constructor of a
GC heap cell. (Because if this ends up triggering a collection, we may
end up trying to call through an uninitialized vtable).

This was already done safely in the initialize() virtual in much of
LibJS and LibWeb. This patch moves the logic for prototypes, mixins,
and CSSStyleDeclaration as well.

Fixes a long-standing GC crash that was pretty easy to reproduce by
refreshing https://vercel.com/
2023-05-21 14:23:58 +02:00
..
LibArchive LibArchive: Read Tar archive headers through read_value 2023-03-13 15:16:20 +00:00
LibAudio LibAudio: Compute and verify FLAC frame header checksums 2023-05-18 22:23:15 +02:00
LibC Userland: Silence or resolve new GCC 13 warnings 2023-05-15 07:00:29 +02:00
LibCards Base+LibCards: Move card backs from /icons/ to /graphics/ 2023-05-05 11:52:33 +01:00
LibChess AK: Add the Input word to input-only buffered streams 2023-05-09 11:18:46 +02:00
LibCMake LibSyntax+Libraries: Replace TextStyle with Gfx::TextAttributes 2023-03-15 14:55:49 +01:00
LibCodeComprehension LibCodeComprehension: Remove unused #include <DeprecatedFile.h> 2023-05-21 07:52:41 +02:00
LibCompress LibCompress: Move two shared LZMA magic numbers into a common place 2023-05-19 23:40:33 +02:00
LibConfig LibCore: Big first step towards pluggable Core::EventLoop 2023-04-25 14:48:40 +02:00
LibCore LibCore: Migrate Command from Deprecated{File,String} 2023-05-19 23:31:20 +02:00
LibCoredump LibCoredump+CrashReporter: Make CrashReporter work on AArch64 2023-04-23 14:30:59 +02:00
LibCpp LibCpp: Support for parsing c-style fixed arrays (arr[2]) 2023-04-26 09:40:25 +01:00
LibCrypt LibCrypt: Start installing headers again 2023-03-20 09:33:30 +01:00
LibCrypto LibCrypto: Add a checksumming stream wrapper 2023-05-18 22:23:15 +02:00
LibDebug LibDebug: Prefer File::read_until_eof over DeprecatedFile 2023-05-19 23:31:20 +02:00
LibDesktop Everywhere: Remove NonnullRefPtr.h includes 2023-03-06 23:46:35 +01:00
LibDeviceTree Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
LibDiff LibDiff: Make Diff::generate_only_additions take text as StringView 2022-12-20 10:58:54 +01:00
LibDNS AK: Rename Stream::write_entire_buffer to Stream::write_until_depleted 2023-03-13 15:16:20 +00:00
LibDSP Piano: Allow per-track controls (again) 2023-05-05 01:32:09 +02:00
LibEDID LibEDID: Fix compiler error when ENABLE_PNP_IDS_DOWNLOAD=OFF 2023-04-06 10:26:21 -04:00
LibELF LibELF: Only call IFUNC resolvers after populating the PLT 2023-05-14 13:47:53 +02:00
LibFileSystem Userland: Allow our access check to pass flags to faccessat syscall 2023-05-13 17:59:37 -06:00
LibFileSystemAccessClient LibFileSystemAccessClient: Improve error propagation 2023-05-19 06:20:41 +02:00
LibGemini AK+Everywhere: Change URL::path() to serialize_path() 2023-04-15 06:37:04 +02:00
LibGfx LibGfx: Add Color::with_opacity(float opacity) 2023-05-20 08:52:19 +02:00
LibGL LibGL: Implement support for the GL_RGB5_A1 internal image format 2023-05-04 16:11:28 +02:00
LibGLSL Everywhere: Use _{short_,}string to create Strings from literals 2023-02-25 20:51:49 +01:00
LibGPU LibGPU: Remove DeprecatedString usage 2023-01-30 13:49:52 -05:00
LibGUI Clipboard: Avoid unnecessary IPC::Dictionary wrapper 2023-05-21 07:53:45 +02:00
LibHTTP AK+Everywhere: Change URL::path() to serialize_path() 2023-04-15 06:37:04 +02:00
LibIDL LibIDL: Avoid unnecessary HashMap copy 2023-05-19 22:33:57 +02:00
LibImageDecoderClient LibImageDecoderClient: Fix minor const-correctness issue 2023-02-21 00:54:04 +01:00
LibIMAP Everywhere: Remove unintentional partial stream reads and writes 2023-03-13 15:16:20 +00:00
LibIPC LibIPC: Remove redundant IPC::Dictionary type 2023-05-21 07:53:45 +02:00
LibJS LibWeb+LibJS: Don't lazily construct web prototypes in cell constructors 2023-05-21 14:23:58 +02:00
LibKeyboard LibKeyboard: Read keymap through File, not DeprecatedFile 2023-05-12 19:46:54 +01:00
LibLine LibLine: Prefer File::read_until_eof over DeprecatedFile::read_all 2023-05-19 21:36:37 +02:00
LibLocale Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
LibMain
LibManual LibManual: Allow querying on a help URL 2023-05-08 21:03:19 -06:00
LibMarkdown LibMarkdown+LibSyntax: Add a Markdown syntax highlighter 2023-05-05 17:08:40 +01:00
LibPartition LibPartition: Make Kernel parts const-correct re: StorageDevice& 2023-02-21 00:54:04 +01:00
LibPCIDB AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibPDF LibPDF: Avoid unnecessary HashMap copy, mark other copies 2023-05-19 22:33:57 +02:00
LibProtocol WebSocket: Avoid unnecessary IPC::Dictionary wrapper 2023-05-21 07:53:45 +02:00
LibRegex LibRegex: Avoid calling GenericLexer::consume() past EOF 2023-04-14 12:33:54 +02:00
LibSanitizer
LibSoftGPU LibSoftGPU: Use multiplication instead of division for linear fog 2023-02-18 01:45:00 +01:00
LibSQL AK: Add the Input word to input-only buffered streams 2023-05-09 11:18:46 +02:00
LibSymbolication LibSymbolication: Use Core::File instead of Core::DeprecatedFile 2023-04-27 07:27:14 +02:00
LibSyntax LibMarkdown+LibSyntax: Add a Markdown syntax highlighter 2023-05-05 17:08:40 +01:00
LibSystem
LibTest LibTest: Add a EXPECT_APPROXIMATE_WITH_ERROR macro with custom error 2023-04-30 00:46:11 +02:00
LibTextCodec LibTextCodec: Change UTF-8's decoder to replace invalid code points 2023-05-12 05:47:36 +02:00
LibThreading LibThreading: Only run on_error callback when action wasn't canceled 2023-05-17 22:40:15 -06:00
LibTimeZone AK+LibTimeZone: Add debug only formatter for Optional 2023-04-28 09:42:28 +02:00
LibTLS LibTLS: Avoid unnecessary HashMap copies, improve const-correctness 2023-05-19 22:33:57 +02:00
LibUnicode AK+LibUnicode: Implement String::equals_ignoring_case without allocating 2023-03-08 18:57:53 +00:00
LibUSBDB AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibVideo LibVideo: Add PlaybackManager::from_mapped_file 2023-05-14 15:56:49 -06:00
LibVirtGPU LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
LibVT LibVT: Correctly wrap text when the scrollbar is hidden 2023-05-16 12:47:16 +02:00
LibWasm LibWasm: Change dir_fd to auto instead of int 2023-05-20 03:27:38 +03:30
LibWeb LibWeb+LibJS: Don't lazily construct web prototypes in cell constructors 2023-05-21 14:23:58 +02:00
LibWebSocket AK+Everywhere: Change URL::path() to serialize_path() 2023-04-15 06:37:04 +02:00
LibWebView Browser+Ladybird+LibWebView: Handle trivial content APIs in LibWebView 2023-05-17 19:47:05 +02:00
LibX86 LibX86: Remove i686 support 2022-12-28 11:53:41 +01:00
LibXML LibXML: Notify the listener about the root node as well 2023-05-05 01:33:49 +02:00
CMakeLists.txt LibFileSystem: Create LibFileSystem 2023-03-21 19:03:21 +00:00