QtWebKit documentation regression fixes
ClosedPublic

Authored by igorkushnir on Mar 22 2017, 3:22 PM.

Details

Summary

Make QtWebKit documentation view work again
Since commit 2486228ccee2280af10f8e202d8020abe89880fc
setUpdatesEnabled(true) was called on QWidget instead of QWebView.
This prevented QWebView contents updates and rendered
documentation plugins useless.

Use delegate parameter in QtWebKit documentation

Test Plan

manual testing

Diff Detail

Repository
R33 KDevPlatform
Branch
webkit-documentation-fixes
Lint
No Linters Available
Unit
No Unit Test Coverage
igorkushnir created this revision.Mar 22 2017, 3:22 PM
Restricted Application added a subscriber: kdevelop-devel. · View Herald TranscriptMar 22 2017, 3:22 PM
kfunk accepted this revision.Mar 22 2017, 3:32 PM
This revision is now accepted and ready to land.Mar 22 2017, 3:32 PM

Note that there are other recent regressions with both QtWebKit and QtWebEngine implementations.

  1. setDelegateLinks leaks memory if called more than once in QtWebEngine implementation because its parent is not a QWebEngineView (https://doc.qt.io/qt-5/qwebengineview.html#setPage).
  2. The StandardDocumentationView::linkClicked signal is never emitted. I don't understand how PageInterceptor was intended to work.
  3. Some lines of code in documentation plugins were simply removed in a recent KDevelop commit. At least some of those changes cause regressions as well.

By the way, is building with QtWebKit supported if there are both QtWebKit and QtWebEngine installed? I had to change CMakeLits.txt to force-use QtWebKit:

-find_package(Qt5WebEngineWidgets)
-if(TARGET Qt5::WebEngineWidgets)
+#find_package(Qt5WebEngineWidgets)
+if(0)
kfunk added a comment.Mar 22 2017, 4:02 PM

By the way, is building with QtWebKit supported if there are both QtWebKit and QtWebEngine installed? I had to change CMakeLits.txt to force-use QtWebKit:

-find_package(Qt5WebEngineWidgets)
-if(TARGET Qt5::WebEngineWidgets)
+#find_package(Qt5WebEngineWidgets)
+if(0)

I think that's intended, if both are available we should prefer QtWebEngine. This is the officially supported web module in Qt nowadays.

kfunk added a reviewer: apol.Mar 22 2017, 4:02 PM
This revision was automatically updated to reflect the committed changes.
apol edited edge metadata.Mar 24 2017, 6:22 PM

Thanks!