qubes-app-split-browser icon indicating copy to clipboard operation
qubes-app-split-browser copied to clipboard

Support Chromium-based browsers

Open rustybird opened this issue 3 years ago • 5 comments

From https://github.com/QubesOS/qubes-issues/issues/2469#issuecomment-728911065:

Ideally, the browser-side code (currently Mozilla AutoConfig) would be rewritten as a WebExtension and then used for both Firefox- and Chromium-based browsers. And I do have a proof of concept lying around from >2 years ago; not even tested with anything besides Tor Browser back then, but it already seemed surprisingly tricky due to:

  1. WebExtension limitations: They can't override standard browser hotkeys. For some functions there's a good alternative (instead of overriding the "add bookmark" hotkey, the extension can handle "bookmark added" events), but some will just have to use worse hotkeys.

  2. WebExtension bugs: Tor Browser doesn't distinguish WebExtensions from websites in that both are blocked from talking to localhost (i.e. the qrexec service). I had to wedge in an ugly "native messaging" shim script relaying messages back and forth.

  3. Browser vendors just hell-bent on making it as hard as possible for the operating system to silently install an extension. Plus, ever more restrictive code signing / distribution channel requirements. I don't know what the situation is today - probably still doable with Firefox ESR (vs. mainline Firefox) and Chromium (vs. Chrome), but what a headache!

  4. Having to redesign how Split Browser configures the browser - things like setting the download directory.

I don't much use Chromium myself, so it hasn't been too appealing to work on this... even though it's such a a glaring omission.

Also, WebExtension APIs didn't seem to support Punycode last time I checked. I'd rather not include some large JavaScript IDN library attempting to duplicate this.

rustybird avatar Jan 17 '21 16:01 rustybird