this post was submitted on 02 Dec 2023
456 points (98.1% liked)

Technology

59168 readers
2298 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 45 points 11 months ago* (last edited 11 months ago) (1 children)

They aren't forced to do anything. Manifest v3 is just a part of the WebExtensions API (which is not a standard and is really just "whatever Chrome does except we find/replace'd the word chrome to browser") which both Safari and Firefox chose to implement in order to make porting of Chrome extensions easier.

Before that, Firefox had a much more powerful extension system that allowed extensions quite a lot of access to browser internals, but that turned out to be a maintenance nightmare so they walled those APIs off (not a coincidence that Firefox started getting massive performance improvements after that, and extensions stopped breaking every other release) and decided to go the WebExtensions route. I have no clue what Safari was up to but I think they implemented it after.

If they don't implement Manifest v3, extensions that want to work across multiple browsers need to support both the older Manifest v2 and the later Manifest v3, which would be a burden not many extension authors would want to bother with, which would make them just say "yeah we're not supporting anything outside Chrome". Firefox avoids this problem by extending the v3 API to allow for the functionality necessary for powerful ad blocking Google removed in v3 (webRequestBlocking) while also implementing the new thing (declarativeNetRequest) side by side, so extensions that want to take advantage of the powerful features on Firefox can do so, while Chrome extensions that are fine with the less powerful alternative can still be ported over relatively easily.

Firefox does have it's fair share of extensions on top of the WebExtension API already (sidebar support for one), so adding one more isn't too big of a deal.

[–] [email protected] 6 points 11 months ago

Very, very good summary. Thank you.