View Single Post
Old 06-30-2019, 02:44 PM   #12
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 8,808
Karma: 6000000
Join Date: Nov 2009
Device: many
Finally had a chance to debug this sync breakage by clicking on local link.

For the record. It seems that QWebEnginePage acceptNavigationRequests() does NOT allow for interception of link to fragments in the local page. So the PreviewWindow is doing that internal navigation completely on its own and therefore does NOT tell CV about it.

To make matters worse clicking on a local link causes a loadStarted signal and loadProgress signals but no loadFinished signal (a serious bug in QtWebEngine). Without a proper loadFinished signal no javascript will work anymore without a full page reload in the approach/model we use.

That is why CV does not scroll properly, and why further syncing seems to require switching CV window tab and back.

See QTBUG-76802 for my official bug report.

I can work around the missing loadFinished signal (i.e. synthetically create it when progress reaches 100). I just have to figure a way to tell that an internal link to a local fragment has been done, so I know to tell CV to sync to the link.

Putting this here to help document what needs to be done before a final release.
KevinH is online now   Reply With Quote