From 6f9b98857851cc79750dacd025b2e8bab5773470 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Tue, 4 Apr 2023 16:35:36 +0200 Subject: [PATCH 1/2] Move scrollbar on the
element rather than only on the code block to improve UX --- src/librustdoc/html/static/css/rustdoc.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css index 933a44c5aa7..726394d8348 100644 --- a/src/librustdoc/html/static/css/rustdoc.css +++ b/src/librustdoc/html/static/css/rustdoc.css @@ -392,6 +392,7 @@ img { overflow-x: hidden; /* The sidebar is by default hidden */ overflow-y: hidden; + z-index: 1; } .sidebar, .mobile-topbar, .sidebar-menu-toggle, @@ -535,6 +536,9 @@ ul.block, .block li { .rustdoc .example-wrap > pre { margin: 0; flex-grow: 1; +} + +.rustdoc:not(.source) .example-wrap > pre { overflow: auto hidden; } From 8aef0c7926f18550d71346c570ed92b359cb73e9 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Tue, 4 Apr 2023 16:35:53 +0200 Subject: [PATCH 2/2] Add GUI test for scrollbar position on source code page --- tests/rustdoc-gui/source-code-page-code-scroll.goml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 tests/rustdoc-gui/source-code-page-code-scroll.goml diff --git a/tests/rustdoc-gui/source-code-page-code-scroll.goml b/tests/rustdoc-gui/source-code-page-code-scroll.goml new file mode 100644 index 00000000000..42f1da749e9 --- /dev/null +++ b/tests/rustdoc-gui/source-code-page-code-scroll.goml @@ -0,0 +1,8 @@ +// Checks that the scrollbar is visible on the page rather than the code block. +goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html" +size: (800, 1000) +// "scrollWidth" should be superior than "clientWidth". +assert-property: ("body", {"scrollWidth": 1047, "clientWidth": 800}) + +// Both properties should be equal (ie, no scroll on the code block). +assert-property: (".example-wrap .rust", {"scrollWidth": 933, "clientWidth": 933})