1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-23 12:15:06 +00:00
serenity/Libraries/LibHTML/DOM
Andreas Kling 6d1c4ae5a9 LibHTML: Implement basic <form> and <input> element support
This patch adds "submit" inputs and default (text box) inputs, as well
as form elements that can be submitted.

Layout of input elements is implemented via a new LayoutWidget class
that allows you to put an arbitrary GWidget in the layout tree.
At the moment, the DOM node sets the initial size of the LayoutWidget,
and then the positioning is done by the normal layout algorithm.

We also now support submitting a <form method="GET">, which does a full
replacing load with a URL based on the form's action + a query string
built from the name/value of input elements within the submitted form.

This is pretty neat! :^)
2019-11-25 21:21:55 +01:00
..
CharacterData.cpp LibHTML: Add Comment and CharacterData nodes and improve HTML parsing 2019-10-12 23:34:05 +02:00
CharacterData.h LibHTML: Add Comment and CharacterData nodes and improve HTML parsing 2019-10-12 23:34:05 +02:00
Comment.cpp LibHTML: Add Comment and CharacterData nodes and improve HTML parsing 2019-10-12 23:34:05 +02:00
Comment.h LibHTML: Add Comment and CharacterData nodes and improve HTML parsing 2019-10-12 23:34:05 +02:00
Document.cpp LibHTML+AK: Move URL completion from Document to AK::URL 2019-11-19 17:46:36 +01:00
Document.h LibHTML: Store the HTML parser input along with the created Document 2019-11-25 00:27:41 +01:00
DocumentFragment.h LibHTML: Add DocumentFragment 2019-11-06 20:27:53 +01:00
DocumentType.cpp LibHTML: Add basic <!DOCTYPE> parsing and a DocumentType class 2019-10-09 20:17:01 +02:00
DocumentType.h LibHTML: Add Comment and CharacterData nodes and improve HTML parsing 2019-10-12 23:34:05 +02:00
Element.cpp LibHTML: Make "display: inline-block" generate a LayoutBlock for now 2019-10-19 19:02:02 +02:00
Element.h LibHTML: Add Element::name() convenience attribute getter 2019-10-20 10:07:26 +02:00
ElementFactory.cpp LibHTML: Implement basic <form> and <input> element support 2019-11-25 21:21:55 +01:00
ElementFactory.h LibHTML: Move Element construction to a separate file 2019-10-12 13:02:38 +02:00
HTMLAnchorElement.cpp LibHTML: Detect hovering over links 2019-09-29 11:59:38 +02:00
HTMLAnchorElement.h LibHTML: Add is<ElementType> and to<ElementType> helper functions 2019-10-06 20:38:26 +02:00
HTMLBlinkElement.cpp LibHTML: Implement the <blink> element 2019-10-09 21:25:29 +02:00
HTMLBlinkElement.h LibHTML: Implement the <blink> element 2019-10-09 21:25:29 +02:00
HTMLBodyElement.cpp LibHTML: Implement basic tiled background image support 2019-10-19 11:49:46 +02:00
HTMLBodyElement.h LibHTML: Templatize Node::first_child_of_type<T>() 2019-10-06 20:47:57 +02:00
HTMLBRElement.cpp LibHTML: Simplify Node::create_layout_node() 2019-10-15 15:06:16 +02:00
HTMLBRElement.h LibHTML: Simplify Node::create_layout_node() 2019-10-15 15:06:16 +02:00
HTMLElement.cpp LibHTML: Detect hovering over links 2019-09-29 11:59:38 +02:00
HTMLElement.h LibHTML: Add is<ElementType> and to<ElementType> helper functions 2019-10-06 20:38:26 +02:00
HTMLFontElement.cpp LibHTML: Use an enum for CSS property ID's 2019-10-08 15:35:05 +02:00
HTMLFontElement.h LibHTML: Add support for <font color> 2019-10-04 21:14:59 +02:00
HTMLFormElement.cpp LibHTML: Implement basic <form> and <input> element support 2019-11-25 21:21:55 +01:00
HTMLFormElement.h LibHTML: Implement basic <form> and <input> element support 2019-11-25 21:21:55 +01:00
HTMLHeadElement.cpp LibHTML: Add a way to get a Document's title 2019-09-29 16:24:57 +02:00
HTMLHeadElement.h LibHTML: Templatize Node::first_child_of_type<T>() 2019-10-06 20:47:57 +02:00
HTMLHeadingElement.cpp LibHTML: Add HTMLHeadingElement for <h1> through <h6> 2019-09-29 12:26:15 +02:00
HTMLHeadingElement.h LibHTML: Add HTMLHeadingElement for <h1> through <h6> 2019-09-29 12:26:15 +02:00
HTMLHRElement.cpp LibHTML: Implement the <hr> element 2019-10-01 20:50:11 +02:00
HTMLHRElement.h LibHTML: Implement the <hr> element 2019-10-01 20:50:11 +02:00
HTMLHtmlElement.cpp LibHTML: Add a way to get a Document's title 2019-09-29 16:24:57 +02:00
HTMLHtmlElement.h LibHTML: Add is<ElementType> and to<ElementType> helper functions 2019-10-06 20:38:26 +02:00
HTMLImageElement.cpp LibHTML: Rename HTMLImageElement::m_image_loader => m_image_decoder 2019-10-20 12:55:55 +02:00
HTMLImageElement.h LibHTML: Rename HTMLImageElement::m_image_loader => m_image_decoder 2019-10-20 12:55:55 +02:00
HTMLInputElement.cpp LibHTML: Implement basic <form> and <input> element support 2019-11-25 21:21:55 +01:00
HTMLInputElement.h LibHTML: Implement basic <form> and <input> element support 2019-11-25 21:21:55 +01:00
HTMLLinkElement.cpp LibHTML: Rename Document's invalidate_{style,layout}() to update_foo() 2019-10-14 17:57:06 +02:00
HTMLLinkElement.h LibHTML: Start adding support for <link rel="stylesheet"> 2019-10-07 19:06:47 +02:00
HTMLStyleElement.cpp LibHTML: Only accumulate Text children's content in inline stylesheets 2019-10-17 23:54:27 +02:00
HTMLStyleElement.h LibHTML: Add a simple <style> element for inline CSS 2019-09-29 17:45:42 +02:00
HTMLTitleElement.cpp LibHTML: Add a way to get a Document's title 2019-09-29 16:24:57 +02:00
HTMLTitleElement.h LibHTML: Templatize Node::first_child_of_type<T>() 2019-10-06 20:47:57 +02:00
Node.cpp LibHTML: Add Document::get_element_by_id() and get_elements_by_name() 2019-10-21 12:01:30 +02:00
Node.h LibHTML: Add DocumentFragment 2019-11-06 20:27:53 +01:00
ParentNode.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
ParentNode.h LibHTML: Make sure every DOM Node belongs to a Document 2019-09-29 11:43:07 +02:00
Text.cpp LibHTML: Simplify Node::create_layout_node() 2019-10-15 15:06:16 +02:00
Text.h LibHTML: Simplify Node::create_layout_node() 2019-10-15 15:06:16 +02:00