1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 04:07:44 +00:00

LibWeb: Remove WidgetBox layout node

The approach of attaching sub-widgets to the web view widget was only
ever going to work in single-process mode, and that's not what we're
about anymore, so let's just get rid of WidgetBox so we don't have the
dead-end architecture hanging over us.

The next step here is to re-implement <input type=text> using LibWeb
primitives.
This commit is contained in:
Andreas Kling 2021-02-10 08:58:26 +01:00
parent 1ad65b173b
commit 5e91e61900
10 changed files with 2 additions and 172 deletions

View file

@ -32,7 +32,7 @@
#include <LibWeb/Layout/InitialContainingBlockBox.h>
#include <LibWeb/Layout/InlineFormattingContext.h>
#include <LibWeb/Layout/ListItemBox.h>
#include <LibWeb/Layout/WidgetBox.h>
#include <LibWeb/Layout/ReplacedBox.h>
#include <LibWeb/Page/Frame.h>
namespace Web::Layout {
@ -481,13 +481,6 @@ void BlockFormattingContext::layout_initial_containing_block(LayoutMode layout_m
// FIXME: This is a hack and should be managed by an overflow mechanism.
icb.set_height(max(static_cast<float>(viewport_rect.height()), lowest_bottom));
// FIXME: This is a total hack. Make sure any GUI::Widgets are moved into place after layout.
// We should stop embedding GUI::Widgets entirely, since that won't work out-of-process.
icb.for_each_in_subtree_of_type<Layout::WidgetBox>([&](auto& widget) {
widget.update_widget();
return IterationDecision::Continue;
});
}
static Gfx::FloatRect rect_in_coordinate_space(const Box& box, const Box& context_box)