[WebKit-devel] Love for Konqueror

David Faure faure at kde.org
Sun Feb 28 01:47:43 UTC 2016


On Monday 07 September 2015 19:04:17 Thiago Macieira wrote:
> On Sunday 06 September 2015 12:27:50 David Faure wrote:
> > It's ironic that Qt uses JIRA and konq+kwebkit can't display JIRA...
> > https://bugreports.qt.io/secure/Dashboard.jspa is empty after login, menus
> > don't open, etc.
> 
> Works in rekonq, using the same engine.
 
... and it fails in the Qt fancybrowser example, using the same engine.

Thanks Thiago, based on that info I finally took the time to debug the difference
between these 3 browsers all built on top of QWebKit, and after a long debugging
session, I found it!

This line is necessary to make the JIRA dashboard work in QtWebkit based browsers:

QWebSettings::globalSettings()->setAttribute(QWebSettings::LocalStorageEnabled, true);

* The basic Qt example doesn't enable that so it fails there.
* rekonq enables it so it works.
* kwebkitpart aimed at enabling it, but was doing things in the wrong order so it would in fact
disable it based on a bool variable being false, then read some config and set the bool variable to true,
too late.
http://commits.kde.org/kwebkitpart/8e555e8eed9f71bc943eb14c54cb27f2d6fc8433

In fact the KConfig handling in kwebkitpart is rather horrible ;)
- khtmlrc vs KGlobal::config() vs kwebkitpartc config files
- many members (like m_enableLocalStorage) not being initialized
- setAttribute(LocalStorageEnabled) and others like it being called twice because in the wrong part of the code.
I don't get why it's not moved right into initWebKitSettings(), which would have avoided this issue, and would
remove the need for the bool variable...

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5



More information about the WebKit-devel mailing list