1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 14:07:43 +00:00

LibWeb/Layout: Rename Box::{paint => paintable}_box()

It returns a PaintableBox, not a 'PaintBox'.
This commit is contained in:
Linus Groh 2023-04-20 16:00:42 +01:00 committed by Andreas Kling
parent ec37b55777
commit 754e458d0a
20 changed files with 50 additions and 50 deletions

View file

@ -1327,7 +1327,7 @@ static ErrorOr<void> scroll_an_element_into_view(DOM::Element& element, Bindings
if (!layout_node) if (!layout_node)
return Error::from_string_view("Element has no parent layout node that is a box."sv); return Error::from_string_view("Element has no parent layout node that is a box."sv);
page->client().page_did_request_scroll_into_view(verify_cast<Layout::Box>(*layout_node).paint_box()->absolute_padding_box_rect()); page->client().page_did_request_scroll_into_view(verify_cast<Layout::Box>(*layout_node).paintable_box()->absolute_padding_box_rect());
return {}; return {};
} }

View file

@ -1413,7 +1413,7 @@ Painting::PaintableBox const* Node::paint_box() const
return nullptr; return nullptr;
if (!layout_node()->is_box()) if (!layout_node()->is_box())
return nullptr; return nullptr;
return static_cast<Layout::Box const&>(*layout_node()).paint_box(); return static_cast<Layout::Box const&>(*layout_node()).paintable_box();
} }
// https://dom.spec.whatwg.org/#queue-a-mutation-record // https://dom.spec.whatwg.org/#queue-a-mutation-record

View file

@ -166,12 +166,12 @@ void dump_tree(StringBuilder& builder, Layout::Node const& layout_node, bool sho
color_off, color_off,
identifier.characters()); identifier.characters());
if (auto const* paint_box = box.paint_box()) { if (auto const* paintable_box = box.paintable_box()) {
builder.appendff("at ({},{}) content-size {}x{}", builder.appendff("at ({},{}) content-size {}x{}",
paint_box->absolute_x(), paintable_box->absolute_x(),
paint_box->absolute_y(), paintable_box->absolute_y(),
paint_box->content_width(), paintable_box->content_width(),
paint_box->content_height()); paintable_box->content_height());
} }
if (box.is_positioned()) if (box.is_positioned())
@ -209,7 +209,7 @@ void dump_tree(StringBuilder& builder, Layout::Node const& layout_node, bool sho
box.box_model().margin.left, box.box_model().margin.left,
box.box_model().border.left, box.box_model().border.left,
box.box_model().padding.left, box.box_model().padding.left,
box.paint_box() ? box.paint_box()->content_width() : 0, box.paintable_box() ? box.paintable_box()->content_width() : 0,
box.box_model().padding.right, box.box_model().padding.right,
box.box_model().border.right, box.box_model().border.right,
box.box_model().margin.right); box.box_model().margin.right);
@ -219,7 +219,7 @@ void dump_tree(StringBuilder& builder, Layout::Node const& layout_node, bool sho
box.box_model().margin.top, box.box_model().margin.top,
box.box_model().border.top, box.box_model().border.top,
box.box_model().padding.top, box.box_model().padding.top,
box.paint_box() ? box.paint_box()->content_height() : 0, box.paintable_box() ? box.paintable_box()->content_height() : 0,
box.box_model().padding.bottom, box.box_model().padding.bottom,
box.box_model().border.bottom, box.box_model().border.bottom,
box.box_model().margin.bottom); box.box_model().margin.bottom);

View file

@ -23,7 +23,7 @@ BlockContainer::~BlockContainer() = default;
Painting::PaintableWithLines const* BlockContainer::paint_box() const Painting::PaintableWithLines const* BlockContainer::paint_box() const
{ {
return static_cast<Painting::PaintableWithLines const*>(Box::paint_box()); return static_cast<Painting::PaintableWithLines const*>(Box::paintable_box());
} }
JS::GCPtr<Painting::Paintable> BlockContainer::create_paintable() const JS::GCPtr<Painting::Paintable> BlockContainer::create_paintable() const

