There is some history to this although it should have been done in both light and dark themes (probably a regression).
The original problem we were trying to was that if standard scrollbars overlay content and are always visible they can obscure content in panels with small content areas. As a bonus they also look cool
The default action of displaying scrollbars over content can cause issues in some circumstances.
In the event bubble popup we actually have scrollbars that overlay one another. Although at least one scrollbar should work neither do because of a platform bug Bug 1331481 - Scrollbar thumb cannot be dragged when CSS filter property set on container. This bug was fixed last week.
This wasn’t apparent to me because I use two finger scrolling on my trackpad (I might take time out from jQuery delegated listeners to fix this).
The only thing I can think of doing is wait until an event bubble header is clicked and codemirror appears then get the scrollbar width… if there is one and shrink codemirror by that width… unless the doorhanger itself is not overflowing… except on OSX where scrollbars can be hidden until you scroll
So this is the problem that floating scrollbars are trying to solve. They still overlay content but are semi-transparent so they don’t obscure content in the same way. If we keep them I am not sure what to do with event bubbles though because of the overlapping vertical scrollbars… I guess we would just have to accept that there is a 20px margin to the right of codemirror blocks in that particular setup.
So my view in a nutshell:
-
Keeping them:
- Saves space in content areas, especially for those with low screen resolutions.
- Has edge cases where the UI has to look a little funky in order to get the scrollbars to work properly.
-
Removing them:
- Can waste space in small content areas.
- Makes design decisions easier in some edge cases.
Personally, I quite like them but if some users find them hard to click they should at least have the option to disable them… on the other hand, having options here would further complicate the issues I mention above.