qutebrowser icon indicating copy to clipboard operation
qutebrowser copied to clipboard

Interesting changes in Qt 6.11

Open The-Compiler opened this issue 6 months ago • 4 comments

The-Compiler avatar Jun 18 '25 12:06 The-Compiler

This seems pretty interesting, I was already wondering how QtWebEngine would handle all the JS extension APIs and bridging them to C++ (so that web extensions can e.g. provide tab information, bookmarks, etc. etc.).

My mindset was always that they'd need to cover the entire API in C++ somehow, but judging from those changes (especially tabs_api.cc in the second one) it looks like the extension manager provides a QWebChannel which can then be used to provide any kind of WebExtension API directly from the application without Qt needing to add APIs for bridging it.

Not sure if that's better or worse, but it's definitely interesting! Worse because all the work bridging between QtWebEngine and WebExtension APIs is kinda on us (see e.g. TabManager::createTabInfo), but better because it allows for a lot of flexibility and doesn't constrain us to whatever Qt thinks things should work in an application.

It might even allow us to add a custom qute object there (to which only extensions can ever have access to, not all websites, so less security surface), and then use a custom built-in webextension for all the custom Python <-> JS communication we might need.

The-Compiler avatar Jun 18 '25 12:06 The-Compiler

@The-Compiler is this the issue to subscribe to for updates on potential support of extensions in qutebrowser?

worldofgeese avatar Oct 11 '25 06:10 worldofgeese

@worldofgeese It's not, as you can see by the title of this issue. If anything, #8420 would be, as initial support was added in Qt 6.10.

I'll probably open a new issue about it soon, but in the meantime, #30 is probably the best place (and I'll post there once there's an issue about WebExtensions).

The-Compiler avatar Oct 24 '25 20:10 The-Compiler

Nothing really interesting for qutebrowser there really, so closing this.

Unfortunately the extension change above hasn't made it in, and neither has Support webRequest and declarativeNetRequest extension APIs (666471) · Gerrit Code Review.

The-Compiler avatar Dec 11 '25 12:12 The-Compiler