From 9f581d0bc9bee10bd3c30e86d6bb539b4446290b Mon Sep 17 00:00:00 2001 From: Aliaksandr Kalenik Date: Fri, 16 Feb 2024 01:10:32 +0100 Subject: [PATCH] LibWeb: Return overflow rect width from Element::scroll_width() Spec says that this function has to return "width of the element scrolling area" which is width of "scrolling overflow rect" in our model. --- .../expected/DOM/element-scroll-width.txt | 1 + .../Text/input/DOM/element-scroll-width.html | 26 +++++++++++++++++++ Userland/Libraries/LibWeb/DOM/Element.cpp | 2 +- 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 Tests/LibWeb/Text/expected/DOM/element-scroll-width.txt create mode 100644 Tests/LibWeb/Text/input/DOM/element-scroll-width.html diff --git a/Tests/LibWeb/Text/expected/DOM/element-scroll-width.txt b/Tests/LibWeb/Text/expected/DOM/element-scroll-width.txt new file mode 100644 index 0000000000..52ea7a30cf --- /dev/null +++ b/Tests/LibWeb/Text/expected/DOM/element-scroll-width.txt @@ -0,0 +1 @@ +Item 1Item 2Item 3Item 4Item 5Item 6Item 7Item 8Item 9Item 10Item 11Item 12 1200 diff --git a/Tests/LibWeb/Text/input/DOM/element-scroll-width.html b/Tests/LibWeb/Text/input/DOM/element-scroll-width.html new file mode 100644 index 0000000000..cf18c882f1 --- /dev/null +++ b/Tests/LibWeb/Text/input/DOM/element-scroll-width.html @@ -0,0 +1,26 @@ + + + +
Item 1Item 2Item 3Item 4Item 5Item 6Item 7Item 8Item 9Item 10Item 11Item 12
+ diff --git a/Userland/Libraries/LibWeb/DOM/Element.cpp b/Userland/Libraries/LibWeb/DOM/Element.cpp index fbbfa0e0ba..1c05221d79 100644 --- a/Userland/Libraries/LibWeb/DOM/Element.cpp +++ b/Userland/Libraries/LibWeb/DOM/Element.cpp @@ -1394,7 +1394,7 @@ int Element::scroll_width() const return 0; // 7. Return the width of the element’s scrolling area. - return paintable_box()->border_box_width().to_int(); + return paintable_box()->scrollable_overflow_rect()->width().to_int(); } // https://drafts.csswg.org/cssom-view/#dom-element-scrollheight