View file

@ -68,8 +68,8 @@ void Box::set_scroll_offset(CSSPixelPoint offset)
void Box::set_needs_display() void Box::set_needs_display()
{ {
if (paint_box()) if (paintable_box())
browsing_context().set_needs_display(paint_box()->absolute_rect()); browsing_context().set_needs_display(paintable_box()->absolute_rect());
} }
bool Box::is_body() const bool Box::is_body() const
@ -82,7 +82,7 @@ JS::GCPtr<Painting::Paintable> Box::create_paintable() const
return Painting::PaintableBox::create(*this); return Painting::PaintableBox::create(*this);
} }
Painting::PaintableBox const* Box::paint_box() const Painting::PaintableBox const* Box::paintable_box() const
{ {
return static_cast<Painting::PaintableBox const*>(Node::paintable()); return static_cast<Painting::PaintableBox const*>(Node::paintable());
} }

View file

@ -22,7 +22,7 @@ class Box : public NodeWithStyleAndBoxModelMetrics {
JS_CELL(Box, NodeWithStyleAndBoxModelMetrics); JS_CELL(Box, NodeWithStyleAndBoxModelMetrics);
public: public:
Painting::PaintableBox const* paint_box() const; Painting::PaintableBox const* paintable_box() const;
virtual void set_needs_display() override; virtual void set_needs_display() override;

View file

@ -33,7 +33,7 @@ void FrameBox::did_set_rect()
ReplacedBox::did_set_rect(); ReplacedBox::did_set_rect();
VERIFY(dom_node().nested_browsing_context()); VERIFY(dom_node().nested_browsing_context());
dom_node().nested_browsing_context()->set_size(paint_box()->content_size()); dom_node().nested_browsing_context()->set_size(paintable_box()->content_size());
} }
JS::GCPtr<Painting::Paintable> FrameBox::create_paintable() const JS::GCPtr<Painting::Paintable> FrameBox::create_paintable() const

View file

@ -92,7 +92,7 @@ bool ImageBox::renders_as_alt_text() const
void ImageBox::browsing_context_did_set_viewport_rect(CSSPixelRect const& viewport_rect) void ImageBox::browsing_context_did_set_viewport_rect(CSSPixelRect const& viewport_rect)
{ {
m_image_loader.set_visible_in_viewport(paint_box() && viewport_rect.intersects(paint_box()->absolute_rect())); m_image_loader.set_visible_in_viewport(paintable_box() && viewport_rect.intersects(paintable_box()->absolute_rect()));
} }
JS::GCPtr<Painting::Paintable> ImageBox::create_paintable() const JS::GCPtr<Painting::Paintable> ImageBox::create_paintable() const

View file

