Commit graph

242 commits

Author SHA1 Message Date
Jacob Hoffman-Andrews
b37a05bd01 rustdoc: optimize loading of source sidebar
The source sidebar has a setting to remember whether it should be open or
closed. Previously, this setting was handled in source-script.js, which
is loaded with `defer`, meaning it is often run after the document is rendered.
Since CSS renders the source sidebar as closed by default, changing this
after the initial render results in a relayout.

Instead, handle the setting in storage.js, which is the first script to load
and is the only script that blocks render. This avoids a relayout and means
navigating between files with the sidebar open is faster.
2022-06-20 15:08:02 -07:00
Guillaume Gomez
a70c14aecc Add GUI test for sidebar items expand/collapse 2022-06-14 20:09:09 +02:00
Guillaume Gomez
5799e7de16 Update rustdoc-gui README 2022-06-07 11:49:35 +02:00
Dylan DPC
94b8036147
Rollup merge of #97089 - GuillaumeGomez:improve-settings-theme-display, r=jsha
Improve settings theme display

This is a follow-up of #96958. In this PR, I changed how the theme radio buttons are displayed and improved their look as well.

It now looks like this:

![Screenshot from 2022-05-17 20-46-20](https://user-images.githubusercontent.com/3050060/168887703-a01e3bd5-9644-4012-ac11-2ae7bacd6be6.png)
![Screenshot from 2022-05-17 20-46-12](https://user-images.githubusercontent.com/3050060/168887707-132f8b2d-1163-462f-b7dd-f861121bdee7.png)

You can test it [here](https://rustdoc.crud.net/imperio/improve-settings-theme-display/doc/foo/index.html).

r? `@jsha`
2022-05-31 07:57:32 +02:00
Guillaume Gomez
d286df1402 Add line number click GUI test 2022-05-30 17:15:41 +02:00
Guillaume Gomez
16d5cdc570 Improve source-code-page.goml GUI test code 2022-05-30 17:07:21 +02:00
Guillaume Gomez
70db59ca35 Add GUI test for settings display 2022-05-30 12:12:43 +02:00
Guillaume Gomez
bfb16b9dd7 Add GUI test for javascript disabled display of settings page 2022-05-28 18:55:30 +02:00
Guillaume Gomez
fca1007ed3 Add GUI test for click on setting text 2022-05-24 15:40:50 +02:00
Guillaume Gomez
440bbce36d Add GUI test for search crate filter select CSS properties 2022-05-17 14:45:23 +02:00
Guillaume Gomez
5601044903 Add GUI test for search result "title" 2022-05-17 13:28:22 +02:00
Guillaume Gomez
44e5b3bf3e Update GUI tests 2022-05-14 17:21:52 +02:00
Matthias Krüger
231cd0fd7d
Rollup merge of #96939 - GuillaumeGomez:settings-css, r=notriddle
Fix settings page CSS

In https://github.com/rust-lang/rust/pull/96741, I moved the CSS loading outside of `settings.js`. The result was that on the settings page, there isn't the settings CSS anymore:

![Screenshot from 2022-05-11 11-09-24](https://user-images.githubusercontent.com/3050060/167817969-6750931b-3e6e-4178-b5a9-ee3851e983be.png)

I also used this opportunity to remove unused CSS rules (we don't have `<select>` elements anymore in the settings).

cc `@jsha`
r? `@notriddle`
2022-05-12 16:41:04 +02:00
Guillaume Gomez
dd6bb09133 Ensure that the settings CSS is loaded on the settings page 2022-05-11 11:29:21 +02:00
Guillaume Gomez
fe4fa53fa8 Clean up rustdoc GUI test 2022-05-10 16:42:34 +02:00
Guillaume Gomez
bcfb95afd3
Rollup merge of #96754 - notriddle:notriddle/impl-dups, r=GuillaumeGomez
rustdoc: ensure HTML/JS side implementors don't have dups

Fixes #94641

Rendered:

- https://notriddle.com/notriddle-rustdoc-test/impl-dups/std/iter/trait.Iterator.html
- https://notriddle.com/notriddle-rustdoc-test/impl-dups/core/iter/trait.Iterator.html
2022-05-06 20:05:43 +02:00
Guillaume Gomez
93b86d69b6
Rollup merge of #96748 - GuillaumeGomez:reexports-in-search, r=notriddle
Fixes reexports in search

Fixes #96681.

At some point we stopped reexporting items in search so this PR fixes it.

It also adds a regression test.

r? ```@notriddle```
2022-05-06 20:05:41 +02:00
Michael Howell
bd11e22203
Add missing newline 2022-05-06 05:18:32 -07:00
Guillaume Gomez
fb2f97a37e Add GUI test for search reexports 2022-05-06 13:52:21 +02:00
Michael Howell
20010d7597 rustdoc: ensure HTML/JS side implementors don't have dups 2022-05-05 17:45:33 -07:00
Michael Howell
75790fabed rustdoc: add test case assertions for ArrowDown highlight first result 2022-05-05 09:39:47 -07:00
Michael Howell
8b2147b497 rustdoc: fix keyboard shortcuts and console log on search page 2022-05-05 09:39:45 -07:00
Michael Howell
21a121332b rustdoc: change the "In Function Signatures" to context-sensitive
* If it's just `-> a`, use "In Function Return Types"
* If it's just `a b`, use "In Function Parameters"
* Otherwise, still use "In Function Signatures"
2022-05-05 09:37:29 -07:00
Michael Howell
345a580e8d Use STARTS_WITH, since it's more specific
Co-Authored-By: Guillaume Gomez <guillaume1.gomez@gmail.com>
2022-05-05 09:37:29 -07:00
Michael Howell
6c8a2d4715 rustdoc: when running a function-signature search, tweak the tab bar 2022-05-05 09:37:29 -07:00
Guillaume Gomez
2f074dee42 Extend settings test to ensure settings text is as expected 2022-04-30 13:12:42 +02:00
Guillaume Gomez
e7d7d75c81 Add GUI test for settings menu 2022-04-30 13:12:42 +02:00
Andy Russell
753d567989
clarify doc(cfg) wording
The current "This is supported" wording implies that it's possible to
still use the item on other configurations, but in an unsupported way.
Changing this to "Available" removes this ambiguity.
2022-04-14 21:12:13 -04:00
Guillaume Gomez
3baac2af05 Add GUI test to ensure that the width of the item-info does not overflow its parent 2022-04-05 18:11:27 +02:00
Dylan DPC
c6764c982d
Rollup merge of #95470 - GuillaumeGomez:fix-gui-spurious-test, r=notriddle
Fix last rustdoc-gui spurious test

This should the last spurious failing GUI test from https://github.com/rust-lang/rust/issues/93784.

r? ``@notriddle``
2022-03-31 13:09:52 +02:00
Guillaume Gomez
a4a9fff594 Fix last rustdoc-gui spurious test 2022-03-30 14:30:46 +02:00
Guillaume Gomez
e0a697aad4 Replace wait-for instructions for rustdoc GUI tests with wait-for-css 2022-03-25 21:32:16 +01:00
Guillaume Gomez
237d62588d Remove animation on source sidebar 2022-03-19 16:59:56 +01:00
Guillaume Gomez
372271e3dd Add URL GUI tests 2022-03-15 20:56:14 +01:00
Guillaume Gomez
8a7b83a24a Merge both "search-result-color" GUI tests 2022-03-15 20:41:24 +01:00
bors
7eac19c30c Auto merge of #94320 - GuillaumeGomez:sidebar-display, r=jsha
Fix sidebar elements display

The bug can be seen more easily when the javascript is disabled:

![Screenshot from 2022-02-24 12-18-28](https://user-images.githubusercontent.com/3050060/155514578-cbefd3dd-f006-47e9-bc76-7c26d7e823e8.png)

r? `@jsha`
2022-03-13 07:56:08 +00:00
Guillaume Gomez
aad4227607 Update GUI test 2022-03-11 14:48:53 +01:00
Matthias Krüger
82215ce646
Rollup merge of #94740 - GuillaumeGomez:unify-impl-blocks, r=notriddle
Unify impl blocks by wrapping them into a div

The blanket and "auto traits" sections are wrapped into a `div` with an ID. This PR fixes this incoherence by wrapping each impl section (the "deref impl" and the "inherent impl" sections were missing it). It'll also make some tests simpler to write.

r? `````@notriddle`````
2022-03-10 19:00:08 +01:00
Guillaume Gomez
18006a60d0 Fix spurious CI failures 2022-03-09 21:28:23 +01:00
Guillaume Gomez
fbd9c284d7 Update GUI tests for impl blocks path changes 2022-03-08 23:12:11 +01:00
Guillaume Gomez
f23d6d3a47 Add GUI test to ensure that line numbers text is aligned to the right 2022-03-07 12:08:14 +01:00
Guillaume Gomez
40e3b6ef42 Add GUI test for source code viewer scroll handling 2022-03-05 16:02:28 +01:00
Guillaume Gomez
ec50cdbe10 Extend toggle GUI test a bit 2022-02-25 11:11:52 +01:00
Guillaume Gomez
db34320d2b Add test for source sidebar elements display 2022-02-24 12:18:16 +01:00
Matthias Krüger
1ae00e0b93
Rollup merge of #94002 - GuillaumeGomez:duplicated-sidebar-macro, r=notriddle
rustdoc: Avoid duplicating macros in sidebar

Fixes #93912.

cc ``````@jsha`````` (for the GUI test)
r? ``````@camelid``````
2022-02-20 00:37:24 +01:00
Matthias Krüger
6a2b612590
Rollup merge of #93780 - GuillaumeGomez:links-in-sidebar, r=jsha
Generate list instead of div items in sidebar

Fixes #92986.

Surprisingly, we didn't have much CSS for this...

[Demo](https://rustdoc.crud.net/imperio/links-in-sidebar/std/index.html).

r? `@jsha`
2022-02-17 23:00:57 +01:00
Guillaume Gomez
0d928b6ed0 Update rustdoc tests to adapt to changes to the sidebar 2022-02-16 20:43:31 +01:00
Guillaume Gomez
0d2ff61ef5 Fix GUI test 2022-02-15 21:31:40 +01:00
Guillaume Gomez
d9ea7bc98d Add test for duplicated macros in the sidebar 2022-02-14 21:43:48 +01:00
bors
c26fbf857f Auto merge of #93763 - jsha:re-space-empty-impls, r=GuillaumeGomez
rustdoc: fix spacing of non-toggled impl blocks

We [recently removed the "up here" arrows on item-infos](https://github.com/rust-lang/rust/pull/92651), and adjusted
vertical spacing so that even without the arrow, it would be visually
clear which item the item-info belonged to. The new CSS styles for
vertical spacing only applied to toggles, though. This missed
non-toggled impl blocks - for instance, those without any methods, like
https://doc.rust-lang.org/nightly/std/marker/trait.Send.html#implementors.
The result was lists of implementors that were spaced too closely. This
PR fixes the spacing by making it apply to non-toggled impl blocks as
well.

This also fixes an issue where item-infos were displayed too far below
their items. That was a result of display: table on .item-info .stab.
Changed that to display: inline-block.

Demo: https://rustdoc.crud.net/jsha/re-space-empty-impls/std/marker/trait.Send.html

Before:

<img width=300 src="https://user-images.githubusercontent.com/220205/152954394-ec0b80e7-2573-4f06-9d7a-7b10b8ceac60.png">

After:

<img width=300 src="https://user-images.githubusercontent.com/220205/152954228-abac1d30-a76d-4ab1-89ec-ef7549fe8c9c.png">

r? `@GuillaumeGomez`
2022-02-13 09:41:41 +00:00