[webkit-dev] Proof of Concept: NPAPI plugins in Qt/Windows

Justin Haygood jhaygood at reaktix.com
Thu Nov 8 08:53:30 PST 2007


  From: Kevin Ollivier 
  Sent: Thursday, November 08, 2007 11:48 AM
  To: Justin Haygood 
  Cc: webkit-dev at lists.webkit.org 
  Subject: Re: [webkit-dev] Proof of Concept: NPAPI plugins in Qt/Windows


  Hi Justin, 


  On Nov 8, 2007, at 7:35 AM, Justin Haygood wrote:


    http://blog.justinhaygood.com/2007/11/07/youtube-in-qt-webkit-windows-only/
     
    For more information, see the above blog post.
     
    Basically, it does it by  (in a semi-clean way) utiziling the existing code for Windows plugins, which makes this method Windows specific. The requisite patch patches some other parts of the codebase for it to work as well, but for the most part. It actually works, as long you can see from the screenshot J. It needs work, but it’s a good proof of concept that it will work.


  Thanks for your work on this! :-) I think this approach would likely work for the wx port too, and I think in general it'd be useful to the project as a whole if we could split the plugin code into platform specific bits, and also the core code for Win/Mac/GTK (or X11?) like this, as obviously the plugins themselves are passing around native data structures rather than the ones the ports use. This way all the ports can share the core engine code and only have to implement the front end and do any necessary data type conversions, etc. 


  BTW, one thing I noticed about your patch - it seems to remove and then re-add FrameLoaderQt.cpp (or else, whitespace or something else changed throughout the entire file). Was this intentional?


  Regards,


  Kevin   

No, it was not intentional. FrameLoaderQt.cpp does have some changes in it, mainly the code for creating the plugin. This approach should work on any "Windows" port of WebKit. The one file that should be abstracted better is "PluginViewWin.cpp". I had to hack in support for Qt in quite a few places that would not be necessary if it got the Windows specific handles for things in an abstracted way (probably via inline functions). I might investigate doing that today.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.webkit.org/pipermail/webkit-dev/attachments/20071108/0e57eab5/attachment.html


More information about the webkit-dev mailing list