It doesn’t search through all tabs. Only the browser chrome stuff (I think). HTML can’t have menupopups and panels anyways.

`popups.length` is about 160 for me. When I’ve tried this out, I can see absolutely no difference from before. I also ran the Firefox Profiler when typing, with and without the passthrough checking code. The result looks pretty much the same: Mostly white—not much going on. According to the profiler, half of the time spent computing stuff was in the passthrough check (`utils.getEventRootWindow()` + `.querySelectorAll()` + the loop). But since so little is going on, it is not so strange that it takes half of the time. And most of that time seems to be used to determine the `.state`—not `.querySelectorAll()`.

I think this is not an issue.