Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reset "focusedByTab" field when doing another search #85506

Merged
merged 1 commit into from
May 21, 2021

Conversation

GuillaumeGomez
Copy link
Member

Fixes #85467.

The problem was simply that we forget to reset the focusedByTab field, which was still referring to removed DOM elements.

r? @jsha

@rust-highfive
Copy link
Collaborator

Some changes occurred in HTML/CSS/JS.

cc @GuillaumeGomez

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 20, 2021
@GuillaumeGomez GuillaumeGomez added T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. A-rustdoc-js Area: Rustdoc's JS front-end A-rustdoc-ui Area: Rustdoc UI (generated HTML) labels May 20, 2021
@dns2utf8
Copy link
Contributor

I updated the search.js on my test page: https://data.estada.ch/rustdoc-nightly_4e3e6db01_2021-05-18/multiplayer_snake/index.html?search=send
And there are two weird behaviours now:

  1. I can not select after the 11th entry (the orange line)
  2. There is an entry called width ... (red circle)

grafik

@GuillaumeGomez
Copy link
Member Author

GuillaumeGomez commented May 20, 2021

Interesting because it creates a div there. Let me check what is going on...

@GuillaumeGomez
Copy link
Member Author

@dns2utf8 Try again? :)

var description = document.createElement("div");
var spanDesc = document.createElement("span");
spanDesc.className = "desc";
spanDesc.innerText = item.desc + " ";
Copy link
Contributor

@dns2utf8 dns2utf8 May 20, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
spanDesc.innerText = item.desc + " ";
spanDesc.innerText = item.desc + '\u00A0';
Suggested change
spanDesc.innerText = item.desc + " ";
spanDesc.innerText = item.desc;
spanDesc.innerHTML += " ";

Copy link
Contributor

@dns2utf8 dns2utf8 May 20, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is not split up the & is not a special character
grafik

Alternatively, we could use   \u00A0 and assign it in one go

@dns2utf8
Copy link
Contributor

Nice, I added the NO-BREAK SPACE comment to the lines

@jsha
Copy link
Contributor

jsha commented May 21, 2021

It looks like this contains two changes: b8909fc that fixes the bug described in the PR, and 12efcf4569ed756d5859b3660538ff662067c6a8, "generate DOM more securely." Can you say more about what makes this approach more secure? And how it related to focusedByTab?

@GuillaumeGomez
Copy link
Member Author

@jsha Sorry, not related. I'll move these changes into another PR. I was simply using the opportunity to have @dns2utf8 feedback and put everything in here haha.

@dns2utf8
Copy link
Contributor

This looks good to me and fixes the focus bug 👍

@jsha
Copy link
Contributor

jsha commented May 21, 2021

@bors r+

@bors
Copy link
Contributor

bors commented May 21, 2021

📌 Commit b8909fc has been approved by jsha

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 21, 2021
@GuillaumeGomez
Copy link
Member Author

@bors: rollup

GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request May 21, 2021
…r=jsha

Reset "focusedByTab" field when doing another search

Fixes rust-lang#85467.

The problem was simply that we forget to reset the `focusedByTab` field, which was still referring to removed DOM elements.

r? `@jsha`
bors added a commit to rust-lang-ci/rust that referenced this pull request May 21, 2021
…laumeGomez

Rollup of 4 pull requests

Successful merges:

 - rust-lang#85506 (Reset "focusedByTab" field when doing another search)
 - rust-lang#85548 (Remove dead toggle JS code)
 - rust-lang#85550 (facepalm: operator precedence fail on my part.)
 - rust-lang#85555 (Check for more things in THIR unsafeck)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 51a99eb into rust-lang:master May 21, 2021
@rustbot rustbot added this to the 1.54.0 milestone May 21, 2021
@GuillaumeGomez GuillaumeGomez deleted the reset-focusedByTab branch May 22, 2021 09:37
bors added a commit to rust-lang-ci/rust that referenced this pull request May 29, 2021
…ration, r=jsha

Better result dom generation

First commit is from rust-lang#85506.

We realized in rust-lang#85506 (comment) thanks to `@dns2utf8` that in some cases, the generated search result DOM was invalid. This was not strict enough and the DOM was inserted as a big string, which wasn't great.

r? `@jsha`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-rustdoc-js Area: Rustdoc's JS front-end A-rustdoc-ui Area: Rustdoc UI (generated HTML) S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reselecting the search field breaks the arrow key navigation 🐛
6 participants