Skip to content

Commit 6132a2b

Browse files
authored
Rollup merge of #91905 - GuillaumeGomez:source-code-page-sidebar, r=jsha
Fix source code page sidebar on mobile Current broken behaviour: https://user-images.githubusercontent.com/3050060/145984316-35c82353-5bab-4dc6-9ac6-63ea7e5c27d8.mp4 Fixed: https://user-images.githubusercontent.com/3050060/145984329-8be1127b-d707-424d-ac3c-c1fb3c48a093.mp4 r? `@jsha`
2 parents 6b00227 + 0919d00 commit 6132a2b

File tree

2 files changed

+42
-2
lines changed

2 files changed

+42
-2
lines changed

src/librustdoc/html/static/css/rustdoc.css

+10-2
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,6 @@ nav.sub {
373373

374374
.source .sidebar.expanded {
375375
overflow-y: auto;
376-
width: 300px;
377376
}
378377

379378
.source .sidebar.expanded > * {
@@ -1394,7 +1393,7 @@ pre.rust {
13941393
z-index: 10;
13951394
}
13961395
#source-sidebar {
1397-
width: 300px;
1396+
width: 100%;
13981397
z-index: 1;
13991398
overflow: auto;
14001399
}
@@ -1711,6 +1710,10 @@ details.rustdoc-toggle[open] > summary.hideme::after {
17111710
.rustdoc.source .sidebar {
17121711
transition: width .5s;
17131712
}
1713+
1714+
.source .sidebar.expanded {
1715+
width: 300px;
1716+
}
17141717
}
17151718

17161719
@media (max-width: 700px) {
@@ -1999,6 +2002,11 @@ details.rustdoc-toggle[open] > summary.hideme::after {
19992002
.search-results div.desc, .search-results .result-description, .item-right {
20002003
padding-left: 2em;
20012004
}
2005+
2006+
.source .sidebar.expanded {
2007+
max-width: 100vw;
2008+
width: 100vw;
2009+
}
20022010
}
20032011

20042012
@media print {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// The goal of this test is to ensure that the sidebar is working as expected in the source
2+
// code pages.
3+
goto: file://|DOC_PATH|/src/test_docs/lib.rs.html
4+
// First: desktop mode.
5+
size: (1100, 800)
6+
// We check that the sidebar isn't expanded and has the expected width.
7+
assert-css: ("nav.sidebar", {"width": "50px"})
8+
// We now click on the button to expand the sidebar.
9+
click: (10, 10)
10+
// We wait for the sidebar to be expanded (there is a 0.5s animation).
11+
wait-for: 600
12+
assert-css: ("nav.sidebar.expanded", {"width": "300px"})
13+
// We collapse the sidebar.
14+
click: (10, 10)
15+
// We wait for the sidebar to be collapsed (there is a 0.5s animation).
16+
wait-for: 600
17+
// We ensure that the class has been removed.
18+
assert-false: "nav.sidebar.expanded"
19+
assert: "nav.sidebar"
20+
21+
// We now switch to mobile mode.
22+
size: (600, 600)
23+
// We check that the sidebar has the expected width (0 and 1px for the border).
24+
assert-css: ("nav.sidebar", {"width": "1px"})
25+
// We expand the sidebar.
26+
click: "#sidebar-toggle"
27+
assert-css: ("nav.sidebar.expanded", {"width": "600px"})
28+
// We collapse the sidebar.
29+
click: (10, 10)
30+
// We ensure that the class has been removed.
31+
assert-false: "nav.sidebar.expanded"
32+
assert: "nav.sidebar"

0 commit comments

Comments
 (0)