ladybird/Userland/Libraries/LibWeb/Layout
Timothy Flynn 5608bc4eaf LibWeb: Remove inheritance of FormAssociatedElement from HTMLElement
HTMLObjectElement will need to be both a FormAssociatedElement and a
BrowsingContextContainer. Currently, both of these classes inherit from
HTMLElement. This can work in C++, but is generally frowned upon, and
doesn't play particularly well with the rest of LibWeb.

Instead, we can essentially revert commit 3bb5c62 to remove HTMLElement
from FormAssociatedElement's hierarchy. This means that objects such as
HTMLObjectElement individually inherit from FormAssociatedElement and
HTMLElement now.

Some caveats are:

* FormAssociatedElement still needs to know when the HTMLElement is
  inserted into and removed from the DOM. This hook is automatically
  injected via a macro now, while still allowing classes like
  HTMLInputElement to also know when the element is inserted.

* Casting from a DOM::Element to a FormAssociatedElement is now a
  sideways cast, rather than directly following an inheritance chain.
  This means static_cast cannot be used here; but we can safely use
  dynamic_cast since the only 2 instances of this already use RTTI to
  verify the cast.
2022-03-24 03:35:11 +01:00
..
BlockContainer.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
BlockContainer.h LibWeb: Move hit testing to the painting tree 2022-03-11 00:21:49 +01:00
BlockFormattingContext.cpp LibWeb: Support CSS floats in inline flow 2022-03-22 19:26:51 +01:00
BlockFormattingContext.h LibWeb: Support CSS floats in inline flow 2022-03-22 19:26:51 +01:00
Box.cpp LibWeb: Move Layout::Box::is_out_of_flow() to Layout::Node 2022-03-22 19:26:51 +01:00
Box.h LibWeb: Move Layout::Box::is_out_of_flow() to Layout::Node 2022-03-22 19:26:51 +01:00
BoxModelMetrics.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BoxModelMetrics.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BreakNode.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
BreakNode.h LibWeb: Let Paintable perform the painting 2022-03-11 00:21:49 +01:00
ButtonBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
ButtonBox.h LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
CanvasBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CanvasBox.h LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
CheckBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CheckBox.h LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
FlexFormattingContext.cpp LibWeb: Make margins in the main dimension work for flex items 2022-03-23 11:59:07 +01:00
FlexFormattingContext.h LibWeb: Add a debug helper to dump current state of an FFC 2022-03-13 00:04:51 +01:00
FormAssociatedLabelableNode.h LibWeb: Remove inheritance of FormAssociatedElement from HTMLElement 2022-03-24 03:35:11 +01:00
FormattingContext.cpp LibWeb: Rename the LayoutMode enum values and explain them 2022-03-19 15:46:15 +01:00
FormattingContext.h LibWeb: Rewrite CSS float implementation to use offset-from-edge 2022-03-18 15:18:48 +01:00
FormattingState.cpp LibWeb: Make Layout::FormattingState copies shallow 2022-03-13 00:04:51 +01:00
FormattingState.h LibWeb: Give FormattingState a reference to its root state 2022-03-18 15:18:48 +01:00
FrameBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
FrameBox.h LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
ImageBox.cpp LibWeb: Remove a bunch of no-longer needed #includes 2022-03-11 00:21:49 +01:00
ImageBox.h LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
InitialContainingBlock.cpp LibWeb: Fill the whole viewport with the correct background color 2022-03-23 17:38:00 +01:00
InitialContainingBlock.h LibWeb: Build stacking context tree lazily 2022-03-21 13:03:33 +01:00
InlineFormattingContext.cpp LibWeb: Support CSS floats in inline flow 2022-03-22 19:26:51 +01:00
InlineFormattingContext.h LibWeb: Rewrite CSS float implementation to use offset-from-edge 2022-03-18 15:18:48 +01:00
InlineLevelIterator.cpp LibWeb: Support CSS floats in inline flow 2022-03-22 19:26:51 +01:00
InlineLevelIterator.h LibWeb: Support CSS floats in inline flow 2022-03-22 19:26:51 +01:00
InlineNode.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
InlineNode.h LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
Label.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
Label.h LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
LabelableNode.cpp LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
LabelableNode.h LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
LayoutPosition.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LayoutPosition.h Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
LineBox.cpp LibWeb: Respect inline-axis margins between line box fragments :^) 2022-03-09 18:47:32 +01:00
LineBox.h Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
LineBoxFragment.cpp LibWeb: Move text fragment painting to PaintableWithLines 2022-03-16 23:13:05 +01:00
LineBoxFragment.h LibWeb: Move text fragment painting to PaintableWithLines 2022-03-16 23:13:05 +01:00
LineBuilder.cpp LibWeb: Support CSS floats in inline flow 2022-03-22 19:26:51 +01:00
LineBuilder.h LibWeb: Support CSS floats in inline flow 2022-03-22 19:26:51 +01:00
ListItemBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
ListItemBox.h LibWeb: Make display: foo box constructors take the Element by pointer 2022-02-25 19:35:34 +01:00
ListItemMarkerBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
ListItemMarkerBox.h LibWeb: Add some fast_is<T> helpers for hot classes on GitHub :^) 2022-03-13 18:09:43 +01:00
Node.cpp LibWeb: Resolve numeric line-heights against element's own font size 2022-03-23 15:57:05 +01:00
Node.h LibWeb: Move Layout::Box::is_out_of_flow() to Layout::Node 2022-03-22 19:26:51 +01:00
Progress.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
Progress.h LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
RadioButton.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
RadioButton.h LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
ReplacedBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
ReplacedBox.h LibWeb: Add some fast_is<T> helpers for hot classes on GitHub :^) 2022-03-13 18:09:43 +01:00
SVGBox.cpp LibWeb: Make SVG <svg> elements behave as CSS replaced elements 2022-03-19 12:42:10 +01:00
SVGBox.h LibWeb: Make SVG <svg> elements behave as CSS replaced elements 2022-03-19 12:42:10 +01:00
SVGFormattingContext.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
SVGFormattingContext.h LibWeb: Start making our layout system "transactional" 2022-02-21 18:35:12 +01:00
SVGGeometryBox.cpp LibWeb: Remove a bunch of no-longer needed #includes 2022-03-11 00:21:49 +01:00
SVGGeometryBox.h LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
SVGGraphicsBox.cpp LibWeb: Let Paintable perform the painting 2022-03-11 00:21:49 +01:00
SVGGraphicsBox.h LibWeb: Let Paintable perform the painting 2022-03-11 00:21:49 +01:00
SVGSVGBox.cpp LibWeb: Make SVG <svg> elements behave as CSS replaced elements 2022-03-19 12:42:10 +01:00
SVGSVGBox.h LibWeb: Make SVG <svg> elements behave as CSS replaced elements 2022-03-19 12:42:10 +01:00
TableBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableBox.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TableCellBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableCellBox.h LibWeb: Remove Layout::Box::width_of_logical_containing_block() 2021-10-27 18:00:51 +02:00
TableFormattingContext.cpp LibWeb: Translate table cells by their top left border 2022-03-21 21:55:21 +01:00
TableFormattingContext.h LibWeb: Start making our layout system "transactional" 2022-02-21 18:35:12 +01:00
TableRowBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableRowBox.h LibWeb: Start work towards modern CSS "display" values 2021-10-06 19:12:52 +02:00
TableRowGroupBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableRowGroupBox.h LibWeb: Make display: foo box constructors take the Element by pointer 2022-02-25 19:35:34 +01:00
TextNode.cpp LibWeb: Rename the LayoutMode enum values and explain them 2022-03-19 15:46:15 +01:00
TextNode.h LibWeb: Move text fragment painting to PaintableWithLines 2022-03-16 23:13:05 +01:00
TreeBuilder.cpp LibWeb: Relax "all children must be either inline or block" invariant 2022-03-22 19:26:51 +01:00
TreeBuilder.h LibWeb: Add missing headers 2021-10-20 09:20:18 +01:00