ladybird/Userland/Libraries/LibWeb/DOM
Andreas Kling c9700e100e LibWeb: Start making our layout system "transactional"
This patch adds a map of Layout::Node to FormattingState::NodeState.
Instead of updating layout nodes incrementally as layout progresses
through the formatting contexts, all updates are now written to the
corresponding NodeState instead.

At the end of layout, FormattingState::commit() is called, which
transfers all the values from the NodeState objects to the Node.

This will soon allow us to perform completely non-destructive layouts
which don't affect the tree.

Note that there are many imperfections here, and still many places
where we assign to the NodeState, but later read directly from the Node
instead. I'm just committing at this stage to make subsequent diffs
easier to understand.
2022-02-21 18:35:12 +01:00
..
AbortController.cpp LibWeb: Rewrite EventTarget to more closely match the spec 2022-02-08 17:47:44 +00:00
AbortController.h LibWeb: Rewrite EventTarget to more closely match the spec 2022-02-08 17:47:44 +00:00
AbortController.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
AbortSignal.cpp LibWeb: Rewrite EventTarget to more closely match the spec 2022-02-08 17:47:44 +00:00
AbortSignal.h LibWeb: Rewrite EventTarget to more closely match the spec 2022-02-08 17:47:44 +00:00
AbortSignal.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
Attribute.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
Attribute.h LibWeb: Move QualifiedName.h into LibWeb/DOM/ 2022-02-19 14:45:59 +01:00
Attribute.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
CharacterData.cpp
CharacterData.h
CharacterData.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
ChildNode.h LibWeb: Implement ChildNode.replaceWith 2022-01-31 15:25:36 +01:00
Comment.cpp
Comment.h
Comment.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
CustomEvent.cpp
CustomEvent.h
CustomEvent.idl
Document.cpp LibWeb: Start making our layout system "transactional" 2022-02-21 18:35:12 +01:00
Document.h LibWeb: Add basic support for dynamic markup insertion 2022-02-21 18:26:43 +01:00
Document.idl LibWeb: Add basic support for dynamic markup insertion 2022-02-21 18:26:43 +01:00
DocumentFragment.cpp
DocumentFragment.h
DocumentFragment.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
DocumentLoadEventDelayer.cpp
DocumentLoadEventDelayer.h
DocumentType.cpp
DocumentType.h
DocumentType.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
DOMEventListener.cpp LibWeb: Separate "event listener" from "EventListener" 2022-02-16 22:21:45 +01:00
DOMEventListener.h LibWeb: Use public inheritance for the RefCounted base class 2022-02-17 11:16:18 +01:00
DOMException.h
DOMException.idl
DOMImplementation.cpp LibWeb: Make DOMImplementation forward its ref count to DOM::Document 2021-12-09 21:28:52 +01:00
DOMImplementation.h LibWeb: Make DOMImplementation forward its ref count to DOM::Document 2021-12-09 21:28:52 +01:00
DOMImplementation.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
DOMTokenList.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
DOMTokenList.h Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
DOMTokenList.idl
Element.cpp LibWeb: Move QualifiedName into the Web::DOM namespace 2022-02-19 14:45:59 +01:00
Element.h LibWeb: Move QualifiedName into the Web::DOM namespace 2022-02-19 14:45:59 +01:00
Element.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
ElementFactory.cpp LibWeb: Add SVG <polygon> element and test case :^) 2022-02-11 21:38:27 +01:00
ElementFactory.h
Event.cpp
Event.h
Event.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
EventDispatcher.cpp LibWeb: Shrink DOM::EventTarget by 80 bytes 2022-02-19 14:45:59 +01:00
EventDispatcher.h LibWeb: Separate "event listener" from "EventListener" 2022-02-16 22:21:45 +01:00
EventTarget.cpp LibWeb: Add support for the options variant of {add,remove}EventListener 2022-02-20 02:03:24 +01:00
EventTarget.h LibWeb: Add support for the options variant of {add,remove}EventListener 2022-02-20 02:03:24 +01:00
EventTarget.idl LibWeb: Add support for the options variant of {add,remove}EventListener 2022-02-20 02:03:24 +01:00
ExceptionOr.h
HTMLCollection.cpp
HTMLCollection.h
HTMLCollection.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
IDLEventListener.h LibWeb: Add support for the options variant of {add,remove}EventListener 2022-02-20 02:03:24 +01:00
LiveNodeList.cpp
LiveNodeList.h
NamedNodeMap.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
NamedNodeMap.h Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
NamedNodeMap.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
Node.cpp LibWeb: Implement Node.nodeValue DOM attribute 2022-02-21 16:31:45 +01:00
Node.h LibWeb: Implement Node.nodeValue DOM attribute 2022-02-21 16:31:45 +01:00
Node.idl LibWeb: Implement Node.nodeValue DOM attribute 2022-02-21 16:31:45 +01:00
NodeList.h
NodeList.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
NodeOperations.cpp LibWeb: Implement ParentNode.prepend 2022-01-31 15:25:36 +01:00
NodeOperations.h LibWeb: Implement ParentNode.prepend 2022-01-31 15:25:36 +01:00
NonDocumentTypeChildNode.h LibWeb: Implement EventHandler::focus_previous_element() 2022-02-08 22:15:10 +00:00
NonElementParentNode.h
ParentNode.cpp LibWeb: Implement ParentNode.replaceChildren 2022-01-31 15:25:36 +01:00
ParentNode.h LibWeb: Implement ParentNode.replaceChildren 2022-01-31 15:25:36 +01:00
Position.cpp
Position.h
ProcessingInstruction.cpp
ProcessingInstruction.h
ProcessingInstruction.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
QualifiedName.cpp LibWeb: Share QualifiedName data between identical instances 2022-02-19 14:45:59 +01:00
QualifiedName.h LibWeb: Share QualifiedName data between identical instances 2022-02-19 14:45:59 +01:00
Range.cpp
Range.h
Range.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
ShadowRoot.cpp LibWeb: Compute element style in Layout::TreeBuilder 2022-02-05 22:50:39 +01:00
ShadowRoot.h LibWeb: Compute element style in Layout::TreeBuilder 2022-02-05 22:50:39 +01:00
ShadowRoot.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
StaticNodeList.cpp
StaticNodeList.h
Text.cpp LibWeb: Fire "input" and "change" events when editing a text <input> 2022-02-17 16:33:54 +01:00
Text.h LibWeb: Fire "input" and "change" events when editing a text <input> 2022-02-17 16:33:54 +01:00
Text.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
Timer.cpp LibWeb: Rewrite EventTarget to more closely match the spec 2022-02-08 17:47:44 +00:00
Timer.h LibWeb: Rewrite EventTarget to more closely match the spec 2022-02-08 17:47:44 +00:00
Window.cpp LibWeb: Add Storage interface and window.localStorage 2022-02-08 21:53:20 +01:00
Window.h LibWeb: Add Storage interface and window.localStorage 2022-02-08 21:53:20 +01:00