1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-19 03:15:08 +00:00
serenity/Libraries/LibWeb/DOM
Andreas Kling 385d744989 LibWeb: Use smart pointers between DOM and Layout tree
DOM::Node now points to its LayoutNode with a WeakPtr.
LayoutNode points to its DOM::Node and DOM::Document with RefPtrs.

Layout trees come and go in response to various events, so the DOM tree
already has to deal with that. The DOM should always live at least as
long as the layout tree, so this patch enforces that assumption by
making layout nodes keep their corresponding DOM objects alive.

This may not be optimal, but it removes a lot of ambiguous raw pointer
action which is not worth accomodating.
2020-10-22 20:26:32 +02:00
..
Attribute.h LibWeb: Move Attribute to its own header file 2020-05-22 21:45:00 +02:00
CharacterData.cpp LibWeb: Move DOM classes into the Web::DOM namespace 2020-07-26 20:05:15 +02:00
CharacterData.h LibWeb: Add CharacterData and Text IDL interfaces 2020-08-03 20:50:45 +02:00
CharacterData.idl LibWeb: Add CharacterData and Text IDL interfaces 2020-08-03 20:50:45 +02:00
Comment.cpp LibWeb: Move DOM classes into the Web::DOM namespace 2020-07-26 20:05:15 +02:00
Comment.h LibWeb: Add Comment and DocumentFragment bindings, move querySelector... 2020-08-17 22:57:05 +02:00
Comment.idl LibWeb: Add Comment and DocumentFragment bindings, move querySelector... 2020-08-17 22:57:05 +02:00
Document.cpp LibWeb: Add namespace to Element 2020-10-22 15:24:42 +02:00
Document.h LibWeb: Tear down layout trees properly 2020-10-20 18:08:37 +02:00
Document.idl LibWeb: Implement document ready state 2020-08-31 23:05:51 +02:00
DocumentFragment.cpp LibWeb: Add Comment and DocumentFragment bindings, move querySelector... 2020-08-17 22:57:05 +02:00
DocumentFragment.h Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
DocumentFragment.idl LibWeb: Add Comment and DocumentFragment bindings, move querySelector... 2020-08-17 22:57:05 +02:00
DocumentType.cpp LibWeb: Move DOM classes into the Web::DOM namespace 2020-07-26 20:05:15 +02:00
DocumentType.h LibWeb: Move DOM classes into the Web::DOM namespace 2020-07-26 20:05:15 +02:00
DocumentType.idl LibWeb: Implement quirks mode detection 2020-07-21 01:08:32 +02:00
Element.cpp LibWeb: Add namespace to Element 2020-10-22 15:24:42 +02:00
Element.h LibWeb: Add namespace to Element 2020-10-22 15:24:42 +02:00
Element.idl LibWeb: Add namespace to Element 2020-10-22 15:24:42 +02:00
ElementFactory.cpp LibWeb: Add namespace to Element 2020-10-22 15:24:42 +02:00
ElementFactory.h LibWeb: Add namespace to Element 2020-10-22 15:24:42 +02:00
Event.h LibWeb: Add UIEvent class (base of MouseEvent, and others) 2020-07-28 19:39:17 +02:00
Event.idl LibWeb: Generate Event and MouseEvent bindings from IDL :^) 2020-06-21 16:12:28 +02:00
EventDispatcher.cpp LibWeb: Fix EventDispatcher::dispatch() 2020-10-15 20:40:35 +02:00
EventDispatcher.h LibWeb: Move DOM event dispatch to its own class 2020-09-06 14:48:14 +02:00
EventListener.cpp LibWeb: Move DOM classes into the Web::DOM namespace 2020-07-26 20:05:15 +02:00
EventListener.h LibWeb: Move DOM classes into the Web::DOM namespace 2020-07-26 20:05:15 +02:00
EventTarget.cpp LibWeb: Add Bindings::ScriptExecutionContext 2020-09-20 19:22:44 +02:00
EventTarget.h LibWeb: Add Bindings::ScriptExecutionContext 2020-09-20 19:22:44 +02:00
EventTarget.idl LibWeb: Add EventTarget.removeEventListener() 2020-06-21 12:37:34 +02:00
Node.cpp LibWeb: Use smart pointers between DOM and Layout tree 2020-10-22 20:26:32 +02:00
Node.h LibWeb: Use smart pointers between DOM and Layout tree 2020-10-22 20:26:32 +02:00
Node.idl LibWeb: Add Node.textContent 2020-08-17 21:23:11 +02:00
NonDocumentTypeChildNode.h LibWeb: Add NonDocumentTypeChildNode::next_element_in_pre_order() 2020-08-15 00:05:45 +02:00
NonElementParentNode.h LibWeb: Use RefPtrs more in getElementById() and getElementsByName() 2020-10-07 12:47:17 +02:00
ParentNode.cpp LibWeb: Add more document tests, add comment, text and mixin tests 2020-08-17 22:57:05 +02:00
ParentNode.h LibJS: Remove a whole bunch of includes of <LibJS/Interpreter.h> 2020-09-27 20:26:58 +02:00
Position.cpp LibWeb: Add a basic DOM::Position class 2020-08-02 17:34:50 +02:00
Position.h LibWeb: Allow inserting text at the cursor by typing characters :^) 2020-08-02 17:34:50 +02:00
TagNames.cpp LibWeb: Use modern namespaces and fix clang-format comments in tag names 2020-10-22 15:24:42 +02:00
TagNames.h LibWeb: Use modern namespaces and fix clang-format comments in tag names 2020-10-22 15:24:42 +02:00
Text.cpp LibWeb: Move CSS classes into the Web::CSS namespace 2020-07-26 20:05:15 +02:00
Text.h LibWeb: Add CharacterData and Text IDL interfaces 2020-08-03 20:50:45 +02:00
Text.idl LibWeb: Add CharacterData and Text IDL interfaces 2020-08-03 20:50:45 +02:00
Timer.cpp LibWeb: Remove a bunch of unnecessary <LibJS/Interpreter.h> includes 2020-09-29 17:04:16 +02:00
Timer.h LibWeb: Move DOM classes into the Web::DOM namespace 2020-07-26 20:05:15 +02:00
Window.cpp LibWeb: Make DOM::Window into an EventTarget 2020-10-18 13:43:44 +02:00
Window.h LibWeb: Make DOM::Window into an EventTarget 2020-10-18 13:43:44 +02:00
XMLHttpRequest.cpp LibWeb: Remove a bunch of unnecessary <LibJS/Interpreter.h> includes 2020-09-29 17:04:16 +02:00
XMLHttpRequest.h LibWeb: Move DOM event dispatch to its own class 2020-09-06 14:48:14 +02:00