@@ -21,11 +21,6 @@ CanvasPaintable::CanvasPaintable(Layout::CanvasBox const& layout_box)
2121{
2222}
2323
24- Layout::CanvasBox const & CanvasPaintable::layout_box () const
25- {
26- return static_cast <Layout::CanvasBox const &>(layout_node ());
27- }
28-
2924void CanvasPaintable::paint (DisplayListRecordingContext& context, PaintPhase phase) const
3025{
3126 if (!is_visible ())
@@ -37,13 +32,12 @@ void CanvasPaintable::paint(DisplayListRecordingContext& context, PaintPhase pha
3732 auto canvas_rect = context.rounded_device_rect (absolute_rect ());
3833 ScopedCornerRadiusClip corner_clip { context, canvas_rect, normalized_border_radii_data (ShrinkRadiiForBorders::Yes) };
3934
40- if (layout_box ().dom_node ().surface ()) {
41- auto surface = layout_box ().dom_node ().surface ();
42-
35+ auto & canvas_element = as<HTML::HTMLCanvasElement>(*dom_node ());
36+ if (auto surface = canvas_element.surface ()) {
4337 // FIXME: Remove this const_cast.
44- const_cast <HTML::HTMLCanvasElement&>(layout_box (). dom_node () ).present ();
38+ const_cast <HTML::HTMLCanvasElement&>(canvas_element ).present ();
4539 auto scaling_mode = to_gfx_scaling_mode (computed_values ().image_rendering (), surface->rect (), canvas_rect.to_type <int >());
46- context.display_list_recorder ().draw_painting_surface (canvas_rect.to_type <int >(), *layout_box (). dom_node (). surface () , surface->rect (), scaling_mode);
40+ context.display_list_recorder ().draw_painting_surface (canvas_rect.to_type <int >(), *surface, surface->rect (), scaling_mode);
4741 }
4842 }
4943}
0 commit comments