- Document message queuing behavior. See `mPendingMessages` in
`geckoview/WebExtensionController.java` for its implementation.
This behavior is significant because it tells how reliable a
`sendNativeMessage` or `connectNative` call is from the top of
a background script while an extension is being installed.
- Document "geckoViewAddons" and "nativeMessagingFromContent"
permissions and their requirements (enforced via
`PRIVILEGED_PERMS_ANDROID_ONLY` in `Extension.sys.mjs`).
- Document the risk of using content messaging, as well as the fact that
the handler can receive from extension pages (added in bug 1554260).
- Document the format of native app ID. The Firefox Source Docs lists
an example with "browser", and it seems that several tests cargo cult
copied it, instead of making up a different descriptive ID.
- In various places, explain the relation between the GV API and
extensions, so that readers do not have to dig through tons of layers
and implementation details to figure out answers.
Differential Revision: https://phabricator.services.mozilla.com/D311853