diff --git a/Tests/LibWeb/Ref/reference/scrolled-text-with-clipped-corners-ref.html b/Tests/LibWeb/Ref/reference/scrolled-text-with-clipped-corners-ref.html new file mode 100644 index 00000000000..b3f0ad58095 --- /dev/null +++ b/Tests/LibWeb/Ref/reference/scrolled-text-with-clipped-corners-ref.html @@ -0,0 +1,36 @@ + + +
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ultrices neque eu nisi facilisis + viverra. Integer lacinia, lacus vel condimentum suscipit, lacus felis porta nulla, eget + lacinia sem neque ut neque. In sagittis, eros vel interdum porta, quam ex rhoncus lectus, + vitae suscipit risus orci sit amet velit. Praesent imperdiet condimentum rutrum. Cras vitae + nisl sapien. Curabitur ligula diam, tincidunt congue tincidunt nec, sodales nec orci. + Vestibulum tincidunt non elit in vehicula. Etiam malesuada neque eu porta rhoncus. Curabitur + vel nunc finibus ligula posuere venenatis. +
+
+ diff --git a/Tests/LibWeb/Ref/scrolled-text-with-clipped-corners.html b/Tests/LibWeb/Ref/scrolled-text-with-clipped-corners.html new file mode 100644 index 00000000000..a451ec39305 --- /dev/null +++ b/Tests/LibWeb/Ref/scrolled-text-with-clipped-corners.html @@ -0,0 +1,29 @@ + + + +
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ultrices neque eu nisi facilisis + viverra. Integer lacinia, lacus vel condimentum suscipit, lacus felis porta nulla, eget lacinia + sem neque ut neque. In sagittis, eros vel interdum porta, quam ex rhoncus lectus, vitae suscipit + risus orci sit amet velit. Praesent imperdiet condimentum rutrum. Cras vitae nisl sapien. + Curabitur ligula diam, tincidunt congue tincidunt nec, sodales nec orci. Vestibulum tincidunt + non elit in vehicula. Etiam malesuada neque eu porta rhoncus. Curabitur vel nunc finibus ligula + posuere venenatis. +
+ diff --git a/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp b/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp index 1ee9f177bc1..b7053d48bfa 100644 --- a/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp +++ b/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp @@ -679,8 +679,6 @@ void PaintableWithLines::paint(PaintContext& context, PaintPhase phase) const context.recording_painter().save(); // FIXME: Handle overflow-x and overflow-y being different values. context.recording_painter().add_clip_rect(context.rounded_device_rect(clip_box).to_type()); - auto scroll_offset = context.rounded_device_point(this->scroll_offset()); - context.recording_painter().translate(-scroll_offset.to_type()); auto border_radii = normalized_border_radii_data(ShrinkRadiiForBorders::Yes); CornerRadii corner_radii { @@ -693,6 +691,9 @@ void PaintableWithLines::paint(PaintContext& context, PaintPhase phase) const corner_clip_id = context.allocate_corner_clipper_id(); context.recording_painter().sample_under_corners(*corner_clip_id, corner_radii, context.rounded_device_rect(clip_box).to_type(), CornerClip::Outside); } + + auto scroll_offset = context.rounded_device_point(this->scroll_offset()); + context.recording_painter().translate(-scroll_offset.to_type()); } // Text shadows