kdewebkit moved to kdereview

Dawit A. adawit at kde.org
Sun Oct 25 23:44:07 GMT 2009


On Sunday 25 October 2009 18:57:49 Sebastian Kügler wrote:
> On Sunday 25 October 2009 22:40:47 Urs Wolfer wrote:
> >   On Sunday 25 October 2009 22:05:08 Sebastian Kügler wrote:
> > > On Sunday 25 October 2009 20:02:51 Urs Wolfer wrote:
> > > > I have just moved the kdewebkit lib from
> > > >  playground/libs/webkitkde/kdewebkit  into kdereview. It's the KDE
> > > >  integration part of QtWebKit which is used directly in many apps and
> > > > libs already (...which does not include the WebKit KPart). Any KDE
> > > > app is supposed to move to this integration lib when it is in kdelibs
> > > > (plans are to move it to kdelibs/kdewebkit).
> > >
> > > Could you briefly explain what features this brings? That might make it
> > >  easier for people to understand why it's needed ...
> >
> > Sure. The main point is for sure the integration of KIO. Without
> >  kdewebkit,  any app which is using QWeb* classes does network
> > interactions without KDE technologies. Other points are for example:
> > * using KDE icons in context menu
> > * using KDE plugins (for example nsplugins flash)
> > * KDE dialogs for javascript dialogs (alert, file picker, ..)
> 
> Great stuff. :) One thing I've been asking myself is if it all works in the
>  same way for QGraphicsWebView (the canvas based QGraphicsWidget). Are you
>  planning to add password saving / kwallet integration as well?

Yes, that is planned ones Qt 4.6...

Since this is hackers/coders mailing list, here is a simple example that 
attempts to make Urs' explanation above crystal clear. Without kdewebkit here 
is what you would have to do to integrate QtWebKit components with KDE:

QWebView *view = new QWebView(parent);

// KIO integration... 
KIO::Integration::AccessManager *mgr = new 
KIO::Integration::AccessManager(view);

// CookieJar integration...
KIO::Integration::CookieJar *cookiejar = new KIO::Integration::CookieJar;
mgr->setCookieJar(cookieJar);

// KDE kparts integration for handling html tags such as <embed>.
KWebPluginFactory *factory = new KWebPluginFactory(this);

view->page()->setNetworkAccessManager(mgr);
view->page()->setPluginFactory(factory);

With kdewebkit all the above stuff becomes...

KWebView *view = new KWebView(parent);

In addition you get features such as KDE dialog integration for prompts for 
free which you would otherwise have to implement yourself.




More information about the kde-core-devel mailing list