ladybird/Userland/Libraries/LibWeb/DOM
Aliaksandr Kalenik 863416e3ac LibWeb: Make FC of containing block responsible for abspos layout
Before this change, a formatting context was responsible for layout of
absolutely positioned boxes whose FC root box was their parent (either
directly or indirectly). This only worked correctly when the containing
block of the absolutely positioned child did not escape the FC root.
This is because the width and height of an absolutely positioned box are
resolved based on the size of its containing block, so we needed to
ensure that the containing block's layout was completed before laying
out an absolutely positioned box.

With this change, the layout of absolutely positioned boxes is delayed
until the FC responsible for the containing block's layout is complete.
This has affected the way we calculate the static position. It is no
longer possible to ask the FC for a box's static position, as this FC's
state might be gone by the time the layout for absolutely positioned
elements occurs. Instead, the "static position rectangle" (a concept
from the spec) is saved in the layout state, along with information on
how to align the box within this rectangle when its width and height are
resolved.
2024-09-12 07:36:32 +02:00
..
AbortController.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
AbortController.h
AbortController.idl
AbortSignal.cpp LibWeb: Abort dependent signals before firing abort event 2024-09-09 12:48:30 +02:00
AbortSignal.h Userland: Add ESCAPING annotations to a bunch of places 2024-05-22 21:55:34 -06:00
AbortSignal.idl LibWeb: Specify the correct argument type in IDL for AbortSignal::any() 2024-05-13 23:45:45 +01:00
AbstractRange.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
AbstractRange.h
AbstractRange.idl
AccessibilityTreeNode.cpp LibJS+LibWeb: Use new Cell::Visitor helpers to avoid manual iteration 2024-04-16 07:40:01 +02:00
AccessibilityTreeNode.h
AdoptedStyleSheets.cpp LibWeb: Note what's causing a style invalidation to happen 2024-09-08 09:45:31 +02:00
AdoptedStyleSheets.h LibWeb: Add styleSheets and adoptedStyleSheets attributes in ShadowRoot 2024-03-09 16:13:32 +01:00
Attr.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
Attr.h LibWeb: Cache attribute names in lowercase to speed up selector matching 2024-03-16 14:27:59 +01:00
Attr.idl
CDATASection.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
CDATASection.h
CDATASection.idl
CharacterData.cpp LibWeb: Add Document helpers to move its cursor to word boundaries 2024-09-06 07:42:59 +02:00
CharacterData.h LibWeb: Add Document helpers to move its cursor to word boundaries 2024-09-06 07:42:59 +02:00
CharacterData.idl
ChildNode.h LibWeb: Fix infinite loop in ChildNode's before() and after() 2024-03-11 18:29:10 +01:00
ChildNode.idl
Comment.cpp LibWeb: Avoid FlyString lookups when setting IDL interface prototypes 2024-03-16 16:35:54 +01:00
Comment.h
Comment.idl
CustomEvent.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
CustomEvent.h
CustomEvent.idl
Document.cpp LibWeb: Make FC of containing block responsible for abspos layout 2024-09-12 07:36:32 +02:00
Document.h LibWeb: Add Document helpers to move its cursor to word boundaries 2024-09-06 07:42:59 +02:00
Document.idl LibWeb: Return a NodeList from document.getElementsByName() 2024-07-23 08:58:22 +02:00
DocumentFragment.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
DocumentFragment.h
DocumentFragment.idl
DocumentLoadEventDelayer.cpp
DocumentLoadEventDelayer.h
DocumentLoading.cpp LibWeb: Set document type to HTML for text and media documents 2024-08-30 08:28:16 -04:00
DocumentLoading.h LibWeb: Make NavigationParams be GC-allocated 2024-04-22 17:10:11 +02:00
DocumentObserver.cpp
DocumentObserver.h
DocumentOrShadowRoot.idl LibWeb: Add DocumentOrShadowRoot::get_animations() 2024-06-03 10:53:32 +02:00
DocumentType.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
DocumentType.h LibWeb: Make DocumentType::node_name() return DocumentType::name() 2024-07-26 07:19:23 +02:00
DocumentType.idl LibWeb: Expose ChildNode methods on the DocumentType IDL interface 2024-07-19 09:22:08 +02:00
DOMEventListener.cpp
DOMEventListener.h
DOMImplementation.cpp LibWeb: Make DOMImplementation IDL return an XMLDocument 2024-05-19 16:24:11 +02:00
DOMImplementation.h LibWeb: Make DOMImplementation IDL return an XMLDocument 2024-05-19 16:24:11 +02:00
DOMImplementation.idl LibWeb: Make DOMImplementation IDL return an XMLDocument 2024-05-19 16:24:11 +02:00
DOMTokenList.cpp Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
DOMTokenList.h Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
DOMTokenList.idl
Element.cpp Everywhere: Convert from_string_view -> from_string_literal where static 2024-09-11 10:59:04 +01:00
Element.h WebContent+LibWeb: Display resolved pseudo-element style in inspector 2024-08-07 16:14:49 +02:00
Element.idl LibWeb: Implement Element::check_visibility 2024-07-20 09:14:50 +01:00
ElementFactory.cpp LibWeb/SVG: Implement SVGImageElement 2024-08-29 06:28:44 +02:00
ElementFactory.h
Event.cpp LibWeb: Make “create an event” set the event’s isTrusted to true 2024-09-03 00:14:31 -06:00
Event.h LibWeb: Implement the PointerEvent interface 2024-04-08 14:25:08 +02:00
Event.idl
EventDispatcher.cpp LibWeb: Replace templated retarget function with a regular one 2024-07-21 16:01:32 -06:00
EventDispatcher.h
EventHandler.idl LibWeb: Emit "focusin" and "focusout" events 2024-02-25 10:17:25 +01:00
EventTarget.cpp LibWeb: Implement CloseWatcher API 2024-06-22 17:39:53 +02:00
EventTarget.h LibWeb: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
EventTarget.idl
HTMLCollection.cpp Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
HTMLCollection.h Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
HTMLCollection.idl
HTMLFormControlsCollection.cpp Bindings: Remove exception handling for named_item_value 2024-07-26 14:26:16 +02:00
HTMLFormControlsCollection.h Bindings: Remove exception handling for named_item_value 2024-07-26 14:26:16 +02:00
HTMLFormControlsCollection.idl
IDLEventListener.cpp LibWeb: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
IDLEventListener.h LibWeb: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
LiveNodeList.cpp Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
LiveNodeList.h Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
MutationObserver.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
MutationObserver.h LibWeb: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
MutationObserver.idl
MutationRecord.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
MutationRecord.h
MutationRecord.idl
MutationType.cpp
MutationType.h
NamedNodeMap.cpp Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
NamedNodeMap.h Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
NamedNodeMap.idl
Node.cpp LibWeb: Note what's causing a style invalidation to happen 2024-09-08 09:45:31 +02:00
Node.h LibWeb: Note what's causing a style invalidation to happen 2024-09-08 09:45:31 +02:00
Node.idl LibWeb/DOM: Implement Node.lookupPrefix 2024-07-28 00:51:55 +01:00
NodeFilter.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
NodeFilter.h
NodeFilter.idl
NodeIterator.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
NodeIterator.h
NodeIterator.idl
NodeList.cpp Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
NodeList.h Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
NodeList.idl
NodeOperations.cpp
NodeOperations.h
NonDocumentTypeChildNode.h
NonElementParentNode.h LibWeb: Make getElementById() always return first match in tree order 2024-07-21 11:42:53 +01:00
ParentNode.cpp LibWeb: Ensure ParentNode.getElementsByClassName() matches all classes 2024-08-04 10:39:17 +02:00
ParentNode.h LibWeb: Move get_elements_by_name implementation to ParentNode 2024-07-23 08:58:22 +02:00
ParentNode.idl
Position.cpp LibWeb: Add Document helpers to move its cursor to word boundaries 2024-09-06 07:42:59 +02:00
Position.h LibWeb: Add Document helpers to move its cursor to word boundaries 2024-09-06 07:42:59 +02:00
ProcessingInstruction.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
ProcessingInstruction.h
ProcessingInstruction.idl
QualifiedName.cpp
QualifiedName.h
RadioNodeList.cpp LibWeb: Avoid FlyString lookups when setting IDL interface prototypes 2024-03-16 16:35:54 +01:00
RadioNodeList.h Userland: Add ESCAPING annotations to a bunch of places 2024-05-22 21:55:34 -06:00
RadioNodeList.idl
Range.cpp LibWeb: Invalidate the display list when calling set_needs_display() 2024-09-02 20:12:08 +02:00
Range.h LibWeb: Remove resolved FIXME about implementing more methods in Range 2024-05-12 07:28:09 +01:00
Range.idl LibWeb: Refactor DOM parsing APIs 2024-06-26 05:41:00 +02:00
ShadowRoot.cpp LibWeb: Only invalidate shadow root when style sheet inside changes 2024-08-20 16:10:33 +02:00
ShadowRoot.h LibWeb: Implement unsafe HTML parsing methods 2024-06-26 06:13:29 +02:00
ShadowRoot.idl LibWeb: Implement unsafe HTML parsing methods 2024-06-26 06:13:29 +02:00
Slot.cpp
Slot.h
Slottable.cpp LibWeb: Rename Element::shadow_root_internal() to shadow_root() 2024-06-25 19:22:35 +02:00
Slottable.h
Slottable.idl
StaticNodeList.cpp Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
StaticNodeList.h Bindings: Implement is_supported_property_index in terms of item_value 2024-07-26 14:26:16 +02:00
StaticRange.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
StaticRange.h
StaticRange.idl
StyleElementUtils.cpp LibWeb: Use correct scope when removing style sheet inside a shadow tree 2024-07-23 11:12:18 +02:00
StyleElementUtils.h LibWeb: Use correct scope when removing style sheet inside a shadow tree 2024-07-23 11:12:18 +02:00
Text.cpp LibWeb: Compare start container to parent in Text.splitText() 2024-08-27 07:13:08 -04:00
Text.h LibWeb: Move the navigable's cursor position to be owned by the document 2024-08-02 18:40:39 +02:00
Text.idl LibWeb: Implement Text.wholeText 2024-07-20 18:02:51 +01:00
TreeWalker.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
TreeWalker.h
TreeWalker.idl
Utils.cpp LibWeb: Replace templated retarget function with a regular one 2024-07-21 16:01:32 -06:00
Utils.h LibWeb: Replace templated retarget function with a regular one 2024-07-21 16:01:32 -06:00
XMLDocument.cpp AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00
XMLDocument.h AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00
XMLDocument.idl