w3c / webextensions

Charter and administrivia for the WebExtensions Community Group (WECG)
Other
595 stars 56 forks source link

Proposal: Include documentId in Tab object #496

Open fregante opened 10 months ago

fregante commented 10 months ago

Context

The documentId has use cases throughout the WebExtensions APIs, and more is to come. However, the only ways to retrieve it seems to be by pinging a content script or using the WebNavigation permission (getFrame, onCommitted).

The WebNavigation permission has a permissions warning that many extension publishers will like to avoid. It's also safer for the user if the extension doesn't need it. The developer might also not have a content script available for pinging.

Proposal

The Tab object already includes information on the tab's main frame like URL, pendingURL, favicon, etc. I propose also including the documentId and pendingDocumentId. That way it can be retrieved through tabs.get or tabs.query.

Originally posted by @newRoland in https://github.com/w3c/webextensions/issues/495

fregante commented 10 months ago

I'll add: having the documentId readily available when querying tabs can help ensure that follow-up actions are towards a specific document only, like executeScript or sendMessage.

Also, I assume that this piece of information, like tabId and frameId, can be made available without any specific permissions.