[WebKit-devel] Flash workaround

Michael Howell mhowell123 at gmail.com
Sun Mar 15 20:19:14 CET 2009


On Sunday 15 March 2009 12:14:08 Jakub Stachowski wrote:
> Dnia Sunday 15 March 2009, Michael Howell napisał:
> > On Saturday 14 March 2009 16:21:33 Jakub Stachowski wrote:
> > > 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.
> >
> > No. If you return 0 QtWebKit won't try it's built-in support. It'll
> > simply fail. I've tried.
> >
> > If this has changed recently, then it can be removed.
>
> I'm using 4.5.0 release from OpenSuse package and yes, returning 0 makes
> QtWebKit load flash using internal support.
>
> Unfortunately it crashes later when leaving the page (flash calling
> XtRemoreTimeout, which is at least weird in gtk2-based plugin).
>
> So we have 3 options (QWebView workaround, returning 0 and nspluginviewer)
> and none of them fully works :-(
>
> On the other hand I think KNetworkReply fix for redirects is useful anyway.
> Should I commit it (without removing QWebView hack) ?
It looks fine to me.

-- 
Michael Howell
mhowell123 at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/webkit-devel/attachments/20090315/d5c5fe9a/attachment.sig 


More information about the WebKit-devel mailing list