diff options
author | Andreas Kling <kling@serenityos.org> | 2022-08-28 13:42:07 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-09-06 00:27:09 +0200 |
commit | 6f433c86564c24d47d520cb5bdcc2209d724ac96 (patch) | |
tree | 886a2f727782e466e99c61c628637872c1b7403f /Documentation/Browser/AddNewIDLFile.md | |
parent | bb547ce1c4251e3689287eac845593398a379ca5 (diff) | |
download | serenity-6f433c86564c24d47d520cb5bdcc2209d724ac96.zip |
LibWeb+LibJS: Make the EventTarget hierarchy (incl. DOM) GC-allocated
This is a monster patch that turns all EventTargets into GC-allocated
PlatformObjects. Their C++ wrapper classes are removed, and the LibJS
garbage collector is now responsible for their lifetimes.
There's a fair amount of hacks and band-aids in this patch, and we'll
have a lot of cleanup to do after this.
Diffstat (limited to 'Documentation/Browser/AddNewIDLFile.md')
-rw-r--r-- | Documentation/Browser/AddNewIDLFile.md | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/Documentation/Browser/AddNewIDLFile.md b/Documentation/Browser/AddNewIDLFile.md index 3147d361da..7a59a34500 100644 --- a/Documentation/Browser/AddNewIDLFile.md +++ b/Documentation/Browser/AddNewIDLFile.md @@ -38,10 +38,5 @@ interface CSSRule { - It must inherit from `public RefCounted<HTMLDetailsElement>` and `public Bindings::Wrappable` - It must have a public `using WrapperType = Bindings::HTMLDetailsElementWrapper;` -7. Depending on what kind of thing your interface is, you may need to add it to the `WrapperFactory` of that kind: - - Elements: [`LibWeb/Bindings/NodeWrapperFactory.cpp`](../../Userland/Libraries/LibWeb/Bindings/NodeWrapperFactory.cpp) - - Open the relevant wrapper factory file, and add `#include` directives and an `if` statement for your new type. - 8. If your type isn't an Event or Element, you will need to add it to [`is_wrappable_type()`](../../Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp) so that it can be accepted as an IDL parameter, attribute or return type. |