ladybird/Userland/Libraries/LibWeb/DOM
Aliaksandr Kalenik a9b8840a82 LibWeb: Add fast path for animated style properties update
Patch up existing style properties instead of using the regular style
invalidation path, which requires rule matching for each element in the
invalidated subtree.

- !important properties: this change introduces a flag used to skip the
  update of animated properties overridden by !important.
- inherited animated properties: for now, these are invalidated by
  traversing animated element's subtree to propagate the update.
- StyleProperties has a separate array for animated properties that
  allows the removal animated properties after animation has ended,
  without requiring full style invalidation.
2024-03-16 09:49:40 +01:00
..
AbortController.cpp LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
AbortController.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
AbortController.idl
AbortSignal.cpp LibWeb: Implement AbortSignal.any() 2024-03-12 09:31:41 +01:00
AbortSignal.h LibWeb: Implement AbortSignal.any() 2024-03-12 09:31:41 +01:00
AbortSignal.idl LibWeb: Implement AbortSignal.any() 2024-03-12 09:31:41 +01:00
AbstractRange.cpp LibWeb: Use WebIDL typedefs in Range/AbstractRange 2024-01-04 10:10:44 +01:00
AbstractRange.h LibWeb: Use WebIDL typedefs in Range/AbstractRange 2024-01-04 10:10:44 +01:00
AbstractRange.idl IDL: Add missing #imports 2023-11-11 08:51:51 +01:00
AccessibilityTreeNode.cpp Userland+Tests: Remove unused <AK/Tuple.h> includes 2024-03-01 14:05:53 -07:00
AccessibilityTreeNode.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
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: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
Attr.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
Attr.idl
CDATASection.cpp LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
CDATASection.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CDATASection.idl IDL: Add missing #imports 2023-11-11 08:51:51 +01:00
CharacterData.cpp LibWeb: Use correct offset value when replacing character data 2024-02-10 11:18:51 +01:00
CharacterData.h LibWeb: Use UTF-16 code unit offsets and lengths in CharacterData 2023-12-23 20:41:41 +01:00
CharacterData.idl LibWeb: Use UTF-16 code unit offsets and lengths in CharacterData 2023-12-23 20:41:41 +01:00
ChildNode.h LibWeb: Fix infinite loop in ChildNode's before() and after() 2024-03-11 18:29:10 +01:00
ChildNode.idl IDL: Add missing #imports 2023-11-11 08:51:51 +01:00
Comment.cpp LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
Comment.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
Comment.idl
CustomEvent.cpp LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
CustomEvent.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
CustomEvent.idl
Document.cpp LibWeb: Add fast path for animated style properties update 2024-03-16 09:49:40 +01:00
Document.h LibWeb: Ignore window-forwarded document.body.onfoo in detached DOM 2024-03-11 18:29:10 +01:00
Document.idl LibWeb: Add styleSheets and adoptedStyleSheets attributes in ShadowRoot 2024-03-09 16:13:32 +01:00
DocumentFragment.cpp LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
DocumentFragment.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
DocumentFragment.idl
DocumentLoadEventDelayer.cpp
DocumentLoadEventDelayer.h
DocumentLoading.cpp LibWeb: Use file's URL as document's URL when loading markdown files 2024-02-08 07:58:07 -07:00
DocumentLoading.h Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
DocumentObserver.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
DocumentObserver.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
DocumentOrShadowRoot.idl LibWeb: Add styleSheets and adoptedStyleSheets attributes in ShadowRoot 2024-03-09 16:13:32 +01:00
DocumentType.cpp LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
DocumentType.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
DocumentType.idl
DOMEventListener.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
DOMEventListener.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
DOMImplementation.cpp LibWeb: Make DOMImplementation.createHTMLDocument() create HTMLDocument 2024-03-11 18:29:10 +01:00
DOMImplementation.h LibWeb: Use Optional<FlyString> directly in Document & DOMImplementation 2024-01-13 08:33:10 +01:00
DOMImplementation.idl LibWeb: Use Optional<FlyString> directly in Document & DOMImplementation 2024-01-13 08:33:10 +01:00
DOMTokenList.cpp LibWeb: Remove DOM element deprecated_get_attribute() 2024-01-19 13:12:54 -07:00
DOMTokenList.h LibWeb: Delete LegacyPlatformObject and move behavior to PlatformObject 2024-01-12 09:11:18 +01:00
DOMTokenList.idl
Element.cpp LibWeb: Add fast path for animated style properties update 2024-03-16 09:49:40 +01:00
Element.h LibWeb: Add fast path for animated style properties update 2024-03-16 09:49:40 +01:00
Element.idl LibWeb: Add Animatable interface to Element 2024-02-19 12:21:48 +01:00
ElementFactory.cpp LibWeb: Add initial support for SVG <textPath> 2023-12-19 21:29:03 +01:00
ElementFactory.h
Event.cpp LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
Event.h LibWeb: Make UIEvents from the chrome the only default trusted Events 2024-01-19 11:47:59 +01:00
Event.idl
EventDispatcher.cpp LibWeb: Port call_user_object_operation from DeprecatedString 2023-12-02 22:54:53 +01:00
EventDispatcher.h
EventHandler.idl LibWeb: Emit "focusin" and "focusout" events 2024-02-25 10:17:25 +01:00
EventTarget.cpp LibWeb: Ignore window-forwarded document.body.onfoo in detached DOM 2024-03-11 18:29:10 +01:00
EventTarget.h LibWeb: Use NonnullGCPtr in EventTarget's event handler map 2024-03-11 18:29:10 +01:00
EventTarget.idl
HTMLCollection.cpp LibWeb: Use cached element name and id where possible 2024-01-13 12:05:36 +01:00
HTMLCollection.h LibWeb: Delete LegacyPlatformObject and move behavior to PlatformObject 2024-01-12 09:11:18 +01:00
HTMLCollection.idl
HTMLFormControlsCollection.cpp LibWeb: Port Element::name to a cached FlyString 2024-01-13 12:05:36 +01:00
HTMLFormControlsCollection.h LibWeb: Support RadioNodeList named items in HTMLFormControlsCollection 2023-12-23 20:53:11 +01:00
HTMLFormControlsCollection.idl LibWeb: Format all .idl files to use four space indentation 2024-01-18 14:00:06 +01:00
IDLEventListener.cpp LibWeb/LibJS: Avoid GC visit of raw pointers where possible 2023-11-19 08:05:45 +00:00
IDLEventListener.h
InnerHTML.idl
LiveNodeList.cpp LibWeb: Make LiveNodeList store a NonnullGCPtr<Node const> root 2023-12-23 20:53:11 +01:00
LiveNodeList.h LibWeb: Make LiveNodeList store a NonnullGCPtr<Node const> root 2023-12-23 20:53:11 +01:00
MutationObserver.cpp LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
MutationObserver.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
MutationObserver.idl
MutationRecord.cpp LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
MutationRecord.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
MutationRecord.idl
MutationType.cpp
MutationType.h
NamedNodeMap.cpp LibWeb: Fix normalizing namespace in NamedNodeMap::get_attribute_ns 2024-01-13 08:33:10 +01:00
NamedNodeMap.h LibWeb: Delete LegacyPlatformObject and move behavior to PlatformObject 2024-01-12 09:11:18 +01:00
NamedNodeMap.idl LibWeb: Use Optional<FlyString> const& in Element and NamedNodeMap 2024-01-03 10:13:47 +01:00
Node.cpp LibWeb: Don't crash on live range offset update during node insertion 2024-03-12 16:30:39 +01:00
Node.h LibWeb: Null layout and paintable pointers of removed DOM::Node 2024-02-20 10:55:10 +01:00
Node.idl
NodeFilter.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
NodeFilter.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
NodeFilter.idl IDL: Add missing spec links 2023-11-11 08:51:51 +01:00
NodeIterator.cpp LibWeb: Port call_user_object_operation from DeprecatedString 2023-12-02 22:54:53 +01:00
NodeIterator.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
NodeIterator.idl
NodeList.cpp LibWeb: Delete LegacyPlatformObject and move behavior to PlatformObject 2024-01-12 09:11:18 +01:00
NodeList.h LibWeb: Delete LegacyPlatformObject and move behavior to PlatformObject 2024-01-12 09:11:18 +01:00
NodeList.idl
NodeOperations.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
NodeOperations.h
NonDocumentTypeChildNode.h
NonElementParentNode.h
ParentNode.cpp LibWeb: Remove DeprecatedString impls of get_elements_by_tag_name{_ns} 2023-11-06 11:37:08 +01:00
ParentNode.h LibWeb: Remove DeprecatedString impls of get_elements_by_tag_name{_ns} 2023-11-06 11:37:08 +01:00
ParentNode.idl
Position.cpp LibWeb: Add missing DOM::Position::visit_edges() 2023-12-12 01:08:07 +01:00
Position.h LibWeb: Fix crashing after input into empty contenteditable 2024-02-24 08:09:01 +01:00
ProcessingInstruction.cpp LibWeb: Port ProcessingInstruction from ByteString 2023-12-24 13:26:50 +01:00
ProcessingInstruction.h LibWeb: Port ProcessingInstruction from ByteString 2023-12-24 13:26:50 +01:00
ProcessingInstruction.idl
QualifiedName.cpp LibWeb: Remove some now unused deprecated functions from QualifiedName 2023-11-06 11:37:08 +01:00
QualifiedName.h LibWeb: Remove some now unused deprecated functions from QualifiedName 2023-11-06 11:37:08 +01:00
RadioNodeList.cpp LibWeb: Make LiveNodeList store a NonnullGCPtr<Node const> root 2023-12-23 20:53:11 +01:00
RadioNodeList.h LibWeb: Make LiveNodeList store a NonnullGCPtr<Node const> root 2023-12-23 20:53:11 +01:00
RadioNodeList.idl
Range.cpp LibWeb: Don't crash on live range offset update during node insertion 2024-03-12 16:30:39 +01:00
Range.h LibWeb: Don't crash on live range offset update during node insertion 2024-03-12 16:30:39 +01:00
Range.idl LibWeb: Stub Range::get_client_rects() 2024-01-20 08:56:52 +01:00
ShadowRoot.cpp LibWeb: Apply shadow root style sheets in StyleComputer 2024-03-09 16:13:32 +01:00
ShadowRoot.h LibWeb: Apply shadow root style sheets in StyleComputer 2024-03-09 16:13:32 +01:00
ShadowRoot.idl LibWeb: Add styleSheets and adoptedStyleSheets attributes in ShadowRoot 2024-03-09 16:13:32 +01:00
Slot.cpp
Slot.h
Slottable.cpp
Slottable.h
Slottable.idl IDL: Add missing #imports 2023-11-11 08:51:51 +01:00
StaticNodeList.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
StaticNodeList.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
StaticRange.cpp LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
StaticRange.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
StaticRange.idl
StyleElementUtils.cpp LibWeb: Add style sheets to the shadow root if applicable 2024-03-09 16:13:32 +01:00
StyleElementUtils.h LibWeb: Add style sheets to the shadow root if applicable 2024-03-09 16:13:32 +01:00
Text.cpp LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
Text.h LibWeb: Add input and textarea minlength and maxlength support 2024-03-03 10:02:30 -05:00
Text.idl
TreeWalker.cpp LibWeb: Don't get stuck in TreeWalker.nextNode() when current detached 2023-12-03 23:16:26 +01:00
TreeWalker.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
TreeWalker.idl
XMLDocument.cpp Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
XMLDocument.h Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
XMLDocument.idl