The Chrome platform on the other hand was designed to be multi-process from the ground up, has some solid security research behind it (like actual academic studies), and generally just makes sense. The Chrome extension system (or something very similar to it) is also already supported in a bunch of other browsers, so why would Mozilla not use it in theirs?
E: typo
Google Chrome was built with multithreading in mind from the ground up (well, even multiple processes), and its extension API was designed around that architecture.
I think Mozilla made the right choice by picking and extending an existing API that has seen a lot of real world code written against it, rather than inventing a new, incompatible one.
No, it doesn't. The long-obsolete XUL API did, but the current Jetpack API does not. There's a per-addon task and a per-page task, which communicate via message passing.
[1] https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_AP...
https://addons.mozilla.org/en-US/firefox/addon/ublock-origin...
https://chrome.google.com/webstore/detail/ublock-origin/cjpa...
Then again, though, they only just recently switched that over from previously promoting AdBlock Plus, so I don't know how much of an increase that has caused in that time.