The main issue we have is that several of our methods depend on the javascript call being synchronous which is no longer the case as QWebEngine is entirely asynchronous and requires a call back to return information. Thus the need to make our functions/API asynchronous.
On Fri, Feb 19, 2016 at 1:33 PM Tim and Alison Bentley <[email protected]> wrote: > this article makes it look much simplar or have it missed somthing. > > https://wiki.qt.io/Porting_from_QtWebKit_to_QtWebEngine > > On 19 February 2016 at 18:27, Jonathan Springer <[email protected]> > wrote: > >> Here are my thoughts and findings so far regarding the migration to >> QWebEngine. There is a card on our Trello board that is tracking the >> progress of this migration and will be updated as work progresses. >> >> The following steps are what I think should be done and the order they >> should be done in. >> >> 1. Move all functions that need access to DOM into javascript >> 2. Make all calls to renderer asynchronous >> 3. Make minimum Qt version Qt 5.4 (QWebChannel dependency) >> 4. Use QWebChannel to access javascript functions and receive >> callbacks >> 5. Create backend class to handle switching between available backends >> 6. Create QWebEngine backend >> 7. Move existing QWebKit implementation into a backend >> >> Moving DOM access into javascript shouldn't be to hard. >> >> Making all calls to the render asynchronous is a bit harder and is making >> my brain hurt trying to figure out how to do it since our current API is >> synchronous. >> *Note:* We cannot just use a while block since that blocks the UI thread >> which also blocks Qt's event system preventing QWebKit/QWebEngine from >> doing anything. We can use a processEvents() call in the while loop but >> that is frowned upon. >> >> Once we make all calls asynchronous the remaining items should be pretty >> easy to do. >> >> I would recommend getting the first four items (DOM access into >> javascript, asynchronous calls, minimum version, and QWebChannel) working >> with QWebKit first then move on to the rest. >> >> _______________________________________________ >> openlp-dev mailing list >> [email protected] >> https://lists.openlp.io/mailman/listinfo/openlp-dev >> >> > > > -- > Tim and Alison Bentley > [email protected] > _______________________________________________ > openlp-dev mailing list > [email protected] > https://lists.openlp.io/mailman/listinfo/openlp-dev >
_______________________________________________ openlp-dev mailing list [email protected] https://lists.openlp.io/mailman/listinfo/openlp-dev
