1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-25 22:15:06 +00:00
serenity/Userland/Libraries/LibWeb/Layout
Steven Schmoll 7c4d42279d LibWeb: Add stacking contexts to Node::for_each_child_in_paint_order
The existing implementation, which is used by Node::hit_test() and
sub-classes, does not include stacking contexts which prevents hit
testing from returning elements contained by those stacking contexts
in some situations.

This is quite rough and definitely not optimal. The stacking contexts
are not retrieved in the correct order. They should be sorted by
z-index then tree order.

This change makes DuckDuckGo technically usable with all the absolute
and relative positioning they use.
2022-02-14 21:33:05 +01:00
..
BlockContainer.cpp LibWeb: Rename Layout::Box absolute rect helpers 2022-02-11 21:57:56 +01:00
BlockContainer.h LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
BlockFormattingContext.cpp LibWeb: Stop sizing the context root box in formatting contexts 2022-02-12 22:30:50 +01:00
BlockFormattingContext.h LibWeb: Stop sizing the context root box in formatting contexts 2022-02-12 22:30:50 +01:00
Box.cpp LibWeb: Rename Layout::Box absolute rect helpers 2022-02-11 21:57:56 +01:00
Box.h LibWeb: Rename Layout::Box absolute rect helpers 2022-02-11 21:57:56 +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 LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
BreakNode.h LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
ButtonBox.cpp LibWeb: Rename "frame" to "browsing_context" in various places 2022-02-06 16:22:58 +01:00
ButtonBox.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CanvasBox.cpp LibWeb: Make intrinsic width/height/ratio a Box concept and simplify it 2021-10-14 18:39:27 +02:00
CanvasBox.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CheckBox.cpp LibWeb: Fixed disabled checkbox input behaviour 2022-02-08 17:51:33 +01:00
CheckBox.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FlexFormattingContext.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
FlexFormattingContext.h LibWeb: Add missing headers 2021-10-20 09:20:18 +01:00
FormattingContext.cpp LibWeb: Stop sizing the context root box in formatting contexts 2022-02-12 22:30:50 +01:00
FormattingContext.h LibWeb: Stop sizing the context root box in formatting contexts 2022-02-12 22:30:50 +01:00
FrameBox.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
FrameBox.h AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
ImageBox.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
ImageBox.h LibWeb: Move BrowsingContext into HTML/ 2021-11-18 21:11:30 +01:00
InitialContainingBlock.cpp LibWeb: Always rebuild stacking context tree during layout 2022-02-12 22:30:50 +01:00
InitialContainingBlock.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
InlineFormattingContext.cpp LibWeb: Support inline-level padding and border properly 2022-02-14 18:00:21 +01:00
InlineFormattingContext.h LibWeb: Make IFC aware that its parent is always a BFC 2022-01-24 02:09:17 +01:00
InlineLevelIterator.cpp LibWeb: Support inline-level padding and border properly 2022-02-14 18:00:21 +01:00
InlineLevelIterator.h LibWeb: Support inline-level padding and border properly 2022-02-14 18:00:21 +01:00
InlineNode.cpp LibWeb: Support inline-level padding and border properly 2022-02-14 18:00:21 +01:00
InlineNode.h LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
Label.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
Label.h Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
LabelableNode.h Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
LayoutPosition.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LayoutPosition.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LineBox.cpp LibWeb: Support inline-level padding and border properly 2022-02-14 18:00:21 +01:00
LineBox.h LibWeb: Support inline-level padding and border properly 2022-02-14 18:00:21 +01:00
LineBoxFragment.cpp LibWeb: Rename InitialContainingBlockBox => InitialContainingBlock 2021-09-08 11:27:46 +02:00
LineBoxFragment.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LineBuilder.cpp LibWeb: Support inline-level padding and border properly 2022-02-14 18:00:21 +01:00
LineBuilder.h LibWeb: Support inline-level padding and border properly 2022-02-14 18:00:21 +01:00
ListItemBox.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
ListItemBox.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
ListItemMarkerBox.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
ListItemMarkerBox.h LibWeb: Render any specified list-style-image for list items 2021-10-29 22:06:49 +02:00
Node.cpp LibWeb: Add new property 'text-decoration-style' 2022-01-23 15:48:27 +03:30
Node.h LibWeb: Add stacking contexts to Node::for_each_child_in_paint_order 2022-02-14 21:33:05 +01:00
RadioButton.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
RadioButton.h Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
ReplacedBox.cpp LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
ReplacedBox.h LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
SVGBox.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
SVGBox.h LibWeb: Add const versions of SVGBox::dom_node() and friends 2022-02-11 21:38:27 +01:00
SVGFormattingContext.cpp LibWeb: Rename SVGPathBox -> SVGGeometryBox 2022-02-11 21:38:27 +01:00
SVGFormattingContext.h LibWeb: Add SVGFormattingContext to handle SVG box trees 2021-09-18 01:39:59 +02:00
SVGGeometryBox.cpp LibWeb: Rename SVGPathBox -> SVGGeometryBox 2022-02-11 21:38:27 +01:00
SVGGeometryBox.h LibWeb: Rename SVGPathBox -> SVGGeometryBox 2022-02-11 21:38:27 +01:00
SVGGraphicsBox.cpp AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
SVGGraphicsBox.h LibWeb: Add const versions of SVGBox::dom_node() and friends 2022-02-11 21:38:27 +01:00
SVGSVGBox.cpp LibWeb: Add SVGFormattingContext to handle SVG box trees 2021-09-18 01:39:59 +02:00
SVGSVGBox.h LibWeb: Add SVGFormattingContext to handle SVG box trees 2021-09-18 01:39:59 +02:00
TableBox.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TableBox.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TableCellBox.cpp LibWeb: Remove Layout::Box::width_of_logical_containing_block() 2021-10-27 18:00:51 +02:00
TableCellBox.h LibWeb: Remove Layout::Box::width_of_logical_containing_block() 2021-10-27 18:00:51 +02:00
TableFormattingContext.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
TableFormattingContext.h LibWeb: Move line boxes from Layout::Box to BlockContainer 2021-10-06 21:53:25 +02:00
TableRowBox.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TableRowBox.h LibWeb: Start work towards modern CSS "display" values 2021-10-06 19:12:52 +02:00
TableRowGroupBox.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TableRowGroupBox.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TextNode.cpp LibWeb: Consider TextDecorationStyle when rendering text 2022-01-23 15:48:27 +03:30
TextNode.h LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
TreeBuilder.cpp LibWeb: Compute element style in Layout::TreeBuilder 2022-02-05 22:50:39 +01:00
TreeBuilder.h LibWeb: Add missing headers 2021-10-20 09:20:18 +01:00