1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-18 20:25:07 +00:00
serenity/Libraries/LibWeb/Layout
Andreas Kling 385d744989 LibWeb: Use smart pointers between DOM and Layout tree
DOM::Node now points to its LayoutNode with a WeakPtr.
LayoutNode points to its DOM::Node and DOM::Document with RefPtrs.

Layout trees come and go in response to various events, so the DOM tree
already has to deal with that. The DOM should always live at least as
long as the layout tree, so this patch enforces that assumption by
making layout nodes keep their corresponding DOM objects alive.

This may not be optimal, but it removes a lot of ambiguous raw pointer
action which is not worth accomodating.
2020-10-22 20:26:32 +02:00
..
BoxModelMetrics.cpp LibWeb: Turn BoxModelMetrics into a simple struct 2020-06-24 11:22:34 +02:00
BoxModelMetrics.h LibWeb: Move CSS classes into the Web::CSS namespace 2020-07-26 20:05:15 +02:00
LayoutBlock.cpp LibWeb: Don't collapse blocks into the previous sibling's padding 2020-10-09 21:27:34 +02:00
LayoutBlock.h LibWeb: Specialize hit testing for text cursor purposes 2020-08-05 16:57:51 +02:00
LayoutBox.cpp LibWeb: Allow focusing individual (focusable) elements with Tab key 2020-08-15 00:05:45 +02:00
LayoutBox.h LibWeb: Specialize hit testing for text cursor purposes 2020-08-05 16:57:51 +02:00
LayoutBreak.cpp LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutBreak.h LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutButton.cpp LibWeb: Implement <input type=submit> without using LibGUI 2020-09-12 18:18:20 +02:00
LayoutButton.h LibWeb: Implement <input type=submit> without using LibGUI 2020-09-12 18:18:20 +02:00
LayoutCanvas.cpp LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutCanvas.h LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutCheckBox.cpp LibWeb: Do not handle mouse events on disabled checkboxes 2020-09-12 15:00:39 +02:00
LayoutCheckBox.h LibWeb: Add basic support for <input type=checkbox> 2020-09-11 18:42:43 +02:00
LayoutDocument.cpp Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
LayoutDocument.h LibWeb: Make selection state recomputation implicit 2020-08-21 17:57:24 +02:00
LayoutFrame.cpp Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
LayoutFrame.h Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
LayoutImage.cpp LibWeb: cache in-process decoded images in ImageResource 2020-09-12 20:26:14 +02:00
LayoutImage.h LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutInline.cpp LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutInline.h LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutListItem.cpp LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutListItem.h LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutListItemMarker.cpp LibWeb: Move CSS classes into the Web::CSS namespace 2020-07-26 20:05:15 +02:00
LayoutListItemMarker.h LibWeb: Move DOM classes into the Web::DOM namespace 2020-07-26 20:05:15 +02:00
LayoutNode.cpp LibWeb: Add {before,after}_children_paint() methods 2020-10-10 23:28:41 +02:00
LayoutNode.h LibWeb: Use smart pointers between DOM and Layout tree 2020-10-22 20:26:32 +02:00
LayoutPosition.cpp LibWeb: Add LayoutRange::normalized() 2020-06-29 00:39:51 +02:00
LayoutPosition.h Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
LayoutReplaced.cpp LibWeb: Fix layout of replaced with width:auto + no intrinsic ratio 2020-09-12 18:18:20 +02:00
LayoutReplaced.h LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutStyle.h LibWeb: Move CSS classes into the Web::CSS namespace 2020-07-26 20:05:15 +02:00
LayoutSVG.cpp LibWeb: Create LayoutNodes for each SVG element 2020-10-10 23:28:41 +02:00
LayoutSVG.h LibWeb: Create LayoutNodes for each SVG element 2020-10-10 23:28:41 +02:00
LayoutSVGGraphics.cpp LibWeb: Create LayoutNodes for each SVG element 2020-10-10 23:28:41 +02:00
LayoutSVGGraphics.h LibWeb: Create LayoutNodes for each SVG element 2020-10-10 23:28:41 +02:00
LayoutSVGPath.cpp LibWeb: Create LayoutNodes for each SVG element 2020-10-10 23:28:41 +02:00
LayoutSVGPath.h LibWeb: Create LayoutNodes for each SVG element 2020-10-10 23:28:41 +02:00
LayoutSVGSVG.cpp LibWeb: Create LayoutNodes for each SVG element 2020-10-10 23:28:41 +02:00
LayoutSVGSVG.h LibWeb: Create LayoutNodes for each SVG element 2020-10-10 23:28:41 +02:00
LayoutTable.cpp LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutTable.h LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutTableCell.cpp LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutTableCell.h LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutTableRow.cpp LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutTableRow.h LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutTableRowGroup.cpp LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutTableRowGroup.h LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LayoutText.cpp LibWeb: Don't paint a text cursor in unfocused frames 2020-08-14 12:15:11 +02:00
LayoutText.h LibWeb: Add a blinking text cursor :^) 2020-08-02 17:34:50 +02:00
LayoutTreeBuilder.cpp LibWeb: Move CSS classes into the Web::CSS namespace 2020-07-26 20:05:15 +02:00
LayoutTreeBuilder.h LibWeb: Move DOM classes into the Web::DOM namespace 2020-07-26 20:05:15 +02:00
LayoutWidget.cpp Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
LayoutWidget.h LibWeb: Make layout tree have non-const pointers to the DOM 2020-07-28 19:48:57 +02:00
LineBox.cpp Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
LineBox.h LibWeb: Teach line layout to collapse whitespace across fragments 2020-06-13 15:03:16 +02:00
LineBoxFragment.cpp LibWeb: Fix sometimes missing text selection highlight 2020-08-26 21:00:26 +02:00
LineBoxFragment.h Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00