ladybird/Userland/Libraries/LibWeb/DOM
Aliaksandr Kalenik 30b636e90b LibWeb: Add "position: sticky" support
Sticky positioning is implemented by modifying the algorithm for
assigning and refreshing scroll frames. Now, elements with
"position: sticky" are assigned their own scroll frame, and their
position is refreshed independently from regular scroll boxes.
Refreshing the scroll offsets for sticky boxes does not require display
list invalidation.

A separate hash map is used for the scroll frames of sticky boxes. This
is necessary because a single paintable box can have two scroll frames
if it 1) has "position: sticky" and 2) contains scrollable overflow.
2024-08-30 19:03:06 +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: Specify the correct argument type in IDL for AbortSignal::any() 2024-05-13 23:45:45 +01: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 LibWeb: Use WebIDL typedefs in Range/AbstractRange 2024-01-04 10:10:44 +01:00
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: Add styleSheets and adoptedStyleSheets attributes in ShadowRoot 2024-03-09 16:13:32 +01: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: Allow splitting surrogate pairs in CharacterData.replaceData() 2024-07-20 06:41:25 +02:00
CharacterData.h LibWeb: Avoid allocating UTF-16 strings only the UTF-16 length is needed 2024-07-31 05:55:34 -04: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: Add "position: sticky" support 2024-08-30 19:03:06 +02:00
Document.h LibWeb: Reuse display list across repaints 2024-08-19 18:57:20 +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 LibWeb: Only recompute before and after pseudo element styles 2024-08-20 16:10:33 +02: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: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04: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 LibWeb: Format all .idl files to use four space indentation 2024-01-18 14:00:06 +01:00
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 LibWeb: Use Optional<FlyString> const& in Element and NamedNodeMap 2024-01-03 10:13:47 +01:00
Node.cpp LibWeb: Show pseudo-elements in DOM whose parent has no other children 2024-08-07 16:14:49 +02:00
Node.h LibWeb/DOM: Implement Node.lookupPrefix 2024-07-28 00:51:55 +01: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 LibUnicode+Everywhere: Merge LibLocale back into LibUnicode 2024-06-23 19:52:45 +02:00
Position.h LibWeb: Fix crashing after input into empty contenteditable 2024-02-24 08:09:01 +01: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: Reuse display list across repaints 2024-08-19 18:57:20 +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