string. The lifecycle state the document that opened the connection was in when the port was created. Note that the lifecycle state of the document may have changed since the port was created.
string. The ID of the extension that sent the message, if the message was sent by an extension. If the sender has an ID explicitly set using the browser_specific_settings key in manifest.json, then id has this value. Otherwise, it has the ID that was generated for the sender.
string. The origin of the page or frame that opened the connection. It can differ from the url property (e.g., about:blank) or be opaque (e.g., sandboxed iframes). This is useful for identifying if the origin can be trusted if it isn't apparent from the URL.
tabs.Tab. The tabs.Tab which opened the connection. This property is only present when the connection was opened from a tab (including content scripts).
string. The URL of the page or frame hosting the script that sent the message.
If the sender is a script running in an extension page (such as a background page, an options page, or a browser action or page action popup), the URL is in the form "moz-extension://<extension-internal-id>/path/to/page.html". If the sender is a background script and you haven't included a background page, it is "moz-extension://<extension-internal-id>/_generated_background_page.html".
If the sender is a script running in a web page (including content and normal page scripts), then url is the web page URL. If the script is running in an iframe, url is the iframe's URL.