1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:38:11 +00:00
serenity/Meta/Lagom/Tools/CodeGenerators/LibWeb
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
..
BindingsGenerator LibWeb+LibJS: Don't lazily construct web prototypes in cell constructors 2023-05-21 14:23:58 +02:00
CMakeLists.txt LibWeb: Add new code generator for creating exposed interface helpers 2022-10-09 10:14:57 +02:00
GenerateCSSEnums.cpp CodeGenerators: Ensure that we always print the entire generated output 2023-03-13 15:16:20 +00:00
GenerateCSSMediaFeatureID.cpp CodeGenerators: Ensure that we always print the entire generated output 2023-03-13 15:16:20 +00:00
GenerateCSSPropertyID.cpp LibWeb: Propagate errors from parse_css_value and property_initial_value 2023-05-06 08:07:28 +02:00
GenerateCSSTransformFunctions.cpp CodeGenerators: Ensure that we always print the entire generated output 2023-03-13 15:16:20 +00:00
GenerateCSSValueID.cpp AK: Rename CaseInsensitiveStringViewTraits to reflect intent 2023-03-14 21:34:32 +00:00
GenerateWindowOrWorkerInterfaces.cpp AK+Everywhere: Disallow Error::from_string_view(FooString) 2023-04-28 05:55:20 +02:00
GeneratorUtil.h AK: Rename Stream::read_entire_buffer to Stream::read_until_filled 2023-03-13 15:16:20 +00:00