1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 18:18:12 +00:00
serenity/Libraries/LibWeb
Andreas Kling f79e28bd65 LibWeb: Break reference cycles so DOM::Document actually gets deleted
When a document reaches ref_count==0, we will now remove all of the
descendant nodes from the document, and also break all the explicit
links (such as the currently hovered element.)

Basically, DOM nodes will keep the document alive even after the
document reaches ref_count==0. This allows JS wrappers to stay alive
and keep the document alive as well. This matches the behavior of
at least some other browsers.

This patch also adds a bunch of sanity checking assertions around
DOM teardown, to help catch mistakes in the future.

Fixes #3771.
2020-10-22 23:41:32 +02:00
..
Bindings LibWeb: Add empty IDL bindings for current SVG elements 2020-10-03 00:30:49 +02:00
CodeGenerators LibWeb: Add empty IDL bindings for current SVG elements 2020-10-03 00:30:49 +02:00
CSS LibWeb: Cache the default font if we fail to find the specified font 2020-10-10 23:25:19 +02:00
DOM LibWeb: Break reference cycles so DOM::Document actually gets deleted 2020-10-22 23:41:32 +02:00
HighResolutionTime LibWeb: Implement performance.timeOrigin 2020-09-29 18:31:07 +02:00
HTML LibWeb: Add initial implementation of foreign content parsing 2020-10-22 15:24:42 +02:00
Layout LibWeb: Use smart pointers between DOM and Layout tree 2020-10-22 20:26:32 +02:00
Loader LibWeb: Add namespace to Element 2020-10-22 15:24:42 +02:00
Page LibWeb: Forget frame selection when changing documents 2020-10-22 23:23:57 +02:00
Painting LibWeb: Add a basic SVGContext object, add to PaintContext 2020-10-10 23:28:41 +02:00
Scripts LibWeb: Move CSS classes into the Web::CSS namespace 2020-07-26 20:05:15 +02:00
SVG LibWeb: Add initial implementation of foreign content parsing 2020-10-22 15:24:42 +02:00
Tests LibWeb: Add initial implementation of foreign content parsing 2020-10-22 15:24:42 +02:00
UIEvents LibWeb: Oops, provide the correct WrapperType for UIEvent 2020-07-28 19:40:11 +02:00
CMakeLists.txt LibWeb: Add namespace to Element 2020-10-22 15:24:42 +02:00
DOMTreeModel.cpp LibWeb: Implement <template> parsing 2020-08-21 11:57:11 +02:00
DOMTreeModel.h LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
Dump.cpp LibWeb: Implement <template> parsing 2020-08-21 11:57:11 +02:00
Dump.h LibWeb: Move CSS classes into the Web::CSS namespace 2020-07-26 20:05:15 +02:00
FontCache.cpp LibWeb: Rename directory LibHTML => LibWeb 2020-03-07 10:32:51 +01:00
FontCache.h LibWeb: Use FlyString in FontCache keys 2020-05-26 23:45:48 +02:00
Forward.h TextEditor: Replace InProcessWebView with OutOfProcessWebView 2020-10-08 23:20:52 +02:00
InProcessWebView.cpp LibWeb: Add FrameLoader::load_html() 2020-10-08 23:20:52 +02:00
InProcessWebView.h LibWeb: Add a PageClient callback for image context menu requests 2020-10-02 19:02:47 +02:00
LayoutTreeModel.cpp LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
LayoutTreeModel.h LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
Namespace.cpp LibWeb: Add namespace to Element 2020-10-22 15:24:42 +02:00
Namespace.h LibWeb: Add namespace to Element 2020-10-22 15:24:42 +02:00
Origin.h LibWeb: Add Origin::is_same(const Origin&) 2020-09-22 20:10:20 +02:00
OutOfProcessWebView.cpp LibWeb: Handle theme change event in OutOfProcessWebView 2020-10-08 23:20:52 +02:00
OutOfProcessWebView.h LibWeb: Handle theme change event in OutOfProcessWebView 2020-10-08 23:20:52 +02:00
QualifiedName.h LibWeb: Add namespace to Element 2020-10-22 15:24:42 +02:00
StylePropertiesModel.cpp LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
StylePropertiesModel.h LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
TreeNode.h LibWeb: Break reference cycles so DOM::Document actually gets deleted 2020-10-22 23:41:32 +02:00
URLEncoder.cpp LibWeb: Use the URL encoder from AK instead of rolling a custom one 2020-06-15 17:56:00 +02:00
URLEncoder.h Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
WebContentClient.cpp LibWeb: Support window.alert() in multi-process context 2020-09-12 14:49:29 +02:00
WebContentClient.h LibWeb: Support window.alert() in multi-process context 2020-09-12 14:49:29 +02:00
WebViewHooks.h LibWeb: Add a PageClient callback for image context menu requests 2020-10-02 19:02:47 +02:00