Chrome Extensions Manifest V3 some common manifest issues

Some permissions only work is specific platforms.

For my standard Windows environment, the following permissions resulted in the following warnings:

  • ‘documentScan’ is not allowed for specified platform.
  • ‘enterprise.platformKeys’ is not allowed for specified platform.
  • ‘fileBrowserHandler’ is not allowed for specified platform.
  • ‘fileSystemProvider’ is not allowed for specified platform.
  • ‘platformKeys’ is not allowed for specified platform.
  • ‘vpnProvider’ is not allowed for specified platform.
  • ‘wallpaper’ is not allowed for specified platform.
  • ‘enterprise.deviceAttributes’ is not allowed for specified platform.
  • ‘certificateProvider’ is not allowed for specified platform.
  • ‘loginState’ is not allowed for specified platform.
  • ‘printingMetrics’ is not allowed for specified platform.
  • ‘printing’ is not allowed for specified platform.
  • ‘enterprise.networkingAttributes’ is not allowed for specified platform.

Enterprise permissions:

Setting permission ‘enterprise.hardwarePlatform’ leads to warning:
“‘enterprise.hardwarePlatform’ is not allowed for specified install location.”
Considering enterprise related permissions are not important for general extensions, not setting these permissions seems best in most cases.

“Permission ‘runtime’ is unknown, or URL pattern is malformed.”

I found information on this below:
https://groups.google.com/a/chromium.org/g/chromium-extensions/c/fLCn-prRMpU
It seems, that in ManifestV3, host permissions MUST be set in “host_permissions” instead of “permissions”.
Optional host permissions can be added in: “optional_host_permissions”.
There is also the issue of using a properly formatted string.
For any URL, the following is suggested:
[
"https://*/*",
"http://*/*"
]
https://developer.chrome.com/docs/extensions/develop/concepts/declare-permissions#host-permissions

Adding all permissions as optional led to the following warnings:

  • Permission ‘debugger’ cannot be listed as optional. This permission will be omitted.
  • Permission ‘fontSettings’ cannot be listed as optional. This permission will be omitted.
  • Permission ‘geolocation’ cannot be listed as optional. This permission will be omitted.
  • Permission ‘proxy’ cannot be listed as optional. This permission will be omitted.
  • Permission ‘tts’ cannot be listed as optional. This permission will be omitted.
  • Permission ‘ttsEngine’ cannot be listed as optional. This permission will be omitted.
  • Permission ‘unlimitedStorage’ cannot be listed as optional. This permission will be omitted.
  • Permission ‘declarativeNetRequest’ cannot be listed as optional. This permission will be omitted.
  • Permission ‘webAuthenticationProxy’ cannot be listed as optional. This permission will be omitted.

This seems to be documented here: https://developer.chrome.com/docs/extensions/reference/api/permissions under “Permissions that can not be specified as optional”.

“The action commands in the manifest do not match the manifest’s action type and were ignored.”:

Some permissions are not available in the stable channel.
※ These change as versions are updated, so check the latest information for what is stable.
At time of writing (2024/08/13), the following were warned to be non-stable:

  • ‘dns’ requires dev channel or newer, but this is the stable channel.
  • ‘processes’ requires dev channel or newer, but this is the stable channel.

Leave a Reply

Your email address will not be published. Required fields are marked *