chromium-web-store icon indicating copy to clipboard operation
chromium-web-store copied to clipboard

Roadblock(s) to Manifest v3 migration

Open NeverDecaf opened this issue 3 years ago • 4 comments

~~chrome.i18n api is not available to service workers https://bugs.chromium.org/p/chromium/issues/detail?id=1159438~~

~~Once fixed, migration to manifest v3 should be possible.~~ Apparently available ~v102.x.x.x

NeverDecaf avatar Oct 01 '21 10:10 NeverDecaf

~~Because host permissions were moved to their own option in the manifest file, Manifestv3 no longer provides a way to specify optional host permissions.~~ ~~https://groups.google.com/a/chromium.org/g/chromium-extensions/c/EnUmtHWOI9o~~ ~~https://bugs.chromium.org/p/chromium/issues/detail?id=1265064~~

~~Explanation Edit:~~ ~~Currently, this extension requires permission to access google domains for core functionality. It then requests your permission to access other pages when needed (for example, if installing an extension from outside of the CWS.) In v3 all host permissions are optional so my only option is to request permissions on <all_urls>. My fear is that this will prompt the user with the infamous Read and change all your data on the websites you visit message upon their first interaction with the extension.~~

~~This may be a non-issue depending on how the browser decides to handle host permissions, I won't know for sure until testing but I will wait until chrome.i18n.getMessage() is supported in the stable releases before trying a full v3 migration.~~

Fixed with the addition of optional_host_permissions field in manifest.

NeverDecaf avatar Apr 03 '22 05:04 NeverDecaf

~~chrome.downloads.download does nothing in a service worker~~ ~~https://bugs.chromium.org/p/chromium/issues/detail?id=1246717&~~ ~~(setting saveAs: false "fixes" this, but saveAs: true is needed.)~~

~~edit: the existing workaround of using fetch() and downloading the resultant blob also is impossible due to the lack of ~~~~URL.createObjectURL in service workers, see: https://bugs.chromium.org/p/chromium/issues/detail?id=1224027~~

Fixed in v106.0.5240.0

~~chrome.runtime.sendMessage fails completely in v101~~

NeverDecaf avatar May 29 '22 16:05 NeverDecaf

~~service workers have no access to a window object and its associated functions, of which this extension uses several, notably window.DOMParser~~

edit: I was able to quickly replace all window functions except DOMParser, for which I was forced to use an external library. relevant issue: https://bugs.chromium.org/p/chromium/issues/detail?id=1056354

NeverDecaf avatar May 29 '22 23:05 NeverDecaf

~~Since v102, badge text is now black instead of white; kerning also seems a bit off and this appears to only affect manifest v3 extensions so I've listed it here.~~ Was a change in the browser itself, not related to manifest v3, see #101

NeverDecaf avatar Jun 29 '22 16:06 NeverDecaf

Closing with a note that, should an integrated DOMParser replacement become available, the fromXML (external lib) can be replaced.

NeverDecaf avatar Nov 15 '22 22:11 NeverDecaf