That's because Firefox's new WebExtensions API is based off Chrome's, not because of any formal standard.
This standard seems to be intended to formalize a lot of the stuff Chrome does so that other browsers can follow a common _standard_ instead of just being stuck imitating what Chrome does.
> The answer was "nothing really" - it worked out of the box for the main functionality.
Do you mean Chrome supports Promises like Firefox does? Last time I checked, the Chrome APIs were using callbacks for all asynchronous operations.
There is a polyfill written by mozilla devs that port the browser namespace and promise based api calls over to chrome if needed.
I wrote it for Firefox, and then I wondered what it would take to port it to Chrome. The answer was "nothing really" - it worked out of the box for the main functionality. I had to do a small wrapper over loading settings, but having done a million extensions in the past, I was pretty surprised to see it load straight into a different browser!