RFC --- new scripting extension sketches.

Maksim Orlovich mo85 at cornell.edu
Mon May 31 18:33:45 BST 2010


> 2010/5/22 Maksim Orlovich <mo85 at cornell.edu>:
>>> I am now working to get at least the window.location.href sequence
>>> working. Until now, the deserializing from a dbusvariant to an object
>>> fails.
>>
>> I didn't provide marshallers for Object and FunctionRef due to the
>> pointers, as it's not clear what the right thing for them is.
>
> For kmplayer concerns, just remove the dbus marshallers. I don't need
> them.

To make clear, that applies to all marshallers, right?

OK, and I think I won't need them for nspluginviewer either, it seems ---
I think I will not use DBus for this at all due to the threading
brokeness, but rather just a local socket, as it should be easier to get
simple blocking behavior out of that.

> I don't recall where, but I understood from the QDbusFoo docu that
> incoming dbus calls (from plugin to part) don't auto  marshal complex
> types. So the dbus decls are only useful in the other direction.
>

>> 1) Return values (including from enclosingObject/rootObject) are always
>> ref'd by the producer
>> 2) Arguments are to be guaranteed to live for the duration of the call,
>> and the callee only ref's if it retains them
>
> That is what I proposed too. Currently however for 1), khtml calls
> acquire on the returned value of 'rootObject', which it shouldn't
> then, no? (Could be an unnecessary acquire/release pair caused by the
> extra storage, which in this case, is pretty expensive)

Yeah. That's fixed in my work tree, though there are some things to work
out still. I've made some mistakes when writing the code first which will
take some work to cleanup.


> Thanks, your work is really appreciated.
> I now have get/call to plugin also working, so youtube works with new
> API. I haven't implemented the release/acquire though. Have pushed it
> to kde svn, if you want to try, let the debug output not scare you :)


I needed to do this:
--- src/kmplayerprocess.cpp     (revision 1132909)
+++ src/kmplayerprocess.cpp     (working copy)
@@ -66,7 +66,7 @@
 # else
 #  include "knpplayer-liveconnect.h"
 # endif
-# include "callbackadaptor.h"
+# include "scriptableadaptor.h"
 # include "streamadaptor.h"
 #endif


.. but I am mostly wondering about how much I should expect to work with
this? I would like to test w/it when I am done adjusting KHTML...

> The other day I remembered that in order to get kmplayer play flash,
> one has to edit kmplayerrc:
>
> [application/x-shockwave-flash]
> player=npp
> plugin=/home/koos/.mozilla/plugins/libflashplayer.so

Cool, thanks.






More information about the kfm-devel mailing list