Browse Source

LibWeb: Simplify LayoutWidget layout

Set the intrinsic size up front and let LayoutReplaced do the work.
Andreas Kling 5 năm trước cách đây
mục cha
commit
11f2c59219

+ 4 - 10
Libraries/LibWeb/Layout/LayoutWidget.cpp

@@ -40,6 +40,10 @@ LayoutWidget::LayoutWidget(const Element& element, GUI::Widget& widget)
     : LayoutReplaced(element, StyleProperties::create())
     , m_widget(widget)
 {
+    set_has_intrinsic_width(true);
+    set_has_intrinsic_height(true);
+    set_intrinsic_width(widget.width());
+    set_intrinsic_height(widget.height());
 }
 
 LayoutWidget::~LayoutWidget()
@@ -47,16 +51,6 @@ LayoutWidget::~LayoutWidget()
     widget().remove_from_parent();
 }
 
-void LayoutWidget::layout(LayoutMode layout_mode)
-{
-    set_has_intrinsic_width(true);
-    set_has_intrinsic_height(true);
-    set_intrinsic_width(widget().width());
-    set_intrinsic_height(widget().height());
-
-    LayoutReplaced::layout(layout_mode);
-}
-
 void LayoutWidget::did_set_rect()
 {
     LayoutReplaced::did_set_rect();

+ 0 - 1
Libraries/LibWeb/Layout/LayoutWidget.h

@@ -35,7 +35,6 @@ public:
     LayoutWidget(const Element&, GUI::Widget&);
     virtual ~LayoutWidget() override;
 
-    virtual void layout(LayoutMode = LayoutMode::Default) override;
     virtual void render(RenderingContext&) override;
 
     GUI::Widget& widget() { return m_widget; }