Porting a Google Chrome extension

Extensions developed with WebExtension APIs are designed for cross-browser compatibility: to a large extent, the technology is directly code-compatible with the extension API supported by Google Chrome and Opera. Extensions written for these browsers will, in most cases, run in Firefox with just a few changes. Almost all of the WebExtension APIs are supported using callback functions under the chrome namespace, the same as Chrome. The only APIs which are not supported in the chrome namespace are those which are intentionally incompatible with Chrome. In those few cases, the API documentation page will explicitly state that it's only supported in the browser namespace. The process of porting an extension from Chrome or Opera is like this:

Review your use of manifest.json features and WebExtension APIs against the Chrome incompatibilities reference. If you're using features or APIs that are not yet supported in Firefox, you may not be able to port your extension yet. Mozilla provides a service that can help to automate this step: https://www.extensiontest.com/.