Browser Plugin?

Sounds like more awesomeness is coming!

A web plugin? That would be so awesome :slight_smile:
For which browsers is this targeted? I can’t seem to compile it for Linux at all.

I can’t do anything without being immediately outed these days. :slight_smile:

We’ll be targeting all major browsers: IE, Firefox, Safari, Chrome, etc. At the moment the code in the tree is still very much a work-in-progress, and my initial development is so far Windows only (but it will soon get ported to OS X and Linux).

This browser-plugin effort has been decreed to be my number one priority, so hopefully things should happen on it pretty quickly; probably just a number of weeks till completion.


do I seem too obvious if I say I JUST CAN’T WAIT???

Wow, this is amazing.

We could have a dedicated website with all the different projects that people are working on.

Can’t wait.

Probly WebKit?

What does this have to do with WebKit?

Common sense tells me that if browser pluding, then WebKit. It’s powerful and fast. That’s all.

My understanding is that WebKit is to make a browser, not embed in a browser. My understanding of WebKit isn’t terribly in-depth though.

jhocking is correct. WebKit is an application framework for building a browser, just like Panda3D is an application framework for 3D applications. Other browser frameworks is the Gecko is another famous browser framework that is used for Firefox.


I couldn’t resist trying to get it running.
So, after adding the necessary build commands to makepanda, I got firefox to recognize the plugin correctly. However, I’m still running into an error:
This is my HTML code:

<object type="application/x-panda3d" data="asteroids.p3d" width="400" height="300">

I verified that asteroids.p3d indeed exists. Is this the right way to use it?

PS. there were a few issues while compiling the stuff.
(1) is_pathsep is defined both in mkdir_complete.cxx and load_plugin.cxx, resulting in a compile error when compiling the stuff together into a plugin_common.
(2) The nppanda3d.rc file references a resource.h file which does not exist - I had to remove the include line.

Hmm, that is indeed the correct way to use it. Something subtle must have gone wrong; it’s not obvious what.

(1) Fixed.

(2) Hmm, I seem to remember I was getting compilation errors without it. The file itself is a system file, I believe. I’ll have to investigate more closely when I return to my Windows box.


Thanks. I’ll investigate more closely.

Nah, resource.h is a VC++ generated file. Look at pandatool/src/maxegg/maxEgg.rc - it includes a maxResource.h file, which just defines a couple of stuff that is used in maxEgg.rc.

I was able to compile the nppanda3d.rc file fine after uncommenting the resource.h include line.

Ah, you’re right. I was thinking of the #include <Carbon.h> in the similar Mac OSX resource file. In the Windows case, the include file is completely unnecessary. Removed.


What are the necessary build commands that I need to call makepanda with to get the plugin recognised by Firefox on Windows?

Oh, it was a lot more than just a few build commands. I checked them into CVS though, and if you compile with makepanda while having the npapi and tinyxml thirdparty packages, it will pickup the plugin too.
E-mail me if you want those thirdparty packages for windows.

If you use the ppremake build system, though, it’s a bit easier to compile everything, just define HAVE_P3D_PLUGIN in your Config.pp and also the location to npapi (located in xulrunner SDK) and tinyxml.