fluid-lab / gamepad-navigator

GSoC 2020 project
Other
6 stars 10 forks source link

Create a Firefox extension. #126

Open duhrer opened 7 months ago

duhrer commented 7 months ago

Looking at the guide Firefox provides, it seems like we would not have to do all that much to create a Firefox extension.

Using the extension compatibility tester Firefox provides, the only thing highlighted is that Firefox does not support the "search.query" API we use to power the search action.

As a test, it would be good to create a branch and temporarily remove the search from the manifest and the back end. If that works, then we would need:

  1. To find a way to modularise or fork the background script, perhaps by assembling it as part of our build process.
  2. To either replace the search functionality with a workalike, or to disable the search action.
  3. If we have to disable the search action, we need to make alternate default bindings for Firefox.
  4. A review of all approaches used in Firefox, especially scrolling and the like.
  5. A review of all styles in the new browser.
duhrer commented 7 months ago

This appears to be much more difficult than it initially appeared. The service workers that are a key part of Chrome manifest v3 are not supported in Firefox. (Warning, somewhat heated thread.)

Although there are approaches you can use that don't fall afoul of this, you'd basically have to rewrite the background service and anything that interacts with it.

Here's the bugzilla ticket that tracks adding service worker support. It's not well described or commented, but does appear to be active and links to variations on the theme.

I plan to leave this ticket open to gather information.