@ -39,7 +39,7 @@ void Label::handle_mouseup_on_label(Badge<Painting::TextPaintable>, CSSPixelPoin
return; return;
if (auto* control = labeled_control(); control) { if (auto* control = labeled_control(); control) {
bool is_inside_control = control->paint_box()->absolute_rect().contains(position); bool is_inside_control = control->paintable_box()->absolute_rect().contains(position);
bool is_inside_label = paint_box()->absolute_rect().contains(position); bool is_inside_label = paint_box()->absolute_rect().contains(position);
if (is_inside_control || is_inside_label) if (is_inside_control || is_inside_label)
@ -55,7 +55,7 @@ void Label::handle_mousemove_on_label(Badge<Painting::TextPaintable>, CSSPixelPo
return; return;
if (auto* control = labeled_control(); control) { if (auto* control = labeled_control(); control) {
bool is_inside_control = control->paint_box()->absolute_rect().contains(position); bool is_inside_control = control->paintable_box()->absolute_rect().contains(position);
bool is_inside_label = paint_box()->absolute_rect().contains(position); bool is_inside_label = paint_box()->absolute_rect().contains(position);
control->paintable()->handle_associated_label_mousemove({}, is_inside_control || is_inside_label); control->paintable()->handle_associated_label_mousemove({}, is_inside_control || is_inside_label);

View file

@ -75,7 +75,7 @@ void LayoutState::commit()
// For boxes, transfer all the state needed for painting. // For boxes, transfer all the state needed for painting.
if (is<Layout::Box>(node)) { if (is<Layout::Box>(node)) {
auto& box = static_cast<Layout::Box const&>(node); auto& box = static_cast<Layout::Box const&>(node);
auto& paint_box = const_cast<Painting::PaintableBox&>(*box.paint_box()); auto& paint_box = const_cast<Painting::PaintableBox&>(*box.paintable_box());
paint_box.set_offset(used_values.offset); paint_box.set_offset(used_values.offset);
paint_box.set_content_size(used_values.content_width(), used_values.content_height()); paint_box.set_content_size(used_values.content_width(), used_values.content_height());
paint_box.set_overflow_data(move(used_values.overflow_data)); paint_box.set_overflow_data(move(used_values.overflow_data));

View file

@ -37,7 +37,7 @@ StringView LineBoxFragment::text() const
CSSPixelRect const LineBoxFragment::absolute_rect() const CSSPixelRect const LineBoxFragment::absolute_rect() const
{ {
CSSPixelRect rect { {}, size() }; CSSPixelRect rect { {}, size() };
rect.set_location(m_layout_node->containing_block()->paint_box()->absolute_position()); rect.set_location(m_layout_node->containing_block()->paintable_box()->absolute_position());
rect.translate_by(offset()); rect.translate_by(offset());
return rect; return rect;
} }

View file

@ -193,11 +193,11 @@ void Node::set_needs_display()
auto* containing_block = this->containing_block(); auto* containing_block = this->containing_block();
if (!containing_block) if (!containing_block)
return; return;
if (!containing_block->paint_box()) if (!containing_block->paintable_box())
return; return;
if (!is<Painting::PaintableWithLines>(*containing_block->paint_box())) if (!is<Painting::PaintableWithLines>(*containing_block->paintable_box()))
return; return;
static_cast<Painting::PaintableWithLines const&>(*containing_block->paint_box()).for_each_fragment([&](auto& fragment) { static_cast<Painting::PaintableWithLines const&>(*containing_block->paintable_box()).for_each_fragment([&](auto& fragment) {
if (&fragment.layout_node() == this || is_ancestor_of(fragment.layout_node())) { if (&fragment.layout_node() == this || is_ancestor_of(fragment.layout_node())) {
browsing_context().set_needs_display(fragment.absolute_rect()); browsing_context().set_needs_display(fragment.absolute_rect());
} }
@ -208,12 +208,12 @@ void Node::set_needs_display()
CSSPixelPoint Node::box_type_agnostic_position() const CSSPixelPoint Node::box_type_agnostic_position() const
{ {
if (is<Box>(*this)) if (is<Box>(*this))
return verify_cast<Box>(*this).paint_box()->absolute_position(); return verify_cast<Box>(*this).paintable_box()->absolute_position();
VERIFY(is_inline()); VERIFY(is_inline());
CSSPixelPoint position; CSSPixelPoint position;
if (auto* block = containing_block()) { if (auto* block = containing_block()) {
if (is<Painting::PaintableWithLines>(*block)) { if (is<Painting::PaintableWithLines>(*block)) {
static_cast<Painting::PaintableWithLines const&>(*block->paint_box()).for_each_fragment([&](auto& fragment) { static_cast<Painting::PaintableWithLines const&>(*block->paintable_box()).for_each_fragment([&](auto& fragment) {
if (&fragment.layout_node() == this || is_ancestor_of(fragment.layout_node())) { if (&fragment.layout_node() == this || is_ancestor_of(fragment.layout_node())) {
position = fragment.absolute_rect().location(); position = fragment.absolute_rect().location();
return IterationDecision::Break; return IterationDecision::Break;

View file

@ -43,11 +43,11 @@ Optional<Gfx::AffineTransform> SVGGeometryBox::layout_transform() const
// If the transform (or path) results in a empty box we can't display this. // If the transform (or path) results in a empty box we can't display this.
if (original_bounding_box.is_empty()) if (original_bounding_box.is_empty())
return {}; return {};
auto scaled_width = paint_box()->content_width().value(); auto scaled_width = paintable_box()->content_width().value();
auto scaled_height = paint_box()->content_height().value(); auto scaled_height = paintable_box()->content_height().value();
scaling = min(scaled_width / original_bounding_box.width(), scaled_height / original_bounding_box.height()); scaling = min(scaled_width / original_bounding_box.width(), scaled_height / original_bounding_box.height());
auto scaled_bounding_box = original_bounding_box.scaled(scaling, scaling); auto scaled_bounding_box = original_bounding_box.scaled(scaling, scaling);
paint_offset = (paint_box()->absolute_rect().location() - svg_box->paint_box()->absolute_rect().location()).to_type<float>() - scaled_bounding_box.location(); paint_offset = (paintable_box()->absolute_rect().location() - svg_box->paint_box()->absolute_rect().location()).to_type<float>() - scaled_bounding_box.location();
} }
return Gfx::AffineTransform {}.translate(paint_offset).scale(scaling, scaling).translate(-origin).multiply(transform); return Gfx::AffineTransform {}.translate(paint_offset).scale(scaling, scaling).translate(-origin).multiply(transform);
} }

View file

@ -36,16 +36,16 @@ void Viewport::build_stacking_context_tree()
const_cast<Painting::PaintableWithLines*>(paint_box())->set_stacking_context(make<Painting::StackingContext>(*this, nullptr)); const_cast<Painting::PaintableWithLines*>(paint_box())->set_stacking_context(make<Painting::StackingContext>(*this, nullptr));
for_each_in_subtree_of_type<Box>([&](Box& box) { for_each_in_subtree_of_type<Box>([&](Box& box) {
if (!box.paint_box()) if (!box.paintable_box())
return IterationDecision::Continue; return IterationDecision::Continue;
const_cast<Painting::PaintableBox*>(box.paint_box())->invalidate_stacking_context(); const_cast<Painting::PaintableBox*>(box.paintable_box())->invalidate_stacking_context();
if (!box.establishes_stacking_context()) { if (!box.establishes_stacking_context()) {
VERIFY(!box.paint_box()->stacking_context()); VERIFY(!box.paintable_box()->stacking_context());
return IterationDecision::Continue; return IterationDecision::Continue;
} }
auto* parent_context = const_cast<Painting::PaintableBox*>(box.paint_box())->enclosing_stacking_context(); auto* parent_context = const_cast<Painting::PaintableBox*>(box.paintable_box())->enclosing_stacking_context();
VERIFY(parent_context); VERIFY(parent_context);
const_cast<Painting::PaintableBox*>(box.paint_box())->set_stacking_context(make<Painting::StackingContext>(box, parent_context)); const_cast<Painting::PaintableBox*>(box.paintable_box())->set_stacking_context(make<Painting::StackingContext>(box, parent_context));
return IterationDecision::Continue; return IterationDecision::Continue;
}); });

View file

@ -38,7 +38,7 @@ void InlinePaintable::paint(PaintContext& context, Painting::PaintPhase phase) c
auto top_right_border_radius = computed_values().border_top_right_radius(); auto top_right_border_radius = computed_values().border_top_right_radius();
auto bottom_right_border_radius = computed_values().border_bottom_right_radius(); auto bottom_right_border_radius = computed_values().border_bottom_right_radius();
auto bottom_left_border_radius = computed_values().border_bottom_left_radius(); auto bottom_left_border_radius = computed_values().border_bottom_left_radius();
auto containing_block_position_in_absolute_coordinates = containing_block()->paint_box()->absolute_position(); auto containing_block_position_in_absolute_coordinates = containing_block()->paintable_box()->absolute_position();
for_each_fragment([&](auto const& fragment, bool is_first_fragment, bool is_last_fragment) { for_each_fragment([&](auto const& fragment, bool is_first_fragment, bool is_last_fragment) {
CSSPixelRect absolute_fragment_rect { containing_block_position_in_absolute_coordinates.translated(fragment.offset()), fragment.size() }; CSSPixelRect absolute_fragment_rect { containing_block_position_in_absolute_coordinates.translated(fragment.offset()), fragment.size() };
@ -89,7 +89,7 @@ void InlinePaintable::paint(PaintContext& context, Painting::PaintPhase phase) c
.left = computed_values().border_left(), .left = computed_values().border_left(),
}; };
auto containing_block_position_in_absolute_coordinates = containing_block()->paint_box()->absolute_position(); auto containing_block_position_in_absolute_coordinates = containing_block()->paintable_box()->absolute_position();
for_each_fragment([&](auto const& fragment, bool is_first_fragment, bool is_last_fragment) { for_each_fragment([&](auto const& fragment, bool is_first_fragment, bool is_last_fragment) {
CSSPixelRect absolute_fragment_rect { containing_block_position_in_absolute_coordinates.translated(fragment.offset()), fragment.size() }; CSSPixelRect absolute_fragment_rect { containing_block_position_in_absolute_coordinates.translated(fragment.offset()), fragment.size() };
@ -132,7 +132,7 @@ void InlinePaintable::for_each_fragment(Callback callback) const
{ {
// FIXME: This will be slow if the containing block has a lot of fragments! // FIXME: This will be slow if the containing block has a lot of fragments!
Vector<Layout::LineBoxFragment const&> fragments; Vector<Layout::LineBoxFragment const&> fragments;
verify_cast<PaintableWithLines>(*containing_block()->paint_box()).for_each_fragment([&](auto& fragment) { verify_cast<PaintableWithLines>(*containing_block()->paintable_box()).for_each_fragment([&](auto& fragment) {
if (layout_node().is_inclusive_ancestor_of(fragment.layout_node())) if (layout_node().is_inclusive_ancestor_of(fragment.layout_node()))
fragments.append(fragment); fragments.append(fragment);
return IterationDecision::Continue; return IterationDecision::Continue;

View file

@ -76,7 +76,7 @@ CSSPixelPoint PaintableBox::effective_offset() const
{ {
CSSPixelPoint offset; CSSPixelPoint offset;
if (containing_block() && m_containing_line_box_fragment.has_value()) { if (containing_block() && m_containing_line_box_fragment.has_value()) {
auto& paintable_with_lines = *verify_cast<PaintableWithLines>(containing_block()->paint_box()); auto& paintable_with_lines = *verify_cast<PaintableWithLines>(containing_block()->paintable_box());
auto const& fragment = paintable_with_lines.line_boxes()[m_containing_line_box_fragment->line_box_index].fragments()[m_containing_line_box_fragment->fragment_index]; auto const& fragment = paintable_with_lines.line_boxes()[m_containing_line_box_fragment->line_box_index].fragments()[m_containing_line_box_fragment->fragment_index];
offset = fragment.offset(); offset = fragment.offset();
} else { } else {
@ -93,7 +93,7 @@ CSSPixelRect PaintableBox::compute_absolute_rect() const
{ {
CSSPixelRect rect { effective_offset(), content_size() }; CSSPixelRect rect { effective_offset(), content_size() };
for (auto const* block = containing_block(); block && block->paintable(); block = block->paintable()->containing_block()) for (auto const* block = containing_block(); block && block->paintable(); block = block->paintable()->containing_block())
rect.translate_by(block->paint_box()->effective_offset()); rect.translate_by(block->paintable_box()->effective_offset());
return rect; return rect;
} }
@ -137,8 +137,8 @@ Painting::StackingContext* PaintableBox::enclosing_stacking_context()
if (!is<Layout::Box>(ancestor)) if (!is<Layout::Box>(ancestor))
continue; continue;
auto& ancestor_box = static_cast<Layout::Box&>(const_cast<Layout::NodeWithStyle&>(*ancestor)); auto& ancestor_box = static_cast<Layout::Box&>(const_cast<Layout::NodeWithStyle&>(*ancestor));
if (auto* ancestor_paint_box = ancestor_box.paint_box(); ancestor_paint_box && ancestor_paint_box->stacking_context()) if (auto* ancestor_paintable_box = ancestor_box.paintable_box(); ancestor_paintable_box && ancestor_paintable_box->stacking_context())
return const_cast<StackingContext*>(ancestor_paint_box->stacking_context()); return const_cast<StackingContext*>(ancestor_paintable_box->stacking_context());
} }
// We should always reach the Layout::Viewport stacking context. // We should always reach the Layout::Viewport stacking context.
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
@ -321,8 +321,8 @@ Optional<CSSPixelRect> PaintableBox::calculate_overflow_clipped_rect() const
// transforms doesn't make sense // transforms doesn't make sense
// TODO: figure out if there are cases when stacking context should be // TODO: figure out if there are cases when stacking context should be
// crossed to calculate correct clip rect // crossed to calculate correct clip rect
if (!stacking_context() && containing_block() && containing_block()->paint_box()) { if (!stacking_context() && containing_block() && containing_block()->paintable_box()) {
m_clip_rect = containing_block()->paint_box()->calculate_overflow_clipped_rect(); m_clip_rect = containing_block()->paintable_box()->calculate_overflow_clipped_rect();
} }
auto overflow_x = computed_values().overflow_x(); auto overflow_x = computed_values().overflow_x();
@ -702,7 +702,7 @@ Optional<HitTestResult> PaintableWithLines::hit_test(CSSPixelPoint position, Hit
Optional<HitTestResult> last_good_candidate; Optional<HitTestResult> last_good_candidate;
for (auto& line_box : m_line_boxes) { for (auto& line_box : m_line_boxes) {
for (auto& fragment : line_box.fragments()) { for (auto& fragment : line_box.fragments()) {
if (is<Layout::Box>(fragment.layout_node()) && static_cast<Layout::Box const&>(fragment.layout_node()).paint_box()->stacking_context()) if (is<Layout::Box>(fragment.layout_node()) && static_cast<Layout::Box const&>(fragment.layout_node()).paintable_box()->stacking_context())
continue; continue;
if (!fragment.layout_node().containing_block()) { if (!fragment.layout_node().containing_block()) {
dbgln("FIXME: PaintableWithLines::hit_test(): Missing containing block on {}", fragment.layout_node().debug_description()); dbgln("FIXME: PaintableWithLines::hit_test(): Missing containing block on {}", fragment.layout_node().debug_description());

View file

@ -41,7 +41,7 @@ CSSPixelRect SVGPaintable::compute_absolute_rect() const
if (auto* svg_svg_box = layout_box().first_ancestor_of_type<Layout::SVGSVGBox>()) { if (auto* svg_svg_box = layout_box().first_ancestor_of_type<Layout::SVGSVGBox>()) {
CSSPixelRect rect { effective_offset(), content_size() }; CSSPixelRect rect { effective_offset(), content_size() };
for (Layout::Box const* ancestor = svg_svg_box; ancestor && ancestor->paintable(); ancestor = ancestor->paintable()->containing_block()) for (Layout::Box const* ancestor = svg_svg_box; ancestor && ancestor->paintable(); ancestor = ancestor->paintable()->containing_block())
rect.translate_by(ancestor->paint_box()->effective_offset()); rect.translate_by(ancestor->paintable_box()->effective_offset());
return rect; return rect;
} }
return PaintableBox::compute_absolute_rect(); return PaintableBox::compute_absolute_rect();

View file

@ -79,7 +79,7 @@ void StackingContext::paint_descendants(PaintContext& context, Layout::Node cons
box.for_each_child([&](auto& child) { box.for_each_child([&](auto& child) {
// If `child` establishes its own stacking context, skip over it. // If `child` establishes its own stacking context, skip over it.
if (is<Layout::Box>(child) && child.paintable() && static_cast<Layout::Box const&>(child).paint_box()->stacking_context()) if (is<Layout::Box>(child) && child.paintable() && static_cast<Layout::Box const&>(child).paintable_box()->stacking_context())
return; return;
// If `child` is positioned with a z-index of `0` or `auto`, skip over it. // If `child` is positioned with a z-index of `0` or `auto`, skip over it.
if (child.is_positioned()) { if (child.is_positioned()) {
@ -176,7 +176,7 @@ void StackingContext::paint_internal(PaintContext& context) const
// Draw positioned descendants with z-index `0` or `auto` in tree order. (step 8) // Draw positioned descendants with z-index `0` or `auto` in tree order. (step 8)
// NOTE: Non-positioned descendants that establish stacking contexts with z-index `0` or `auto` are also painted here. // NOTE: Non-positioned descendants that establish stacking contexts with z-index `0` or `auto` are also painted here.
// FIXME: There's more to this step that we have yet to understand and implement. // FIXME: There's more to this step that we have yet to understand and implement.
m_box->paint_box()->for_each_in_subtree_of_type<PaintableBox>([&](PaintableBox const& paint_box) { m_box->paintable_box()->for_each_in_subtree_of_type<PaintableBox>([&](PaintableBox const& paint_box) {
auto const& z_index = paint_box.computed_values().z_index(); auto const& z_index = paint_box.computed_values().z_index();
if (auto* child = paint_box.stacking_context()) { if (auto* child = paint_box.stacking_context()) {
if (!z_index.has_value() || z_index.value() == 0) if (!z_index.has_value() || z_index.value() == 0)

View file

@ -20,7 +20,7 @@ public:
StackingContext* parent() { return m_parent; } StackingContext* parent() { return m_parent; }
StackingContext const* parent() const { return m_parent; } StackingContext const* parent() const { return m_parent; }
PaintableBox const& paintable_box() const { return *m_box->paint_box(); } PaintableBox const& paintable_box() const { return *m_box->paintable_box(); }
enum class StackingContextPaintPhase { enum class StackingContextPaintPhase {
BackgroundAndBorders, BackgroundAndBorders,

View file

@ -495,9 +495,9 @@ Messages::WebContentServer::InspectDomNodeResponse ConnectionFromClient::inspect
MUST(serializer.add("border_right"sv, box_model.border.right.value())); MUST(serializer.add("border_right"sv, box_model.border.right.value()));
MUST(serializer.add("border_bottom"sv, box_model.border.bottom.value())); MUST(serializer.add("border_bottom"sv, box_model.border.bottom.value()));
MUST(serializer.add("border_left"sv, box_model.border.left.value())); MUST(serializer.add("border_left"sv, box_model.border.left.value()));
if (auto* paint_box = box->paint_box()) { if (auto* paintable_box = box->paintable_box()) {
MUST(serializer.add("content_width"sv, paint_box->content_width().value())); MUST(serializer.add("content_width"sv, paintable_box->content_width().value()));
MUST(serializer.add("content_height"sv, paint_box->content_height().value())); MUST(serializer.add("content_height"sv, paintable_box->content_height().value()));
} else { } else {
MUST(serializer.add("content_width"sv, 0)); MUST(serializer.add("content_width"sv, 0));
MUST(serializer.add("content_height"sv, 0)); MUST(serializer.add("content_height"sv, 0));