[WebKit-devel] Flash workaround

Jakub Stachowski qbast at go2.pl
Sun Mar 15 00:21:33 CET 2009


Dnia Saturday 14 March 2009, Michael Howell napisał:
> On Saturday 14 March 2009 14:10:31 Jakub Stachowski wrote:
> > Dnia Saturday 14 March 2009, Michael Howell napisał:
> > > On Saturday 14 March 2009 11:34:08 Jakub Stachowski wrote:
> > > > Hello,
> > > >
> > > > Currently plugin factory contains workaround for flash (returning
> > > > QWebView instead of 0). What bug does it exactly works around?
> > > > If it is video player embedded from youtube showing just controls but
> > > > no video (testcase:
> > > > http://www.webscription.net/s-108-david-weber.aspx ) then attached
> > > > patch contains alternative solution.
> > > > The problem is that QNetworkManager (and maybe flash plugin) expects
> > > > to handle redirects itself, but KIO internally fetches destination
> > > > URL instead. The patch makes KNetworkReply emit finish()  and kill
> > > > the KIO job upon redirect.
> > >
> > > QtWebKit tries to use KWebPluginFactory for _all_ plug-in requests,
> > > even if the actual plug-in was not advertised by KWebPluginFactory, but
> > > is supposed to be used internally by QtWebKit's built-in Flash support.
> > >
> > > I wish I knew how to pass the options to the new QWebView, which would
> > > fix YouTube.
> >
> > OK, but why not simply return 0? In this case QtWebKit tries built-in
> > support for netscape plugins. It makes webkitkde more crashy, but then
> > again even with QWebView workaround it crashes whenever it likes.
> > I know that QWebView is workaround but what is actual bug being worked
> > around? Crashing? Not showing movie on youtube? Something else?
> >
> > Even nspluginviewer crashes with webkitkde :-(
>
> QtWebKit tries to use KWebPluginFactory for all plug-ins, even if it's
> actually the built-in Flash support that provides the plug-in.

I'm missing something here. If you remove nspluginviewer from list of 
embeddable components for application/x-shockwave-flash  then 
createPartInstanceFromQuery will return 0. At this point 
KWebPluginFactory::create could just return 0 and QtWebKit try its embedded 
support (see FrameLoaderClientQt::createPlugin - first it tries plugin factory 
and if it returns 0 then it tries built-in support), but instead it does hack 
with QWebView. I still don't understand, what it is supposed to work around.

About my 'nspluginviewer' comment: Maksim managed to fix that 'white 
rectangle' bug so I decided to go with it instead of QtWebKit built-in 
support. Unfortunately nspluginviewer crashes too - somewhere deep in gtk or 
glib.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/webkit-devel/attachments/20090315/a049e373/attachment.htm 


More information about the WebKit-devel mailing list