Except it wasn't. I used Firefox a lot on Windows and Linux and didn't have the slightest problems.
The only reason I see why Chrome took over was a rather insane push, about the same level of intensity as IE6, from Google, using everything:
- artificially reducing performance of Firefox on key Google properties (Google Calendar, YouTube)
- bundling Chrome with Adobe
- ad campaigns on the front of Google where no one else has been allowed to serve ads (this alone must have been worth billions)
- lies ("switch to a better browser" they wrote even when I was using Firefox)
Google needs to be punished - big time - for this abuse.
I regularly ran it with multiple extensions and 400 - 600 open tabs and didn't feel Chrome was better.
And I'm the kind of person who can start a 2 hour troubleshooting session over a few tens of milliseconds unexpected lag.
Edit: maybe Chrome was hopeless with multiple tabs or maybe one of the older memory saver extensions was so much better it made up for it, or maybe it just matched my hardware/SW at the time extremely well (high end HP laptops with Windows or Linux), or maybe it was just a feeling, I don't know. But I know I spent a significant part of my work day in the browsers and Firefox felt significantly better even when I wanted to try the then new and cool Chrome.
I should point out that by "better" I don't mean that Firefox was necessarily faster but
- it was equally fast (for my usage),
- handled 400-600 tabs effortlessly even back then
- had a number of great extensions and themes that significantly improved ones life (subscribe to pages that didn't offer any feeds? I had an extension that polled pages at configurable intervals and ran a smart diff checker on it that gave me a notice if some change had crossed a configurable threshold. Need access to docs while offline or just tired of spending your data quota or waiting for the train ro exit the tunnel? There was an extension that let me download pages recursively, configurable with domain, path and how many steps. It would deduplicate the downloaded pages and rewrite all links from absolute to relative and it "just worked" for everything I needed it for.)
By comparison, extensions in old Firefox was Hitachi or Milwaukee and new extensions are somewhere between Fisher Price and Black and Decker. Yes, you could absolutely hurt yourself on the old ones, they were tools, not toys.)
What kind of benchmarks? Microbenchmarks that test specific JIT capabilities or something that better represents the average user experience.
The only part I remember where Firefox was notably slower was videos when Google led Firefox for a ring around the rosie when they singlehandedly decided to use a proprietary codec for their youtube videoplayer after first making everyone believe they were working on using a different one which FF started working on supporting. I can't count the amount of complaints i heard of firefox being slow there.
when I am forced to register on addons.mozilla.org, just to install an extension that I wrote, yes, that is a bad idea.
Give users the option to say "yes, I understand that this is not an 'approved' addon. install it anyway"
This is misleading. Like wildly so. The imprimatur that the Firefox team was working under meant that they absolutely could, and very often did, break things from release-to-release.
The long, slow decline related to slowness at the core of Firefox had very little to do with extensions (the unwillingness to break them, that is). The real reason is that the work needed for what was eventually delivered in the overhaul that made XUL obsolete was work of the sort that takes a long time to complete. If anyone had stumbled upon working patchsets for those goals stuff through divine revelation and had the ability to say so, then they would have broken things sooner.
If anything, keeping XUL extensions around while all this work was being done helped prop up Firefox's user numbers for a while longer. (Compare to if XUL, while still technically viable, had been killed 10 years ago with a feature flag by fiat and then multiprocess, parallel rendering, and other deliverables related to Gecko Rustification were still as many years away as they actually were.)