Something is really off with scrollbar visibility state handling.
Steps to reproduce
- Dump a huge portion into the demo, e.g. by running
ls -lR /usr
- add a new line at the end while pointer is not over the terminal:
- chrome: no scrollbar appears at all
- firefox: scrollbar appears and fades out <-- guess this one is the wanted behavior?
- webkit: scrollbar is always visible, not fading out at all from moving pointer away
What is really weird - chrome initially does the right thing but eventually stops doing it after some time. My first guess is that chrome tries to throttle event bursts during data load, but ends up in a faulty visibility toggle state never recovering from it.
Also note that a massive portion of the performance penalty seen in #6106 under firefox comes from the fact, that firefox keeps updating the _hideTimeout while chrome just stops touching it after a while. This prevents chrome from showing the toxic timeout handling, but it seems to me that we fell for a sanity parachute of chrome here than really controlling the toxic event creation/delivery.
I was not able yet to find the faulty peace of code, it seems to be within the scrollbar code, which is highly scattered across tiny methods and forth and back events.
Something is really off with scrollbar visibility state handling.
Steps to reproduce
ls -lR /usrWhat is really weird - chrome initially does the right thing but eventually stops doing it after some time. My first guess is that chrome tries to throttle event bursts during data load, but ends up in a faulty visibility toggle state never recovering from it.
Also note that a massive portion of the performance penalty seen in #6106 under firefox comes from the fact, that firefox keeps updating the _hideTimeout while chrome just stops touching it after a while. This prevents chrome from showing the toxic timeout handling, but it seems to me that we fell for a sanity parachute of chrome here than really controlling the toxic event creation/delivery.
I was not able yet to find the faulty peace of code, it seems to be within the scrollbar code, which is highly scattered across tiny methods and forth and back events.