Future of KParts::SelectorInterface
Stefano Crocco
stefano.crocco at alice.it
Wed Jun 14 11:38:24 BST 2023
Hello to everyone,
working on fixing the Akgregator plugin for Konqueror, I realized that
WebEnginePart didn't correctly implement the KParts::SelectorInterface API (it
behaved as if no element was found). Unfortunately, that API is synchronous,
while QtWebEngine only allows to run javascript code (needed to access the
page content) asynchronously.
I tried to make the javascript calls synchronous by using an event loop, but
it didn't work. In the end, I decided to create a new interface, which
provides an API closely following that of KParts::SelectorInterface but which
is asynchronous and to have the plugin support both interfaces (see MR
https://invent.kde.org/network/konqueror/-/merge_requests/189).
According to LXR (https://lxr.kde.org/ident?v=kf5-qt5&_i=SelectorInterface),
currently the only parts implementing KParts::SelectorInterface are KHTML and
KWebKitPart, which, if I'm not mistaken, are both being removed in KF6, and
WebEnginePart which, as I said, doesn't really implement it. This means that
in KF6 there'll be no part actually implementing this interface.
In my opinion, it would be a good idea to merge the asynchronous API I created
in the KParts::SelectorInterface, keeping the original one in case either
someone finds out how to implement it in WebEnginePart or another part to
display HTML pages is created and it can implement the synchronous API.
What do you think?
Stefano
More information about the Kde-frameworks-devel
mailing list