ladybird/Userland/Libraries/LibWeb/DOM
sin-ack 29583104d2 LibWeb: Refactor all LabelableNode subclasses + input event handling :^)
This commit is messy due to the Paintable and Layout classes being
tangled together.

The RadioButton, CheckBox and ButtonBox classes are now subclasses of
FormAssociatedLabelableNode. This subclass separates these layout nodes
from LabelableNode, which is also the superclass of non-form associated
labelable nodes (Progress).

ButtonPaintable, CheckBoxPaintable and RadioButtonPaintable no longer
call events on DOM nodes directly from their mouse event handlers;
instead, all the functionality is now directly in EventHandler, which
dispatches the related events. handle_mousedown and related methods
return a bool indicating whether the event handling should proceed.

Paintable classes can now return an alternative DOM::Node which should
be the target of the mouse event. Labels use this to indicate that the
labeled control should be the target of the mouse events.

HTMLInputElement put its activation behavior on run_activation_behavior,
which wasn't actually called anywhere and had to be manually called by
other places. We now use activation_behavior which is used by
EventDispatcher.

This commit also brings HTMLInputElement closer to spec by removing the
did_foo functions that did ad-hoc event dispatching and unifies the
behavior under run_input_activation_behavior.
2022-03-16 00:38:31 +01:00
..
AbortController.cpp LibWeb: Rewrite EventTarget to more closely match the spec 2022-02-08 17:47:44 +00:00
AbortController.h LibWeb: Move Window from DOM directory & namespace to HTML 2022-03-08 00:30:30 +01: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: Move Window from DOM directory & namespace to HTML 2022-03-08 00:30:30 +01:00
AbortSignal.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
AbstractRange.h LibWeb: Abstract Range's members into AbstractRange 2022-02-26 12:53:32 +01:00
AbstractRange.idl LibWeb: Abstract Range's members into AbstractRange 2022-02-26 12:53:32 +01:00
Attribute.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
Attribute.h LibWeb: Make Range.setStart and Range.setEnd spec compliant 2022-02-26 12:53:32 +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 LibWeb: Notify parent when DOM::CharacterData content changes 2022-02-25 19:38:31 +01:00
CharacterData.h LibWeb: Implement ChildNode.remove 2021-09-29 17:56:13 +02:00
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 LibWeb: Move Window from DOM directory & namespace to HTML 2022-03-08 00:30:30 +01:00
Comment.h LibWeb: Add constructors for Text, DocumentFragment and Comment 2021-09-06 02:18:41 +02:00
Comment.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
CustomEvent.cpp LibWeb: Add the missing CustomEvent IDL constructor 2021-09-29 19:38:41 +02:00
CustomEvent.h LibWeb: Add the missing CustomEvent IDL constructor 2021-09-29 19:38:41 +02:00
CustomEvent.idl LibWeb: Use the LibWeb source directory as the IDL #import base path 2021-10-01 20:14:45 +02:00
Document.cpp LibWeb: Invalidate style on media query evaluation change 2022-03-15 19:48:19 +01:00
Document.h Browser: Show currently loading host and remaining resource count 2022-03-10 00:51:05 +01:00
Document.idl LibWeb: Add support for DOM's TreeWalker 2022-03-09 16:43:55 +01:00
DocumentFragment.cpp LibWeb: Move Window from DOM directory & namespace to HTML 2022-03-08 00:30:30 +01:00
DocumentFragment.h LibWeb: Use a WeakPtr for DocumentFragment's "host" field 2022-03-15 19:48:19 +01:00
DocumentFragment.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
DocumentLoadEventDelayer.cpp LibWeb: Allow HTML parser to delay delivery of the document "load" event 2021-09-26 02:00:00 +02:00
DocumentLoadEventDelayer.h LibWeb: Allow HTML parser to delay delivery of the document "load" event 2021-09-26 02:00:00 +02:00
DocumentType.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
DocumentType.h LibWeb: Implement ChildNode.remove 2021-09-29 17:56:13 +02:00
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 LibWeb: Replace heycam.github.io/webidl URLs with webidl.spec.whatwg.org 2021-10-11 13:15:16 +01:00
DOMException.idl LibWeb: Add support for optional default values and optional bools in IDL 2021-04-11 18:27:52 +02:00
DOMImplementation.cpp LibWeb: Support DOMImplementation.createDocument() doctype parameter 2022-03-02 09:18:19 +01:00
DOMImplementation.h LibWeb: Support DOMImplementation.createDocument() doctype parameter 2022-03-02 09:18:19 +01:00
DOMImplementation.idl LibWeb: Support DOMImplementation.createDocument() doctype parameter 2022-03-02 09:18:19 +01:00
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 LibWeb: Implement DOMTokenList for managing space-separated tokens lists 2021-10-18 23:33:56 +02:00
Element.cpp LibWeb: Rename Element::specified_css_values() => computed_css_values() 2022-03-15 19:48:19 +01:00
Element.h LibWeb: Rename Element::specified_css_values() => computed_css_values() 2022-03-15 19:48:19 +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: Support (and validate) prefixes in Document.createElementNS() 2022-03-02 10:55:16 +01:00
ElementFactory.h LibWeb: Support (and validate) prefixes in Document.createElementNS() 2022-03-02 10:55:16 +01:00
Event.cpp LibWeb: Implement Event.composedPath 2021-10-17 01:34:02 +03:00
Event.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
Event.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
EventDispatcher.cpp LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
EventDispatcher.h LibWeb: Separate "event listener" from "EventListener" 2022-02-16 22:21:45 +01:00
EventTarget.cpp LibWeb: Move Window from DOM directory & namespace to HTML 2022-03-08 00:30:30 +01:00
EventTarget.h LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +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 LibWeb: Convert throw_dom_exception_if_needed() to ThrowCompletionOr 2021-10-31 18:51:07 +01:00
HTMLCollection.cpp LibWeb: Convert HTMLCollection to use IDL special operations 2021-09-26 18:59:56 +02:00
HTMLCollection.h LibWeb: Convert HTMLCollection to use IDL special operations 2021-09-26 18:59:56 +02:00
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 LibWeb: Add support for NodeList 2021-10-03 00:18:52 +02:00
LiveNodeList.h LibWeb: Add support for NodeList 2021-10-03 00:18:52 +02:00
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: Fix mistake in Node::invalidate_style() 2022-03-15 22:43:44 +01:00
Node.h LibWeb: Add some fast_is<T> helpers for hot classes on GitHub :^) 2022-03-13 18:09:43 +01:00
Node.idl LibWeb: Implement Node.nodeValue DOM attribute 2022-02-21 16:31:45 +01:00
NodeFilter.h LibWeb: Add basic support for DOM's NodeIterator and NodeFilter 2022-03-09 16:43:00 +01:00
NodeFilter.idl LibWeb: Add basic support for DOM's NodeIterator and NodeFilter 2022-03-09 16:43:00 +01:00
NodeIterator.cpp LibWeb: Implement "NodeIterator pre-removing steps" 2022-03-09 16:43:56 +01:00
NodeIterator.h LibWeb: Implement "NodeIterator pre-removing steps" 2022-03-09 16:43:56 +01:00
NodeIterator.idl LibWeb: Add basic support for DOM's NodeIterator and NodeFilter 2022-03-09 16:43:00 +01:00
NodeList.h LibWeb: Add support for NodeList 2021-10-03 00:18:52 +02:00
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 LibWeb: Use default instead of an empty constructor/destructor 2021-09-16 17:17:13 +02:00
ParentNode.cpp LibWeb: Implement ParentNode.replaceChildren 2022-01-31 15:25:36 +01:00
ParentNode.h LibWeb: Add fast_is<ParentNode>() 2022-03-15 19:48:19 +01:00
Position.cpp LibWeb: Remove unnecessary DOM::Position destructor 2021-09-08 11:14:29 +02:00
Position.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
ProcessingInstruction.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ProcessingInstruction.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
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 LibWeb: Move Window from DOM directory & namespace to HTML 2022-03-08 00:30:30 +01:00
Range.h LibWeb: Move Window from DOM directory & namespace to HTML 2022-03-08 00:30:30 +01:00
Range.idl LibWeb: Implement Range.comparePoint 2022-02-26 12:53:32 +01:00
ShadowRoot.cpp LibWeb: Compute element style in Layout::TreeBuilder 2022-02-05 22:50:39 +01:00
ShadowRoot.h LibWeb: Add some fast_is<T> helpers for hot classes on GitHub :^) 2022-03-13 18:09:43 +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 LibWeb: Add support for NodeList 2021-10-03 00:18:52 +02:00
StaticNodeList.h LibWeb: Add support for NodeList 2021-10-03 00:18:52 +02:00
StaticRange.cpp LibWeb: Implement StaticRange 2022-02-26 12:53:32 +01:00
StaticRange.h LibWeb: Implement StaticRange 2022-02-26 12:53:32 +01:00
StaticRange.idl LibWeb: Implement StaticRange 2022-02-26 12:53:32 +01:00
Text.cpp LibWeb: Move Window from DOM directory & namespace to HTML 2022-03-08 00:30:30 +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
TreeWalker.cpp LibWeb: Add support for DOM's TreeWalker 2022-03-09 16:43:55 +01:00
TreeWalker.h LibWeb: Add support for DOM's TreeWalker 2022-03-09 16:43:55 +01:00
TreeWalker.idl LibWeb: Add support for DOM's TreeWalker 2022-03-09 16:43:55 +01:00